形式语言与自动机-2015-第04讲-有穷自动机(2).pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《形式语言与自动机-2015-第04讲-有穷自动机(2).pptx》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 2015 04 有穷
- 资源描述:
-
1、形式语言与自动机形式语言与自动机Formal Languages and Automata Theory教师教师:胡:胡春明、赵永春明、赵永望、邓婷望、邓婷第三章第三章 有穷自动机有穷自动机第三章第三章 有穷状态自动机有穷状态自动机一、有穷状态自动机一、有穷状态自动机 FA FA 定义与表示定义与表示二、确定的有穷自动机二、确定的有穷自动机 DFADFA三、非确定的有穷自动机三、非确定的有穷自动机 NFANFA四、四、DFA DFA 和和 NFA NFA 的等价性的等价性五、带空移动的有穷自动机五、带空移动的有穷自动机- NFA- NFA六、六、FA FA 是正则语言的识别器是正则语言的识别器
2、 七、七、FA FA 的变形的变形 - - 带输出的带输出的 FAFA第第一一次课次课第二第二次课次课例例 3:求接受语言求接受语言 L(M)= x | x 0,1 *,且,且 x 含有子串含有子串 00 或或 11 的的 FA。三、非确定有穷自动机三、非确定有穷自动机 NFANFA例例 3:求接受语言求接受语言 L(M)= x | x 0,1 *,且,且 x 含有子串含有子串 00 或或 11 的的 FA。状态表状态表状态图状态图三、非确定有穷自动机三、非确定有穷自动机 NFANFA3、此时的、此时的N FA 程序应视为程序应视为拥有拥有“智能智能” ,亦即,在一给定,亦即,在一给定状态下,
3、它可根据当前从输入字符串读入的字符自动到状态下,它可根据当前从输入字符串读入的字符自动到( q, a ) 的转移状态的转移状态集合集合中选择进入一个正确的状态。中选择进入一个正确的状态。非确定有穷自动机非确定有穷自动机 NFANFA非确定有穷自动机非确定有穷自动机 NFANFA几个相关的基本概念:几个相关的基本概念:1、引入基于字符串的状态转移函数、引入基于字符串的状态转移函数;2、 NFA 接受句子及语言的条件接受句子及语言的条件3、两个、两个 NFA 的等价的等价非确定有穷自动机非确定有穷自动机 NFANFA非确定有穷自动机非确定有穷自动机 NFANFA非确定有穷自动机非确定有穷自动机 N
4、FANFA定义定义 3-8 的补充:的补充: 状态转移函数状态转移函数扩展为扩展为 对于任意的对于任意的 q Q, w , a ,有:,有:( q, wa ) = ( ( q, w ), a ) =( ( q, a1 a2 a3 an),), a ) = ( ( ( q, a1 ), a2 ), an ), a ) 非确定有穷自动机非确定有穷自动机 NFANFA说明说明 1 1:NFA NFA 从状态从状态 q q 出发处理字符串出发处理字符串 wa 状态转移过程:状态转移过程:说明说明 2:由于由于 Q是是 Q* 的真子集;对于任意的的真子集;对于任意的 q Q,a ,有,有 ( q,a )
5、 = ( q,a ) 是单位元素是单位元素 = pr ( q,),使得,使得 p ( r, a ) 由定义第由定义第 2 条条 = pr q ,使得,使得 p ( r, a ) 由定义第由定义第 1 条条 = pp ( q,a ) q 是是 r 的唯一值的唯一值 =( q,a ) 非确定有穷自动机非确定有穷自动机 NFANFA可见,状态转移函数可见,状态转移函数 可涵盖可涵盖 描述函数,故应用中不必区分描述函数,故应用中不必区分和和 ,通常一般性地用通常一般性地用代替代替 。说明说明 3 3:为了叙述方便,为了叙述方便,还可还可进一步扩展进一步扩展 NFA NFA 状态转移状态转移函数函数的的
6、定义域:定义域:q q非确定有穷自动机非确定有穷自动机 NFANFA函数函数 : ( Q) * ( Q ) = 2Q 定义如下定义如下: (1) ( q, ) = q (2) ( q, wa ) = pr ( q,w ),使得,使得 p ( r, a ) q Q3) ( P,w ) = ( q,w ) P Q4) ( q , w ) = ( q, w ) = ( q, w ) 非确定有穷自动机非确定有穷自动机 NFANFA状态转移函数状态转移函数 定义内涵小结:定义内涵小结: qqqP几个相关的基本概念:几个相关的基本概念:1、基于字符串的状态转移函数、基于字符串的状态转移函数;2、 NFA
7、接受句子及语言的条件接受句子及语言的条件3、两个、两个 NFA 的等价的等价非确定有穷自动机非确定有穷自动机 NFANFA非确定有穷自动机非确定有穷自动机 NFANFA几个相关的基本概念:几个相关的基本概念:1、基于字符串的状态转移函数、基于字符串的状态转移函数;2、 NFA 接受句子及语言条件接受句子及语言条件3、两个、两个 NFA 的等价的等价非确定有穷自动机非确定有穷自动机 NFANFA定义定义 3-10:设设 M1,M2 是是 FA。如果。如果 L(M1)= L(M2),则),则称称 M1 与与 M2 等价。等价。非确定有穷自动机非确定有穷自动机 NFANFA非确定有穷自动机非确定有穷
8、自动机 NFANFA文法、自动机部分作业文法、自动机部分作业v1 1、DFA、NFA、- NFA :教材第三章习题教材第三章习题 2 2(3,5,7,113,5,7,11),10(2,5),11(2), 14(5), 15(2)( 第二版第二版P126 P128,第三版,第三版P101-107 )教材第三章习题教材第三章习题 20, 22(2)( P129 )下周内交下周内交课代表,交新主楼课代表,交新主楼G1119DFA 与与 NFA 等价:等价:1 1、二者均是、二者均是正则语言正则语言识别模型,用于识别正则语言。识别模型,用于识别正则语言。2 2、对于任意给定的、对于任意给定的 DFAD
9、FA,肯定存在一个,肯定存在一个 NFA NFA 与之等价。与之等价。3 3、需证:对于任意给定的、需证:对于任意给定的 NFANFA,存在一个,存在一个 DFA DFA 与之等价。与之等价。四、四、DFA 与与 NFA 的等价性的等价性证明思路:证明思路: 1、构造与、构造与 NFA M1 = 相应的相应的 DFA M2 = 2、证明对任意输入字符串、证明对任意输入字符串 x,有,有 2 ( q0, x ) = 1 ( q0, x ); 3、证明、证明 L(M1)= L(M2)成立。)成立。DFA 与与 NFA 的等价性的等价性定理定理 3-1: 对任一对任一 NFA,都存在一个,都存在一个
10、 DFA 与其等价。与其等价。 1、M1 的初始状态的初始状态 q0 对应到对应到 M2 的的 q0 = q0 ;2、如果、如果 NFA M1 当前的一个状态组当前的一个状态组 q1, q2, , qn ,读入字符,读入字符 a 后,后, 进入进入状态组状态组 p1, p2, , pm ,则相应的,则相应的 DFA 在综合状态在综合状态 q1, q2, , qn 下,读入下,读入字符字符 a 后,进入新的综合状态后,进入新的综合状态 p1, p2, , pm 。3、如果、如果 NFA 接受某输入串接受某输入串 x,满足,满足 (1 ( q0, x ) F1 ),则,则 NFA M1终止终止状态
11、组状态组 p1, p2, , pn 相应的状态相应的状态 p1, p2, , pn 应为应为 DFA 的终止状态,的终止状态,即有,即有, p1, p2, , pn F2。 NFA/DFA 模型区别:模型区别: 2:给定给定 NFA M1 = , 构造构造 DFA M2 = ,并在二者之间建立对应关系如下。,并在二者之间建立对应关系如下。DFA 与与 NFA 的等价性的等价性1:对于对于 NFA 任一时刻同时转向多个状态任一时刻同时转向多个状态 p1, p2, , pm ; DFA 可将这些状可将这些状态汇集在一起,将其态汇集在一起,将其“总效果总效果”视为自己的一个视为自己的一个“综合状态综
12、合状态” p1, p2, , pm 形式化证明形式化证明 - 步骤步骤 1:构造:构造设设 NFA M1= ,取,取 DFA M2 = ,其中,其中, 1)Q2 = ( Q1 ) ; 2)F2 = p1, p2, , pm | p1, p2, , pm Q1 且且 p1, p2, , pm F1 ; 3)对)对 q1, q2, , qn Q1,a , 2( q1, q2, , qn ), a)= p1, p2, , pm 1( q1, q2, , qn ), a)= p1, p2, , pm DFA 与与 NFA 的等价性的等价性2、设、设 | x | = n 时,结论成立,求证时,结论成立,
13、求证 | x | = n + 1 时,结论也成立。时,结论也成立。 设设 x = w a,其中,其中, | w | = n, a 。 由由 NFA 定义,定义,1 ( q0, w a ) = 1 ( 1 ( q0, w ), a ) = 1( q1, q2, , qn , a ) = p1, p2, , pm 由归纳假设由归纳假设 1 ( q0, w ) = q1, q2, , qn 2 ( q0 , w ) = q1, q2, , qn 由由2 构造定义构造定义 2( q1, q2, , qn , a)= p1, p2, , pm 1( q1, q2, , qn , a)= p1, p2,
14、, pm 所以有,所以有, 2 ( q0 , w a ) = 2 ( 2 ( q0 , w ), a ) = 2( q1, q2, , qn ,a )= p1, p2, , pm 结论成立;得证。结论成立;得证。 步骤步骤 2:判断状态转移:判断状态转移设设 x *,施归纳于,施归纳于 | x | : 1、当、当 x =, 有有1 ( q0 , ) = q0 ,2 ( q0 , ) = q0 ,结论成立,结论成立 ;DFA 与与 NFA 的等价性的等价性步骤步骤 3:判断对字符串的接受条件:判断对字符串的接受条件设设 x L(M1),), 有有1 ( q0, x ) = p1, p2, , p
15、m 并且并且 1 ( q0, x ) F1 亦即,亦即, p1, p2, , pm F1 由由 M2 中中 F2 定义:定义: p1, p2, , pm F2证明步骤证明步骤 2 可知可知: 2 ( q0, x ) = p1, p2, , pm ,故有,故有 x L ( M2)所以,有:所以,有: L(M1) L(M2)反之可推得:反之可推得: L(M2) L(M1)从而,有从而,有 L(M1)= L(M2) 综上综上1) 2) 3), 定理得证定理得证DFA 与与 NFA 的等价性的等价性DFA 与与 NFA 的等价性的等价性构造与构造与 NFA 等价的等价的 DFA 算法:算法:a)将)将
16、 NFA 的始态集的始态集 q0 作为作为 DFA 的始态的始态 q0 加入到状态表的状态列加入到状态表的状态列b)如果状态表的状态列中还有未被处理的状态,则任选其中的一个状态)如果状态表的状态列中还有未被处理的状态,则任选其中的一个状态 q1, q2, , qn ,对所有输入字符,对所有输入字符 a ,计算,计算2( q1, q2, , qn , a)的)的转移状态转移状态 p1, p2, , pm ,并将其填入状态表输入字符列对应的表项中,并将其填入状态表输入字符列对应的表项中c)如果计算)如果计算2( q1, q2, , qn , a)新获得的转移状态)新获得的转移状态 p1, p2,
17、, pm 从从未在状态列中出现过,则将其填入状态列中;未在状态列中出现过,则将其填入状态列中;d)重复执行)重复执行 b) 和和 c),直到状态表的状态列中状态全部处理完毕为止。,直到状态表的状态列中状态全部处理完毕为止。状状 态态 表表 例例状态列状态列输入字符列输入字符列01q0 q0, q1 q0, q2 DFA 与与 NFA 的等价性的等价性例:构造如图所示的例:构造如图所示的 NFA 等价的等价的 DFA。状态说明状态说明DFA 状态列状态列输入字符输入字符01开始状态开始状态 Pq0 q0, q1 q0, q2 中间状态中间状态 P q0, q1 q0, q1, q3 q0, q2
18、 中间状态中间状态 P q0, q2 q0, q1 q0, q2, q3 终止状态终止状态 P q0, q1, q3 q0, q1, q3 q0, q2, q3 终止状态终止状态 P q0, q2, q3 q0, q1, q3 q0, q2, q3 按算法建立状态表按算法建立状态表:DFA 与与 NFA 的等价性的等价性状态说明状态说明DFA 状态列状态列输入字符输入字符01开始状态开始状态 Pq0 q0, q1 q0, q2 中间状态中间状态 P q0, q1 q0, q1, q3 q0, q2 中间状态中间状态 P q0, q2 q0, q1 q0, q2, q3 终止状态终止状态 P q
19、0, q1, q3 q0, q1, q3 q0, q2, q3 终止状态终止状态 P q0, q2, q3 q0, q1, q3 q0, q2, q3 DFA 与与 NFA 的等价性的等价性习题:习题:p.128. 11 给定给定NFA构造等价的构造等价的DFA小结:小结:1、非、非确定型确定型有穷自动机有穷自动机 NFA 的一般概念:的一般概念: 自动机定义自动机定义 五元组:五元组: M = ; NFA 的状态转移函数的状态转移函数 可以不唯一;可以不唯一; NFA 接受语言条件;接受语言条件;NFA 的等价性。的等价性。2、NFA 与与 DFA 等价性的构造性证明方法:等价性的构造性证明
20、方法: 1)、给定)、给定 NFA,构造与其相关的,构造与其相关的 DFA M2 = 2)、证明对于同一输入字符串,二者状态转移相同;)、证明对于同一输入字符串,二者状态转移相同; 3)、)、证明二者识别的语言相同。证明二者识别的语言相同。3、由、由 NFA 构造构造 DFA 算法及其应用算法及其应用第三章第三章 有穷状态自动机有穷状态自动机一、有穷状态自动机一、有穷状态自动机 FA FA 定义与表示定义与表示二、确定的有穷自动机二、确定的有穷自动机 DFADFA三、非确定的有穷自动机三、非确定的有穷自动机 NFANFA四、四、DFA DFA 和和 NFA NFA 的等价性的等价性五、带空移动
21、的有穷自动机五、带空移动的有穷自动机- NFA- NFA六、六、FA FA 是正则语言的识别器是正则语言的识别器 七、七、FA FA 的变形的变形 - - 带输出的带输出的 FAFA五、带空移动的有穷自动机五、带空移动的有穷自动机- NFA五、带空移动的有穷自动机五、带空移动的有穷自动机- NFA定义定义 3-10: 带空移动的不确定有穷状态自动机带空移动的不确定有穷状态自动机- NFA M 是一个五元组:是一个五元组: M =(Q,q0,F ),其中,),其中,Q,q0,F 意义同意义同 FA;转移函数转移函数: Q ( ) 2Q :于:于 q Q, a , 1、( q, a ) = p1,
22、 p2, , pm 表示表示 M 在状态在状态 q 下,读入字符下,读入字符 a, 选择地选择地将状态变为将状态变为 p1, p2, , 或或 pm,并将读头向右移动一个方格,并将读头向右移动一个方格, 指向下一指向下一个输入字符,个输入字符, 称称 M 在状态在状态 q 做一个非空移动。做一个非空移动。2、( q, ) = p1, p2, , pm 表示表示 M 在状态在状态 q 下,不读入任何字符下,不读入任何字符, 可可选择地将状态变为选择地将状态变为 p1, p2, 或或 pm,称,称 M 在状态在状态 q 做一个空移动。做一个空移动。几个相关的基本概念:几个相关的基本概念:1、引入基
23、于字符串的状态转移函数、引入基于字符串的状态转移函数2、 NFA 接受句子及语言条件接受句子及语言条件带空移动的有穷自动机带空移动的有穷自动机- NFA 状态转移函数状态转移函数的推广:的推广: ( q, a ) ( q, w ) 定义定义 - NFM 的目的是为了用来识别语言的句子;的目的是为了用来识别语言的句子;因此,需要将状态转移函数因此,需要将状态转移函数的定义域从的定义域从 Q 推广推广到到Q*。带空移动的有穷自动机带空移动的有穷自动机- NFA带空移动的有穷自动机带空移动的有穷自动机- NFA定义定义 3-10 的补充:的补充:对于任意对于任意 P Q, q Q, a , w *,
24、 定义概念:定义概念: (1)- CLOSURE ( q ) = p | q 到到 p 有标记为有标记为的通路的通路 ; (2)- CLOSURE ( P ) = P Q : 扩展的定义域扩展的定义域( )p PCLOSURE p这里,这里,- CLOSURE ( q ) 是满足以下条件的最小集合,满足,是满足以下条件的最小集合,满足,1) ( q, ) - CLOSURE ( q ); 2)若)若 q - CLOSURE ( q ), 则则( q, ) - CLOSURE ( q )。带空移动的有穷自动机带空移动的有穷自动机- NFA定义定义 3-10 的补充:的补充:转移函数转移函数扩展为
25、扩展为 的递归定义:的递归定义: ( 1 ) ( q, ) = - CLOSURE ( q ); q 通过可达的状态集合 ( 2 ) ( q, wa ) =- CLOSURE ( P ) , 其中, P = pr ( q,w ),使得,使得 p ( r, a ) = =( )p PCLOSURE p)( ,( , )rqr a一个移动)一个移动)多个移动)多个移动)(基于字符的(基于字符的(基于字符串的(基于字符串的带空移动的带空移动的- NFA注:在注:在- NFA 中,中, ( q, ) ( q, ); ( q, a ) ( q, a ) 。几个相关的基本概念:几个相关的基本概念:1、基于
展开阅读全文