形式语言与自动机-2015-第08讲-正则语言的性质.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《形式语言与自动机-2015-第08讲-正则语言的性质.pptx》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式语言 自动机 2015 08 正则 语言 性质
- 资源描述:
-
1、形式语言与自动机形式语言与自动机Formal Languages and Automata Theory教师教师:胡:胡春明、赵永望春明、赵永望第五章第五章 正则语言的性质正则语言的性质 http:/ 正则语言的性质正则语言的性质正则语言的泵引理正则语言的泵引理正则语言运算的封闭性正则语言运算的封闭性自动机的极小化自动机的极小化正则语言的判定算法正则语言的判定算法*分析分析:1 1、识别、识别 RL RL 句子的句子的 DFA DFA 仅有有限个状态。仅有有限个状态。2 2、用、用 DFA M DFA M 接受无穷语言接受无穷语言 L L,L L 中一定存在一个足够长的句中一定存在一个足够长的
2、句子,使得子,使得 DFA DFA 在识别该句子时,需要重复地经过某些状态。在识别该句子时,需要重复地经过某些状态。DFA处理句子经历处理句子经历的状态序列的状态序列DFA处理句子经历处理句子经历的重复状态序列的重复状态序列正则语言的泵引理正则语言的泵引理正则语言的泵引理正则语言的泵引理1、假设、假设 L 是是 RL,DFA M = , 满足满足 L( M ) = L, M 具有有限个状态,即,具有有限个状态,即,| Q | = N,且,且 Q 中状态均为可达状态。中状态均为可达状态。2、取、取 L 中任意句子中任意句子 z = a1a2am ( m N ),并有,并有 qm F。3、由于、由
3、于 m N ,读字符的状态序列,读字符的状态序列 q0, q1, , qN 中至少有两个状态相同。中至少有两个状态相同。假设状态假设状态 qk = qj, 对于对于 k j N,有,有,( q0, a1a2ak ) = qk; ( qk, ak+1 ak+2aj ) = qj = qk; ( qj, aj+1aj+2am ) = qm 对于任意整数对于任意整数 i 0,可能有,可能有 ( qk, (ak+1ak+2aj )i ) =( q k, (ak+1ak+2aj )i-1 ) . =( qk, (ak+1ak+2aj ) = qk = qj 泵操作泵操作RL 特征的形式化描述:特征的形式
4、化描述:正则语言的泵引理正则语言的泵引理 对任意整数对任意整数 i 0, ( q0, a1a2ak( ak+1ak+2aj )iaj+1aj+2am ) = qmF亦有:亦有: a1a2ak(ak+1ak+2aj )iaj+1aj+2am L(M)设设 u = a1a2ak, v = ak+1ak+2aj, w = aj+1aj+2am; 对于任意整数对于任意整数 i 0,有:有: z = uviw L ; 由于由于 k j N,u, v 应满足条件:应满足条件: | u v | N, | v |1; z 仍然仍然是正则是正则语言语言 RL 的的句子句子。RL 特征的形式化描述:特征的形式化描
5、述:正则语言的泵引理正则语言的泵引理 定义定义5-1:泵引理:泵引理设设 L 为为 RL,存在仅依赖于语言,存在仅依赖于语言 L 的某个正整数的某个正整数 N,对于,对于 z L, 如果如果 | z | N,则存在,则存在 u, v, w,满足以下条件:,满足以下条件:1、z = uvw ;2、| uv | N; 3、| v | 1;4、对于任意整数对于任意整数 i 0,u v i w L。正则语言的泵引理正则语言的泵引理 泵引理应用:用反证法泵引理应用:用反证法证明给定语言证明给定语言 L 不是不是 RL。假设假设 L 是是 RL,L 应满足泵引理。构造某句子应满足泵引理。构造某句子 z =
6、 uvw L,在给定正在给定正整数整数 N 和某个和某个 i 的条件下,可证得句子的条件下,可证得句子z = u v i w 不符合语言不符合语言 L 中句中句子的结构特征子的结构特征,即有即有句子句子 z = u v i w 不不属于属于 RL L。由于由于 L 中存在句子中存在句子 z 的结构不满足泵引理的结构不满足泵引理 RL 关于关于 “ 对于任意整数对于任意整数 i 0,u v i w RL L”的描述条件,与假设的描述条件,与假设矛盾,矛盾,故故证得证得 L 不是不是 RL。正则语言的泵引理正则语言的泵引理例例1:证明语言:证明语言 L = 0n | n 为素数为素数 不是不是 R
7、L。证明:假设证明:假设 L = 0n | n 为素数为素数 是是 RL,其满足泵引理。设依赖于,其满足泵引理。设依赖于 L(M) 的正整数为的正整数为 N,L 中字符串中字符串 z = 0N+p,其中,其中,N + p 是素数。是素数。根据泵引理,必存在根据泵引理,必存在 u, v, w, 使得使得 z = uvw 且且 | v |1;这里,;这里,v 是是 0 组成的非组成的非空串,不妨设空串,不妨设 v = 0k, (k1),),w = 0j,u = 0N + p k j,从而有,从而有, u vi w = 0N + p k j (0k)i 0j = 0N + p + ( i -1 )
8、k, 取取 i = N + p + 1, N + p + ( i 1 ) k = N + p + ( N + p + 1 - 1) k = ( N + p ) + ( N + p ) k = ( N + p )( 1 + k ) 由于已知由于已知 k1, 因此,因此,( N + p )( 1 + k ) 不不总总是素数。是素数。所以,当所以,当 i = N + p + 1时,有字符串时,有字符串 z = uvN + p + 1w = 0( N + p )( 1 + k ) L,其,其与泵引理第四条矛盾,所以,与泵引理第四条矛盾,所以,L 不是不是 RL。 正则语言的泵引理正则语言的泵引理例例2
9、:证明语言:证明语言 L = 0n1n | n1 不是不是 RL。证明:假设证明:假设 L = 0n1n | n1 是是 RL,其应满足泵引理。设依赖于,其应满足泵引理。设依赖于 L( M ) 的的正整数为正整数为 N ,L 中有字符串为中有字符串为 z = 0N1N。根据泵引理,必存在根据泵引理,必存在 u, v, w, 构成句子构成句子 z = uvw,其中,其中 | uv | N,| v |1;这;这里,里,v 只能是由只能是由 0 组成的非空串。组成的非空串。不失一般性地可设,不失一般性地可设, v = 0k,(,(k 1),),w = 0j 1N, u = 0N k - j,从而有,
10、从而有, u vi w = 0N k - j (0k)i 0j 1N ,取取 i = 2 时,有时,有 u v2 w = 0N k - j (0k)2 0j 1N = 0N + k 1N由于已知由于已知 k 1, 有有 N N + k,于是有:于是有: 字符串字符串 z = 0N + k 1N L,与泵引理第四条矛盾,故,与泵引理第四条矛盾,故 L 不是不是 RL 正则语言的泵引理正则语言的泵引理正则语言的泵引理正则语言的泵引理1、泵引理给出关于、泵引理给出关于 RL 性质的条件是必要条件:若性质的条件是必要条件:若 L 是是 RL,其一定满足泵引理给出的其一定满足泵引理给出的 4 个条件。因
11、此,应用泵引理证明一个条件。因此,应用泵引理证明一个语言不是个语言不是 RL时,常用时,常用“反证法反证法” 。2、泵引理给出的、泵引理给出的 RL 性质的条件性质的条件不是充分条件不是充分条件;满足泵引理满足泵引理所给所给 4 个条件的语言个条件的语言不一定就是不一定就是 RL。因此,泵引理。因此,泵引理只能用于只能用于证明给定语言不是证明给定语言不是 RL;而不能证明给定语言是;而不能证明给定语言是 RL。说明:说明:正则语言的泵引理正则语言的泵引理1、给定一个、给定一个L,如何证明它不是,如何证明它不是RL。思考:思考:2、给定一个、给定一个L,如何证明它是,如何证明它是RL。正则语言的
12、泵引理正则语言的泵引理正则语言运算的封闭性正则语言运算的封闭性自动机的极小自动机的极小化化正则语言的判定算法正则语言的判定算法*第五章第五章 正则语言的性质正则语言的性质定义定义5-2:如果对某类语言进行某种运算后,所得的结果仍为该类语言的如果对某类语言进行某种运算后,所得的结果仍为该类语言的句子,则称该类语言对此运算是封闭的,或称该类语言对运算句子,则称该类语言对此运算是封闭的,或称该类语言对运算具有封闭性。具有封闭性。正则语言运算的封闭性正则语言运算的封闭性定义定义5-3:称某语言类对某运算满足有效封闭性,是指给定该类语言中任称某语言类对某运算满足有效封闭性,是指给定该类语言中任意两个语言
13、意两个语言 L1、L2 的形式化表示,对二语言进行运算后所得的形式化表示,对二语言进行运算后所得语言仍然具有形式化表示算法。语言仍然具有形式化表示算法。正则语言运算的封闭性正则语言运算的封闭性定理定理5-1:正则语言正则语言 RL RL 对对“并并”、“乘积乘积”和和“闭包闭包”运算封闭。运算封闭。定理定理5-2:正则语言正则语言 RL RL 对对“补补”运算封闭。运算封闭。定理定理5-3:正则语言正则语言 RL RL 对对“交交”运算封闭。运算封闭。正则语言运算的封闭性正则语言运算的封闭性定义定义4-1:设字母表为设字母表为 ,正则表达式递归定义如下:,正则表达式递归定义如下:正则语言运算的
14、封闭性正则语言运算的封闭性定理定理5-1:正则语言对正则语言对“并并”、“乘积乘积”和和“闭包闭包”运算封闭。运算封闭。正则语言运算的封闭性正则语言运算的封闭性对于对于 r = r1*,构造相应,构造相应-NFA对于对于 r = r1r2,构造相应,构造相应-NFA对于对于 r = r1 + r2,构造相应,构造相应-NFA定理定理5-25-2: 正则语言正则语言 RL RL 在在“补补” ” 运算下是封闭的。运算下是封闭的。证明:证明:设设 L 是是 上的上的 RL,则存在,则存在 DFA M = ,满足,满足 L(M)= L。取。取 DFA M = ,显然,对于任意字符串显然,对于任意字符
15、串 x *,有,有 ( q0, x ) = f F ( q0, x ) = f Q - F 即,即, x L(M) x L(M) 亦即,亦即, L(M) = * - L(M)。)。正则语言运算的封闭性正则语言运算的封闭性设设 L( r)= L(Mr),构造与),构造与 r 等价的等价的 FA Mr 算法:算法:Mr 的始态作为的始态作为 Mr 的始态;的始态; Mr 与与 Mr 的状态转移函数不变;的状态转移函数不变;将将 Mr 所有非终态所有非终态 ( 包括陷阱态包括陷阱态 qt ) 作为作为 Mr 的终态;的终态;将将 Mr 所有终态作为所有终态作为 Mr 的非终态。的非终态。正则语言运算
16、的封闭性正则语言运算的封闭性例例3:设表达式:设表达式 r = 00 *11* 等价等价 FA Mr 如图所示,求与如图所示,求与 r 等等价的价的 FA Mr 。q101110,100q1q2q3qtq101110,100p1p2p3p4正则语言运算的封闭性正则语言运算的封闭性定理定理5-3:正则语言正则语言 RL RL 在在“交交” ” 运算下是封闭的。运算下是封闭的。证明:证明:由由 De Morgan 定理:定理:r1r2 = ( r1 r2 ) 和和 定理定理 5-1、5-2 可证可证正则语言运算的封闭性正则语言运算的封闭性给定给定 r1, r2 等价的等价的 DFA M1 = ,D
17、FA M2 = ,构造,构造 DFA M,使得,使得 L( M ) = L( M1 ) L( M2 )。L( r1r2 ) 的的 DFA M 构造构造分析:分析:正则语言运算的封闭性正则语言运算的封闭性设设 L( M1 ) = L( r1 )、L( M2 ) = L( r2 ) ,构造接受,构造接受 L( r1r2 ) 的的 DFA M = 算法:算法:4、若、若 M1,M2 中含有中含有陷阱态陷阱态 qt ,对应有序偶为,对应有序偶为 M 的陷阱态的陷阱态 qt。 2、 M 的始态为的始态为 M1 和和 M2 始态有序偶;始态有序偶; M 的终态为的终态为 M1和和 M2 的终态的终态有序偶
18、;有序偶; 1、取、取 = 1 2 ;Q = Q1Q2;对;对 a ,q i Q1,q j Q2, 定义:定义: ( q i, q j , a ) = 1 ( q i, a ), 2 ( q j, a ) ;3、如果对于输入字符、如果对于输入字符 a,M1 和和 M2 中某一状态没有转移状态,则中某一状态没有转移状态,则 M 对应的有序偶转向陷阱态对应的有序偶转向陷阱态 qt;正则语言运算的封闭性正则语言运算的封闭性2、根据、根据 NFA 求求 DFA M 算法:算法: q1, q3 为始态;为始态; q2, q3 为终态。为终态。2、 M 的状态表。的状态表。 例例4:设:设 r1= 01*
19、 ,r2=(01)* ;求;求 r = r1r2 等价的等价的 DFA M。q3q401q2q110M1M23、 令令 DFA M 状态:状态: p1= q1, q3 -始态始态, p2 = q2, q4 p3 = q2, q3 -终态,终态,与与 r = 01*( 01)* 等价的等价的 DFA M:状态状态说明说明状态列状态列输入字符列输入字符列01始态始态 q1, q3 q2, q4 qt, qt q2, q4 qt, qt q2, q3 终态终态 q2, q3 qt, q4 q2, qt 解:解:1、与、与 r1 和和 r2 等价的等价的 FA M1 和和 M2 :p3p1p201r
20、= 01*( 01)* = 01正则代换(正则代换(Substitution):):正则语言运算的封闭性正则语言运算的封闭性同态映射(同态映射(Homomorphism):):商(商(quotient):):29正则语言的泵引理正则语言的泵引理正则语言运算的封闭性正则语言运算的封闭性自动机的极小自动机的极小化化正则语言的判定算法正则语言的判定算法*第五章第五章 正则语言性质正则语言性质自动机的极小化自动机的极小化问题的引出及问题的引出及 DFA 极小化思路极小化思路最简自动机求解的相关概念最简自动机求解的相关概念Myhill Nerode (米希尔(米希尔-尼罗德)定理尼罗德)定理自动机极小化
21、求解算法与求解实例自动机极小化求解算法与求解实例给定正则语言给定正则语言 L,描述,描述 L 的正则文法的正则文法 RG 和有穷自动机和有穷自动机 FA 的描述的描述本质相同:本质相同:给定正则语言给定正则语言 L,正则文法正则文法 G 或或 自动机自动机 DFA 均根据语言均根据语言的结构特征,的结构特征,对对 L 字母表的克林闭包字母表的克林闭包 * 中字符串进行中字符串进行等价划分(分类等价划分(分类 ),以求字符串的各个等价类,以求字符串的各个等价类 。 切入点:切入点:自动机极小化思路自动机极小化思路例:例:L = x000 | x 0,1* x001 | x 0,1 * set (
22、q0) = x | x *, x = 或者或者 x 以以 1 结尾但不以结尾但不以 001 结尾结尾 ;set (q1) = x | x *, x = 0 或者或者 x 以以 10 结尾结尾 set (q2) = x | x *, x = 00 或者或者 x 以以 100 结尾结尾 set (q3) = x | x *, x 以以 000 结尾结尾 set (q4) = x | x *, x 以以 001 结尾结尾 5 个集合两两互不相交;个集合两两互不相交;5 个集合的并构成个集合的并构成 M 识别输入字母表识别输入字母表 0,1 的的克林闭包;克林闭包;5 个集合是关于个集合是关于 0,
23、1 * 的一个等价划分。的一个等价划分。自动机极小化思路自动机极小化思路可知:可知:1)DFA M 的的每个可达状态存储一个输入字符子串的等价类,记为每个可达状态存储一个输入字符子串的等价类,记为 set ( q )自动机极小化思路自动机极小化思路3) DFA M 的极小化:求解将的极小化:求解将* 划分形成的等价类个数最少,划分形成的等价类个数最少,亦即,用于存储亦即,用于存储字符子串字符子串的状态数最少的自动机。的状态数最少的自动机。2)对于)对于同一正则语言同一正则语言 L,不同结构的自动机模型对不同结构的自动机模型对 * 进行的进行的等价等价划分不同,所得到字符子串的等价类也不尽相同划
24、分不同,所得到字符子串的等价类也不尽相同 。自动机极小化思路自动机极小化思路例:对于例:对于 正则语言正则语言 L = 0*10*,两种,两种不同结构不同结构 DFA 如图所示。如图所示。自动机的极小化自动机的极小化问题的引出及极小化思路问题的引出及极小化思路最简自动机求解的相关概念最简自动机求解的相关概念Myhill Nerode (米希尔(米希尔-尼罗德)定理尼罗德)定理自动机极小化求解算法与求解实例自动机极小化求解算法与求解实例最简自动机求解的相关概念最简自动机求解的相关概念1、 DFA M 对对 * 的等价划分的等价划分2、 语言语言 L 对对 * 的等价划分的等价划分3、 * 上上右
25、不变等价关系右不变等价关系4、 * 上的等价指数上的等价指数1、 DFA M 对对 * 的等价划分的等价划分回顾定义回顾定义 3-4 :设设 DFA M = ,对于,对于 q Q,定义引导,定义引导 M 从开始状态到达状态从开始状态到达状态 q 对应的输入字符串集合为:对应的输入字符串集合为:set ( q ) = x | x *, ( q0, x ) = q 最简自动机求解的相关概念最简自动机求解的相关概念定义定义 5-4:设设 DFA M = ,M 确定的确定的 * 上的关系上的关系 RM 定定义为:义为: 对于对于 x, y *,满足以下等式:,满足以下等式: x RM y ( q0,
展开阅读全文