正则语言的性质.ppt
《正则语言的性质.ppt》由会员分享,可在线阅读,更多相关《正则语言的性质.ppt(94页珍藏版)》请在三一办公上搜索。
1、1,形式语言与自动机,第5章 正则语言的性质,2,主要内容,正则语言(RL)的性质 泵引理及其应用 并、乘积、闭包、补、交正则代换、同态、逆同态的封闭性 从正则语言固有特征寻求表示的一致性Myhill-Nerode定理FA的极小化 正则语言的几个判定问题空否、有穷否、两个DFA等价否、成员关系,3,5.1 正则语言的泵引理,DFA在处理一个足够长的句子的过程中,必定会重复地经过某一个状态。换句话说,在 DFA 的状态转移图中,必定存在一条含有回路的从启动状态到某个终止状态的路。由于是回路,所以 DFA 可以根据实际需要沿着这个回路循环运行,相当于这个回路中弧上的标记构成的非空子串可以重复任意多
2、次。,4,泵引理,5,泵引理,M=(Q,q0,F)|Q|=N z=a1a2am,mN(q0,a1a2ah)=qh 状态序列 q0,q1,qN 中,至少有两个状态是相同:qk=qj(q0,a1a2ak)=qk(qk,ak+1aj)=qj=qk(qj,aj+1am)=qm 因此,可设 z=uvw,其中u=a1a2ak,v=ak+1aj,w=aj+1am,6,泵引理,对于任意的整数 i 0(qk,(ak+1aj)i)=(qk,(ak+1aj)i-1)=(qk,ak+1aj)=qk 故(q0,a1a2ak(ak+1aj)i aj+1am)=qm也就是说,a1a2ak(ak+1aj)i aj+1amL(
3、M)即 uviwL。,7,泵引理(pumping lemma),设 L 为一个 正则语言,则存在仅依赖于 L 的正整数 N,对于 zL,如果|z|N,则存在 u,v,w,满足(1)z=uvw;(2)|uv|N;(3)|v|1;(4)对于任意的整数 i 0,uviw L;(5)N 不大于接受 L 的最小 DFA M 的状态数。,我们总能够在离 z 的开始处不太远的地方找到一个非空的串 v,然后可以把它看作一个“泵”,重复 v 任意多次,或者去掉它,而所得到的结果串仍然属于L。,8,例5-1,证明 0n1n|n1 不是 RL。证明:假设 L=0n1n|n1是 RL。不妨设 N 是泵引理所指的仅依赖
4、于 L 的正整数,取 z=0N1N,则 z L。按照泵引理所述,存在 u,v,w,使得 z=uvw。由于|uv|N,|v|1,所以 v 只能由0组成,可设 v=0k,k1 此时有,u=0N-k-j,w=0j1N 从而有,uviw=0N-k-j(0k)i 0j1N=0N+(i-1)k1N 当 i=2 时,有:uv2w=0N+(2-1)k1N=0N+k1N注意到 k1,所以,N+kN。这就是说,0N+k1NL。这与泵引理矛盾。所以,L不是 RL。,9,例5-2,证明 0n|n 为素数 不是 RL。证明:假设 L=0n|n为素数 是 RL。取 z=0N+p L,N+p 是素数。不妨设 v=0k,k1
5、 从而有uviw=0N+p-k-j(0k)i0j=0N+p+(i-1)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+(N+p+1-1)k=(N+p)(1+k)不是素数。故当 i=N+p+1时,uvN+p+1w=0(N+p)(1+k)L这与泵引理矛盾。所以,L 不是 RL。,10,例5-3,证明 0n1m2n+m|m,n1 不是 RL。证明:假设 L=0n1m2n+m|m,n1 是 RL。取 z=0N1N22N 设 v=0kk1 从而有 uviw=0N-k-j(0k)i0j1N22N=0N+(i-1
6、)k1N22Nuv0w=0N+(0-1)k1N22N=0N-k1N22N 注意到 k1,N-k+N=2N-k2N0N-k1N22N L这个结论与泵引理矛盾。所以,L 不是 RL。,11,泵引理的说明,用来证明一个语言不是 RL不能用泵引理去证明一个语言是 RL。(1)由于泵引理给出的是 RL 的必要条件,所以,在用它证明一个语言不是 RL 时,我们使用反证法。(2)泵引理说的是对 RL 都成立的条件,而我们是要用它证明给定语言不是 RL,这就是说,相应语言的“仅仅依赖于L的正整数N”实际上是不存在的。所以,我们一定是无法给出一个具体的数的。因此,人们往往就用符号N 来表示这个“假定存在”、而实
7、际并不存在的数。(3)由于泵引理指出,如果 L 是 RL,则对任意的 zL,只要|z|N,一定会存在u,v,w,使 uviwL 对所有的 i 成立。因此,我们在选择 z 时,就需要注意到论证时的简洁和方便。,12,泵引理的说明,(4)当一个特意被选来用作“发现矛盾”的 z 确定以后,就必须依照|uv|N 和|v|1的要求,说明 v 不存在(对“存在u,v,w”的否定)。(5)与选 z 时类似,在寻找 i 时,我们也仅需要找到一个表明矛盾的“具体”值就可以了(对“所有 i”的否定)。(6)一般地,在证明一个语言不是 RL 的时候,我们并不使用泵引理的第(5)条。(7)事实上,引理所要求的|uv|
8、N 并不是必须的。这个限制为我们简化相应的证明提供了良好支撑扩充了的泵引理。(8)如果希望证明一个语言是 RL,最直接的办法是给出该语言的正则文法描述,或者是 FA,RE 描述。也可以直接使用一些已有的结果和RL的性质。,13,5.2 正则语言的封闭性,封闭性(closure property)如果任意的、属于同一语言类的语言在某一特定运算下所得的结果仍然是该类语言,则称该语言类对此运算是封闭的有效封闭性(valid closure property)给定一个语言类的若干个语言的描述,如果存在一个算法,它可以构造出这些语言在给定运算下所获得的运算结果的相应形式的语言描述,则称此语言类对相应的运
9、算是有效封闭的。本节讨论 RL 的封闭性RL 在哪些运算下是封闭的?,14,正则语言的封闭性,定理 5-1 RL 在并、乘积、闭包运算下是封闭的。根据 RE 的定义,立即可以得到此定理。定理 5-2 RL 在补运算下是封闭的。要点:原来接受的不接受,不接受的接受。证明:M=(Q,q0,F)L(M)=L,取 DFA M=(Q,q0,Q-F)显然,对于任意的 x*,(q0,x)=f F(q0,x)=f Q-F 即 xL(M)x L(M),L(M)=*-L(M)。所以,RL 在补运算下是封闭的。定理得到证明。,15,RL的交,定理 5-3 RL 在交运算下封闭。利用 M1M2=(M1M2)即可证明。
10、构造 M1=(Q1,1,q1,F1)和 M2=(Q2,2,q2,F2)的交DFA。,M=(Q1Q2,(q1,q2),F1F2)(p,q),a)=(1(p,a),2(q,a),16,RL的交,pr,1,1,S,0,qs,qr,1,0,1,ps,0,0,17,正则语言的封闭性,定理:如果 L 和 M 是正则语言,则 L-M 也是正则语言。证明:利用 L-M=L M。定理:如果 L 是正则语言,则 LR=x|xR L 也是正则语言。构造接受 LR 的有穷状态自动机:(1)把 M 的状态转移图中的所有有向边的指向逆转。(2)令 M 的初始状态为新的有穷自动机的唯一的接受状态。(3)增加一个状态 p0
11、为新的有穷自动机的初始状态,同时从该状态出发到 M 的所有接受状态都建立一个 转移。,18,问题,对字母表上的 RL L,令 DFA M=(Q,q,F)识别 L。对于任意(q,a)Q,设(q,a)=p,f(a)是上的一个RL,假定 DFA Ma=(Qa,a,q0a,Fa)识别 f(a)。下面构造 FA MRS,主框架是 M,而它的“分支子模块”是Ma。M 在状态 q 读入字符 a 时进入状态 p,让 MRS 在状态 q 作空移动到 Ma 的开始状态 q0a,并在 Ma 中处理 f(a),之后它一定处在 Ma 的某个终止状态。从 Ma 的每一个终止状态到 M 的状态 p 引一条标记为的弧,使 M
12、RS回到状态 p。如此下去,直到最后到达 M 的终止状态。可见,RL 在这种运算下也是封闭的。称这种运算为正则代换。,19,正则代换(regular substitution),设,是两个字母表,映射,称为是从 到 的代换。如果对于a,f(a)是上的 RL,则称 f 为正则代换。,将 f 的定义域扩展到*上:,(1)f()=;(2)f(xa)=f(x)f(a)。,将 f 的定义域扩展到,对于 L*,20,例5-4,设=0,1,=a,b,f(0)=a,f(1)=b*,则 f(010)=f(0)f(1)f(0)=ab*af(11,00)=f(11)f(00)=f(1)f(1)f(0)f(0)=b*
13、b*+aa=b*+aa,f(L(0*(0+1)1*)=L(a*(a+b*)(b*)*)=L(a*(a+b*)b*)=L(a*ab*+a*b*b*)=L(a*b*),21,正则代换,是正则代换,则(1)f()=;(2)f()=;(3)对于 a,f(a)是上的 RE;(4)如果 r,s 是上的 RE,则f(r+s)=f(r)+f(s)f(rs)=f(r)f(s)f(r*)=f(r)*是上的 RE。,设,是两个字母表,映射,22,定理5-4,定理 5-4 设 L 是上的一个 RL,,是正则代换,则 f(L)也是 RL。证明思路:使用 RE 进行定理证明。因为 L 是RL,则存在正则表达式 r,使得
14、L(r)=L。对 r 中运算符的个数 n 施以归纳,证明 f(r)是表示 f(L)的 RE。即证明:f(L(r)=L(f(r)当 n=0 时,结论成立。当 nk 时定理成立,即当 r 中运算符的个数不大于 k 时:f(L(r)=L(f(r)。当 n=k+1 时,分 3 种情况:(1)r=r1+r2(2)r=r1r2(3)r=r1*,23,定理5-4,(1)r=r1+r2。f(L)=f(L(r)=f(L(r1+r2)=f(L(r1)L(r2)RE 的定义=f(L(r1)f(L(r2)正则代换的定义=L(f(r1)L(f(r2)归纳假设=L(f(r1)+f(r2)RE 的定义=L(f(r1+r2)
15、RE 的正则代换的定义=L(f(r),24,定理5-4,(2)r=r1r2。f(L)=f(L(r)=f(L(r1r2)=f(L(r1)L(r2)RE 的定义=f(L(r1)f(L(r2)正则代换的定义=L(f(r1)L(f(r2)归纳假设=L(f(r1)f(r2)RE 的定义=L(f(r1r2)RE 的正则代换的定义=L(f(r),25,定理5-4,(3)r=r1*。f(L)=f(L(r)=f(L(r1*)=f(L(r1)*)RE 的定义=(f(L(r1)*正则代换的定义=(L(f(r1)*归纳假设=L(f(r1)*)RE 的定义=L(f(r1*)RE 的正则代换的定义=L(f(r),26,例
16、5-5,设=0,1,2,=a,b,正则代换 f 定义为:f(0)=ab;f(1)=b*a*;f(2)=a*(a+b)则:(1)f(00)=abab;(2)f(010)=abb*a*ab=ab+a+b;(3)f(0+1+2)*)=(ab+b*a*+a*(a+b)*=(b*a*+a*(a+b)*=(a+b)*;(4)f(0(0+1+2)*)=ab(ab+b*a*+a*(a+b)*=ab(a+b)*;(5)f(012)=abb*a*a*(a+b)=ab+a*(a+b);(6)f(0+1)*)=(ab+b*a*)*=(ab+b+a+b*a*)*=(a+b)*。,27,同态映射(homomorphism
17、),设,是两个字母表,,f 为映射,如果对于 x,y*,f(xy)=f(x)f(y)则称 f 为从 到*的同态映射。,28,同态映射,对于L*,L 的同态像,对于w*,w 的同态原像是一个集合,对于 L*,L 的同态原像是一个集合,29,例5-6,设=0,1,=a,b,同态映射 f 定义为 f(0)=aa,f(1)=aba(1)f(01)=aaaba;(2)f(01)*)=(aaaba)*;(3)f-1(aab)=;(4)f-1(aa)=0;(5)f-1(aaa,aba,abaaaaa,abaaaaaa)=1,100;(6)f-1(ab+ba)*a)=1;(7)f(f-1(ab+ba)*a)=
18、f(1)=aba。令 L=(ab+ba)*a,上述(7)表明,f(f-1(L)L。可以证明 f(f-1(L)L,30,RL的同态像是RL,推论5-1 RL 的同态像是 RL。注意到同态映射是正则代换的特例,可以直接得到此结论。该定理表明,RL 在同态映射下是封闭的。定理 5-5 RL 的同态原像是 RL。,31,RL 的同态原像是 RL,定理 5-5 RL 的同态原像是 RL。证明思路:使用 DFA 作为描述工具。接受 RL 的同态原像的 FA 的构造思想。让新构造出的 FA M 用一个移动去模拟 M 处理 f(a)所用的一系列移动。对于中的任意字符 a,如果 M 从状态 q 开始处理 f(a
19、),并且当它处理完 f(a)时到达状态 p,则让 M 在状态 q 读入 a 时,将状态变成 p。M 具有与 M 相同的状态,并且,在 M 对应的状态转移图中,从状态 q 到状态 p 有一条标记为 a 的弧当且仅当在M的状态转移图中,有一条从状态 q 到状态 p 的标记为 f(a)的路。,32,RL 的同态原像是 RL,接受 RL 的同态原像的 FA 的形式描述。设 DFA M=(Q,q0,F),L(M)=L,取 DFA M=(Q,q0,F)(q,a)=(q,f(a)为了证明 L(M)=f-1(L(M)只需证明,对于任意 x*,(q0,x)F(q0,f(x)F为此,先证明(q0,x)=(q0,f
20、(x),33,RL 的同态原像是 RL,证明(q0,x)=(q0,f(x)。施归纳于|x|。当|x|=0 时,结论显然成立。设当|x|=k 是结论成立,往证当|x|=k+1 时结论成立。不妨设 x=ya,其中|y|=k(q0,x)=(q0,ya)=(q0,y),a)=(q0,f(y),a)归纳假设=(q0,f(y),f(a)的定义=(q0,f(y)f(a)的意义=(q0,f(ya)同态映射性质=(q0,f(x),34,RL 的同态原像是 RL,这表明,结论对|x|=k+1 成立。由归纳法原理,结论对 x*成立。现在证明:x*,(q0,x)F(q0,f(x)F。由于对 x*,(q0,x)=(q0
21、,f(x),所以,(q0,x)F(q0,f(x)F。故L(M)=f-1(L(M)定理得证。,35,商(quotient),设 L1,L2*,L1 除以 L2 的商定义为:L1/L2=x|yL2 使得 xyL1 计算语言的商主要是考虑语言句子的后缀。只有当 L1 的句子的后缀在 L2 中时,其相应的前缀才属于 L1/L2。,36,商(quotient),考虑 0,1 上的如下语言:(1)L1=(0+1)*,L2=0(0+1)*,则 L1/L2=L1(2)L1=01,L2=01,则 L1/L2=L1=(01)*,L2=(01)*,则 L1/L2=L1(3)L1=0*011*,L2=00,则 L1/
22、L2=(4)L1=(0+1)*0,L2=(0+1)*1,则 L1/L2=(5)L1=00*1*1,L2=00*1*1,则 L1/L2=0*(6)L1=00*1*1,L2=0*1*1,则 L1/L2=0*1*注意:(L1/L2)L2=L1 和 L1/L2 L1 不一定成立。,37,商(quotient),注意以下有意思的情况:取L1=000,并分别除以L2=,L3=,0,L4=,0,00,L5=,0,00,000 L1/L2=000=L1L1/L3=000,00 L1/L4=000,00,0 L1/L5=000,00,0,注意:在充当“被除数”的集合不变的情况下,充当“除数”的集合越“大”,所得
23、的“商”可能越大。,38,L1/L2 的封闭性,定理5-6 L1,L2*,如果 L1 是 RL,则 L1/L2 也是 RL。证明:设 L1*,L1是 RL,则存在 DFA M1=(Q,q0,F1),使得 L(M1)=L1 构造 DFA M2=(Q,q0,F2)其中 F2=q|yL2,(q,y)F1 显然 L(M2)=L1/L2。定理得证。,39,5.3 Myhill-Nerode 定理与DFA的极小化,对给定 RL L,DFA M 接受 L,M 不同,由 M 确定的*上的等价类也可能不同。如果 M 是最小 DFA,则 M 所给出的等价类的个数应该是最少的。最小 DFA 是不是惟一的?如果是,如
24、何构造?最小 DFA 的状态对应的集合与其他 DFA 的状态对应的集合有什么样的关系,用这种关系是否能从一般的 DFA 出发,求出最小 DFA?,40,关系 RM,设 DFA M=(Q,q0,F)。M 确定的*上的关系 RM 为:对于 x,y*x RM y(q0,x)=(q0,y)。显然,x RM y qQ,x,yset(q)因此,RM 决定了*的一个分类。,41,例5-8,设 L=0*10*,它对应的 DFA M 如右图所示。,对应于q0:(00)n RM(00)mn,m0;对应于q1:0(00)n RM 0(00)mn,m 0;对应于q2:(00)n1 RM(00)m1n,m 0;对应于q
25、3:0(00)n 1 RM 0(00)m1n,m 0;对应于q4:0(00)n 10k RM 0(00)m10hn,m 0,k,h 1;(00)n10k RM(00)m10hn,m 0,k,h 1;0(00)n 10k RM(00)m10hn,m 0,k,h 1;即:0n 10k RM 0m10hn,m 0,k,h1;对应于q5:x RM yx,y 为至少含两个 1 的串。,42,关系 RL,L 确定的*上的关系 RL。对于 x,y*,x RL y(对z*,xzL yzL)即:对于 x,y*,如果 x RL y,则在 x 和 y 后无论接*中的任何串 z,xz 和 yz 要么都是 L 的句子,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 正则 语言 性质
链接地址:https://www.31ppt.com/p-6302805.html