2023年北京邮电大学自动机课后习题答案_第1页
2023年北京邮电大学自动机课后习题答案_第2页
2023年北京邮电大学自动机课后习题答案_第3页
2023年北京邮电大学自动机课后习题答案_第4页
2023年北京邮电大学自动机课后习题答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

形式语言与自动机第二章4.找出右线性文法,能构成长度为1至5个字符且以字母为首的字符串。答:G={N,T,P,S}ﻩ其中N={S,A,B,C,D}T={x,y}其中x∈{所有字母}y∈{所有的字符}P如下: S→xS→xAA→yA→yBB→yB→yCC→yC→yDD→y6.构造上下文无关文法可以产生L={ω/ω∈{a,b}*且ω中a的个数是b的两倍}答:G={N,T,P,S}ﻩ其中N={S}T={a,b}P如下: S→aabS→abaS→baa S→aabSS→aaSbS→aSabS→SaabﻩS→abaSS→abSaS→aSbaS→SabaﻩS→baaSS→baSaS→bSaaS→Sbaa7.找出由下列各组生成式产生的语言(起始符为S)S→SaSS→bS→aSbS→cS→aS→aEE→aS答:(1)b(ab)n/n≥0}或者L={(ba)nb/n≥0}(2)L={ancbn/n≥0}(3)L={a2n+1/n≥0}第三章下列集合是否为正则集,若是正则集写出其正则式。具有偶数个a和奇数个b的{a,b}*上的字符串集合具有相同个数a和b的字符串集合不含子串aba的{a,b}*上的字符串集合答:(1)是正则集,自动机如下奇a偶b偶a偶b奇a偶b偶a偶baabbbb奇a奇b偶a奇ba奇a奇b偶a奇ba(2)不是正则集,用泵浦引理可以证明,具体见17题(2)。(3)是正则集 先看L’为包含子串aba的{a,b}*上的字符串集合ﻩ显然这是正则集,可以写出表达式和画出自动机。(略)ﻩ则不包含子串aba的{a,b}*上的字符串集合L是L’的非。根据正则集的性质,L也是正则集。4.对下列文法的生成式,找出其正则式G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aAS→BA→abSA→bBB→bB→cCC→DD→bBD→dG=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aAS→BA→cCA→bBB→bBB→aC→DC→abBD→d答:(1)由生成式得: S=aA+B①A=abS+bB②B=b+cC③C=D④D=d+bB⑤③④⑤式化简消去CD,得到B=b+c(d+bB)即B=cbB+cd+b=>B=(cb)*(cd+b)⑥将②⑥代入①S=aabS+ab(cb)*(cd+b)+(cb)*(cd+b)=>S=(aab)*(ab+ε)(cb)*(cd+b)(2)由生成式得: S=aA+B①A=bB+cC②B=a+bB③C=D+abB④D=dB⑤由③得B=b*a⑥将⑤⑥代入④C=d+abb*a=d+ab+a⑦将⑥⑦代入②A=b+a+c(d+b+a)⑧将⑥⑧代入①S=a(b+a+c(d+ab+a))+b*a ﻩﻩ=ab+a+acd+acab+a+b*a5.为下列正则集,构造右线性文法:(1){a,b}*(2)以abb结尾的由a和b组成的所有字符串的集合(3)以b为首后跟若干个a的字符串的集合具有两个相继a和两个相继b的由a和b组成的所有字符串集合答:(1)右线性文法G=({S},{a,b},P,S) P:S→aSS→bSS→ε (2)右线性文法G=({S},{a,b},P,S)ﻩ P:S→aSS→bSS→abb (3)此正则集为{ba*} ﻩ右线性文法G=({S,A},{a,b},P,S)ﻩ P:S→bAA→aAA→εﻩ(4)此正则集为{{a,b}*aa{a,b}*bb{a,b}*,{a,b}*bb{a,b}*aa{a,b}*}ﻩﻩ右线性文法G=({S,A,B,C},{a,b},P,S) ﻩP:S→aS/bS/aaA/bbBA→aA/bA/bbCB→aB/bB/aaCC→aC/bC/ε7.设正则集为a(ba)*构造右线性文法找出(1)中文法的有限自动机答:(1)右线性文法G=({S,A},{a,b},P,S) P:S→aAA→bSA→εﻩ(2)自动机如下:P2P1ﻩaP2P1b(p2是终结状态)9.相应图(a)(b)的状态转换图写出正则式。(图略)由图可知q0=aq0+bq1+a+εq1=aq2+bq1 q0=aq0+bq1+a=>q1=abq1+bq1+aaq0+aa=(b+ab)q1+aaq0+aa=(b+ab)*(aaq0+aa)=>q0=aq0+b(b+ab)*(aaq0+aa)+a+εﻩ=q0(a+b(b+ab)*aa)+b(b+ab)*aa+a+ε=(a+b(b+ab)*aa)*((b+ab)*aa+a+ε)=(a+b(b+ab)*aa)*q0=aq1+bq2+a+bq1=aq0+bq2+bq0=aq1+bq0+a=>q1=aq0+baq1+bbq0+ba+b =(ba)*(aq0+bbq0+ba+b)=>q2=aaq0+abq2+bq0+ab+a=(ab)*(aaq0+bq0+ab+a)=>q0=a(ba)*(a+bb)q0+a(ba)*(ba+b)+b(ab)*(aa+b)q0+b(ab)*(ab+a)+a+b =[a(ba)*(a+bb)+b(ab)*(aa+b)]*(a(ba)*(ba+b)+b(ab)*(ab+a)+a+b)10.设字母表T={a,b},找出接受下列语言的DFA:具有3个连续b的所有字符串集合以aa为首的所有字符串集合以aa结尾的所有字符串集合答:(1)M=({q0,q1q2,q3},{a,b},σ,q0,{q3}),其中σ如下:abq0q0q1q1q0q2q2q0q3q3q3q3(2)M=({q0,q1q2},{a,b},σ,q0,{q2}),其中σ如下:abq0q1Φq1q2Φq2q2q2(3)M=({q0,q1q2},{a,b},σ,q0,{q2}),其中σ如下:abq0q1q0q1q2q0q2q2q014构造DFAM1等价于NFAM,NFAM如下:(1)M=({q0,q1q2,q3},{a,b},σ,q0,{q3}),其中σ如下:ﻩσ(q0,a)={q0,q1}σ(q0,b)={q0}ﻩσ(q1,a)={q2}σ(q1,b)={q2} σ(q2,a)={q3}σ(q2,b)=Φﻩσ(q3,a)={q3}σ(q3,b)={q3}(2)M=({q0,q1q2,q3},{a,b},σ,q0,{q1,q2}),其中σ如下:ﻩσ(q0,a)={q1,q2}σ(q0,b)={q1}ﻩσ(q1,a)={q2}σ(q1,b)={q1,q2}ﻩσ(q2,a)={q3}σ(q2,b)={q0} σ(q3,a)=Φσ(q3,b)={q0}答:(1)DFAM1={Q1,{a,b},σ1,[q0],{[q0,q1,q3],[q0,q2,q3],[q0,q1,q2,q3]}其中Q1={[q0],[q0,q1],[q0,q1,q2],[q0,q2],[q0,q1,q2,q3],[q0,q1,q3],[q0,q2,q3],[q0,q3]}σ1满足ab[q0][q0,q1][q0][q0,q1][q0,q1,q2][q0,q2][q0,q1,q2][q0,q1,q2,q3][q0,q2][q0,q2][q0,q1,q3][q0][q0,q1,q2,q3][q0,q1,q2,q3][q0,q2,q3][q0,q1,q3][q0,q1,q2,q3][q0,q2,q3][q0,q2,q3][q0,q1,q3][q0,q3][q0,q3][q0,q1,q3][q0,q3](2)DFAM1={Q1,{a,b},σ1,[q0],{[q1],[q3],[q1,q3],[q0,q1,q2],[q1,q2],[q1,q2,q3],[q2,q3]}其中Q1={[q0],[q1,q3],[q1],[q2],[q0,q1,q2],[q1,q2],[q3],[q1,q2,q3],[q2,q3]}σ1满足ab[q0][q1,q3][q1][q1,q3][q2][q0,q1,q2][q1][q2][q1,q2][q2][q3][q0][q0,q1,q2][q1,q2,q3][q0,q1,q2][q1,q2][q2,q3][q0,q1,q2][q3]Φ[q0][q1,q2,q3][q2,q3][q0,q1,q2][q2,q3][q3][q0]15.15.对下面矩阵表达的ε-NFAεabcP(起始状态)φ{p}{q}{r}q{p}{q}{r}φr(终止状态){q}{r}φ{p}给出该自动机接受的所有长度为3的串将此ε-NFA转换为没有ε的NFA答:(1)可被接受的的串共23个,分别为aac,abc,acc,bac,bbc,bcc,cac,cbc,ccc,caa,cab,cba,cbb,cca,ccb,bba,aca,acb,bca,bcb,bab,bbb,abb(2)ε-NFA:M=({p,q,r},{a,b,c},σ,p,r)其中σ如表格所示。由于ε-closure(p)=Φ则设不含ε的NFAM1=({p,q,r},{a,b,c},σ1,p,r)σ1(p,a)=σ’(p,a)=ε-closure(σ(σ’(p,ε),a))={p}σ1(p,b)=σ’(p,b)=ε-closure(σ(σ’(p,ε),b))={p,q}σ1(p,c)=σ’(p,c)=ε-closure(σ(σ’(p,ε),c))={p,q,r}σ1(q,a)=σ’(q,a)=ε-closure(σ(σ’(q,ε),a))={p,q}σ1(q,b)=σ’(q,b)=ε-closure(σ(σ’(q,ε),b))={p,q,r}σ1(q,c)=σ’(q,c)=ε-closure(σ(σ’(q,ε),c))={p,q,r}σ1(r,a)=σ’(r,a)=ε-closure(σ(σ’(r,ε),a))={p,q,r}σ1(r,b)=σ’(r,b)=ε-closure(σ(σ’(r,ε),b))={p,q,r}σ1(r,c)=σ’(r,c)=ε-closure(σ(σ’(r,ε),c))={p,q,r}图示如下:(r为终止状态)pqb,cpqa,b,ca,b,ca,b,cca,b,cb,ca,b,crra,b,c16.设NFAM=({q0,q1},{a,b},σ,q0,{q1}),其中σ如下:ﻩσ(q0,a)={q0,q1}σ(q0,b)={q1} σ(q1,a)=Φσ(q1,b)={q0,q1}构造相应的DFAM1,并进行化简答:构造一个相应的DFAM1={Q1,{a,b},σ1,[q0],{[q1],[q0,q1]}其中Q1={[q0],[q1],[q0,q1]}σ1满足ab[q0][q0,q1][q1][q1]Φ[q0,q1][q0,q1][q0,q1][q0,q1]由于该DFA已是最简,故不用化简17.使用泵浦引理,证明下列集合不是正则集:由文法G的生成式S→aSbS/c产生的语言L(G){ω/ω∈{a,b}*且ω有相同个数的a和b}{akcak/k≥1}{ωω/ω∈{a,b}*}证明:(1)在L(G)中,a的个数与b的个数相等假设L(G)是正则集,对于足够大的k取ω=ak(cb)kc令ω=ω1ω0ω2由于|ω0|>0|ω1ω0|≤k存在ω0使ω1ω0iω2∈L所以对于任意ω0只能取ω0=ann∈(0,k)则ω1ω0iω2=ak–n(an)i(cb)kc在i不等于0时不属于L与假设矛盾。则L(G)不是正则集(2)假设该集合是正则集,对于足够大的k取ω=akbk令ω=ω1ω0ω2由于|ω0|>0|ω1ω0|≤k存在ω0使ω1ω0iω2∈L所以对于任意ω0只能取ω0=ann∈(0,k)则ω1ω0iω2=ak–n(an)ibk在i不等于0时a与b的个数不同,不属于该集合与假设矛盾。则该集合不是正则集(3)假设该集合是正则集,对于足够大的k取ω=akcak令ω=ω1ω0ω2由于|ω0|>0|ω1ω0|≤k存在ω0使ω1ω0iω2∈L所以对于任意ω0只能取ω0=ann∈(0,k)则ω1ω0iω2=ak–n(an)icak在i不等于0时c前后a的个数不同,不属于该集合与假设矛盾。则该集合不是正则集(4)假设该集合是正则集,对于足够大的k取ωω=akbakb令ωω=ω1ω0ω2由于|ω0|>0|ω1ω0|≤k存在ω0使ω1ω0iω2∈L所以对于任意ω0只能取ω0=ann∈(0,k)则ω1ω0iω2=ak–n(an)ibakb在i不等于0时不满足ωω的形式,不属于该集合与假设矛盾。则该集合不是正则集18.构造米兰机和摩尔机对于{a,b}*的字符串,假如输入以bab结尾,则输出1;假如输入以bba结尾,则输出2;否则输出3。答:米兰机:ﻩ说明状态qaa表达成这个状态时,输入的字符串是以aa结尾。其他同理。a/3qaaqabqaaqabb/3a/3a/3b/3b/1qbaqbbqbaqbba/2b/3 摩尔机,状态说明同米兰机。aaqaba,3b/3qaab,3b/3qaa,3b/3baqaba,3b/3qaab,3b/3qaa,3b/3ababqbab,1b/3qbb,3b/3qbba,2b/3qbab,1b/3qbb,3b/3qbba,2b/3abbb第四章把下列文法变换为无ε生成式、无单生成式和没有无用符号的等价文法:S→A1|A2,A1→A3|A4,A2→A4|A5,A3→S|b|ε,A4→S|a,A5→S|d|ε解:ﻩ⑴ﻩ由算法3,变换为无ε生成式:N’={S,A1,A2,A3,A4,A5}G1=({S1,S,A1,A2,A3,A4,A5},{a,b,d},P1,S1),其中生成式P1如下:S1→ε|S,S→A1|A2,A1→A3|A4,A2→A4|A5,A3→S|b,A4→S|a,A5→S|d,⑵ 由算法4,消单生成式:NS1={S1,S,A1,A2,A3,A4,A5},NS=NA1=NA2=NA3=NA4=NA5={S,A1,A2,A3,A4,A5},运用算法4,则P1变为:S1→a|b|d|ε,S→a|b|d,A1→a|b|d,A2→a|b|d,A3→a|b|d,A4→a|b|d,A5→a|b|d⑶ 由算法1和算法2,消除无用符号,得到符合题目规定的等价文法:G1=({S1},{a,b,d},P1,S1),其中生成式P1为:S1→a|b|d|ε.设2型文法G=({S,A,B,C,D,E,F},{a,b,c},P,S),其中P:S→ASB|ε;A→aAS|a;B→SBS|A|bb试将G变换为无ε生成式,无单生成式,没有无用符号的文法,再将其转换为Chomsky范式.解:ﻩ⑴ﻩ由算法3,变换为无ε生成式:N’={S}由S→ASB得出S→ASB|AB,由A→aAS得出A→aAS|aA,由B→SBS得出B→SBS|SB|BS|B,由S∈N’得出S1→ε|S,因此无ε的等效文法G1=({S1,S,A,B},{a,b,d},P1,S1),其中生成式P1如下:S1→ε|S,S→ASB|AB,A→aAS|aA|a,B→SBS|SB|BS|B|A|bb,⑵ 由算法4,消单生成式:NS1={S1,S},NS={S},NA={A},NB={A,B}由于S→ASB|AB∈P且不是单生成式,故P1中有S1→ε|ASB|AB,同理有S→ASB|AB,A→aAS|aA|a,B→SBS|SB|BS|aAS|aA|a|bb,因此生成的无单生成式等效文法为G1=({S1,S,A,B},{a,b},P1,S1),其中生成式P1如下:S1→ε|ASB|AB,S→ASB|AB,A→aAS|aA|a,B→SBS|SB|BS|aAS|aA|a|bb,⑶ﻩ由算法1和算法2,消除无用符号(此题没有无用符号);⑷ 转化为等价的Chomsky范式的文法:将S1→ASB变换为S→AC,C→SB,将S→ASB变换为S→AC,将A→aAS|aA变换为A→ED|EA,D→AS,E→a,将B→SBS|aAS|aA|a|bb,变换为B→CS|ED|EA|FF,F→b,⑸ 由此得出符合题目规定的等价文法:G1=({S1,S,A,B,C,D},{a,b},P1,S1),其中生成式P1如下:S1→ε|AC|AB,S→AC|AB,A→ED|EA|a,B→CS|SB|BS|ED|EA|a|FF,C→SB,D→AS,E→a,F→b.将下列文法变换为等价的Greibach范式文法:⑴ﻩS→DD|a,D→SS|b解: 将非终结符排序为S,D,S为低位,D为高位, ⑴ﻩ对于D→SS,用S→DD|a代入得D→DDS|aS|b,用引理4.2.4,变化为D→aS|b|aSD'|bD',D’→DS|DSD’,⑵ 将D生成式代入S生成式得S→aSD|bD|aSD’D|bD'D|a,⑶ﻩ将D生成式代入D’生成式得D’→aSS|bS|aSD'S|bD'S|aSSD'|bSD'|aSD'SD'|bD'SD',⑷ﻩ由此得出等价的Greibach范式文法:G1=({S,D,D’},{a,b},P1,S),其中生成式P1如下:S→aSD|bD|aSD’D|bD'D|a,D→aS|b|aSD'|bD',D’→aSS|bS|aSD'S|bD'S|aSSD'|bSD'|aSD'SD'|bD'SD'.ﻩ⑵ A1→A3b|A2a,A2→A1b|A2A2a|b,A3→A1a|A3A3b|a解:ﻩ⑴ﻩ转化为等价的Chomsky范式的文法:ﻩﻩA1→A3A4|A2A5,A2→A1A4|A2A6|b,A3→A1A5|A3A7|a,A4→b,A5→a,A6→A2A5,A7→A3A4,⑵ﻩ转化为等价的Greibach范式的文法:将非终结符排序为A1,A2,A3,A4,A5,A1为低位A5为高位,①对于A2→A1A4,用A1→A3A4|A2A5代入得A2→A3A4A4|A2A5A4|A2A6|b,用引理4.2.4,变化为A2→A3A4A4|b|A3A4A4A2’|bA2’,A2’→A5A4A2’|A6A2’|A5A4|A6,②对于A3→A1A5,用A1→A3A4|A2A5代入得A3→A3A4A5|A2A5A5|A3A7|a,A3生成式右边第一个字符仍是较低位的非终结符,将A2生成式代入A3生成式得A3→A3A4A5|A3A4A4A5A5|bA5A5|A3A4A4A2’A5A5|bA2’A5A5|A3A7|a,用引理4.2.4,变化为A3→bA5A5|bA2’A5A5|a|bA5A5A3’|bA2’A5A5A3’|aA3’,A3’→A4A5|A4A4A5A5|A4A4A2’A5A5|A7|A4A5A3’|A4A4A5A5A3’|A4A4A2’A5A5A3’|A7A3’,③对于A6→A2A5,将A2生成式代入A6生成式得A6→A3A4A4A5|bA5|A3A4A4A2’A5|bA2’A5,A6生成式右边第一个字符仍是较低位的非终结符,将A3生成式代入A6生成式得A6→bA5A5A4A4A5|bA2’A5A5A4A4A5|aA4A4A5|bA5A5A3’A4A4A5|bA2’A5A5A3’A4A4A5|aA3’A4A4A5|bA5A5A4A4A2’A5|bA2’A5A5A4A4A2’A5|aA4A4A2’A5|bA5A5A3’A4A4A2’A5|bA2’A5A5A3’A4A4A2’A5|aA3’A4A4A2’A5|bA2’A5|bA5,④对于A7→A3A4,将A3生成式代入A7生成式得A7→bA5A5A4|bA2’A5A5A4|aA4|bA5A5A3’A4|bA2’A5A5A3’A4|aA3’A4,⑤将A5,A6生成式代入A2’生成式得A2’→aA4A2’|bA5A5A4A4A5A2’|bA2’A5A5A4A4A5A2’|aA4A4A5A2’|bA5A5A3’A4A4A5A2’|bA2’A5A5A3’A4A4A5A2’|aA3’A4A4A5A2’|bA5A5A4A4A2’A5A2’|bA2’A5A5A4A4A2’A5A2’|aA4A4A2’A5A2’|bA5A5A3’A4A4A2’A5A2’|bA2’A5A5A3’A4A4A2’A5A2’|aA3’A4A4A2’A5A2’|bA2’A5A2’|bA5A2’|aA4|bA5A5A4A4A5|bA2’A5A5A4A4A5|aA4A4A5|bA5A5A3’A4A4A5|bA2’A5A5A3’A4A4A5|aA3’A4A4A5|bA5A5A4A4A2’A5|bA2’A5A5A4A4A2’A5|aA4A4A2’A5|bA5A5A3’A4A4A2’A5|bA2’A5A5A3’A4A4A2’A5|aA3’A4A4A2’A5|bA2’A5|bA5,将A4,A7生成式代入A3’生成式得A3’→aA5|aA4A5A5|aA4A2’A5A5|aA5A3’|aA4A5A5A3’|aA4A2’A5A5A3’|bA5A5A4|bA2’A5A5A4|aA4|bA5A5A3’A4|bA2’A5A5A3’A4|aA3’A4|bA5A5A4A3’|bA2’A5A5A4A3’|aA4A3’|bA5A5A3’A4A3’|bA2’A5A5A3’A4A3’|aA3’A4A3’,⑶ 由此得出等价的Greibach范式文法:G1=({S,D,D’},{a,b},P1,S),其中生成式P1如下:A1→A3A4|A2A5,A2→A3A4A4|b|A3A4A4A2’|bA2’,A3→bA5A5|bA2’A5A5|a|bA5A5A3’|bA2’A5A5A3’|aA3’,A4→b,A5→a,A6→bA5A5A4A4A5|bA2’A5A5A4A4A5|aA4A4A5|bA5A5A3’A4A4A5|bA2’A5A5A3’A4A4A5|aA3’A4A4A5|bA5A5A4A4A2’A5|bA2’A5A5A4A4A2’A5|aA4A4A2’A5|bA5A5A3’A4A4A2’A5|bA2’A5A5A3’A4A4A2’A5|aA3’A4A4A2’A5|bA2’A5|bA5,A7→bA5A5A4|bA2’A5A5A4|aA4|bA5A5A3’A4|bA2’A5A5A3’A4|aA3’A4,A2’→aA4A2’|bA5A5A4A4A5A2’|bA2’A5A5A4A4A5A2’|aA4A4A5A2’|bA5A5A3’A4A4A5A2’|bA2’A5A5A3’A4A4A5A2’|aA3’A4A4A5A2’|bA5A5A4A4A2’A5A2’|bA2’A5A5A4A4A2’A5A2’|aA4A4A2’A5A2’|bA5A5A3’A4A4A2’A5A2’|bA2’A5A5A3’A4A4A2’A5A2’|aA3’A4A4A2’A5A2’|bA2’A5A2’|bA5A2’|aA4|bA5A5A4A4A5|bA2’A5A5A4A4A5|aA4A4A5|bA5A5A3’A4A4A5|bA2’A5A5A3’A4A4A5|aA3’A4A4A5|bA5A5A4A4A2’A5|bA2’A5A5A4A4A2’A5|aA4A4A2’A5|bA5A5A3’A4A4A2’A5|bA2’A5A5A3’A4A4A2’A5|aA3’A4A4A2’A5|bA2’A5|bA5,A3’→aA5|aA4A5A5|aA4A2’A5A5|aA5A3’|aA4A5A5A3’|aA4A2’A5A5A3’|bA5A5A4|bA2’A5A5A4|aA4|bA5A5A3’A4|bA2’A5A5A3’A4|aA3’A4|bA5A5A4A3’|bA2’A5A5A4A3’|aA4A3’|bA5A5A3’A4A3’|bA2’A5A5A3’A4A3’|aA3’A4A3’.设文法G有如下得生成式:S→aDD,D→aS|bS|a,构造等价的下推自动机.解: 根据P162-163的算法,构造下推自动机M,使M按文法G的最左推导方式工作.ﻩ设M=(Q,T,Г,δ,q0,Z0,F),其中Q={q0,qf},T={a,b},Г={a,b,D,S},Z0=S,F={qf}, δ定义如下:δ(q0,ε,S)={(q0,aDD)},δ(q0,ε,D)={(q0,aS),(q0,bS),(q0,a)},δ(q0,a,a)={(q0,ε)},δ(q0,ε,ε)={(qf,ε)}.给出产生语言L={aibjck|i,j,k≥0且i=j或者j=k}的上下文无关文法.你给出的文法是否具有二义性?为什么?解:ﻩG=({S,A,B,C,D,E},{a,b,c},P,S)P:S→AD|EB,A→aAb|ε,B→bBc|ε,D→cD|ε,E→aE|ε文法具有二义性。由于当句子ω中a,b,c个数相同时,对于ω存在两个不同的最左(右)推导。如abcL,存在两个不同的最左推导SADaAbDabDabcCabc及SEBaEBaBabBcabc。设下推自动机M=({q0,q1},{a,b},{Z0,X},δ,q0,Z0,φ),其中δ如下:δ(q0,b,Z0)={(q0,XZ0)},δ(q0,ε,Z0)={(q0,ε)},Aδ(q0,b,X)={(q0,XX)},δ(q1,b,X)={(q1,ε)},δ(q0,b,X)={(q1,X)},δ(q1,a,Z0)={(q0,Z0)},试构造文法G产生的语言L(G)=L(M).解:ﻩ在G中,N={[q0,Z0,q0],[q0,Z0,q1],[q0,X,q0],[q0,X,q1],[q1,Z0,q0],[q1,Z0,q1],[q1,X,q0],[q1,X,q1]}. ⑴ﻩS生成式有S→[q0,Z0,q0],S→[q0,Z0,q1],ﻩ根据δ(q0,b,Z0)={(q0,XZ0)},则有[q0,Z0,q0]→b[q0,X,q0][q0,Z0,q0],[q0,Z0,q0]→b[q0,X,q1][q1,Z0,q0],[q0,Z0,q1]→b[q0,X,q0][q0,Z0,q1],[q0,Z0,q1]→b[q0,X,q1][q1,Z0,q1], 由于有δ(q0,b,X)={(q0,XX)},则有[q0,X,q0]→b[q0,X,q0][q0,X,q0],[q0,X,q0]→b[q0,X,q1][q1,X,q0],[q0,X,q1]→b[q0,X,q0][q0,X,q1],[q0,X,q1]→b[q0,X,q1][q1,X,q1],ﻩ由于有δ(q0,a,X)={(q1,X)},则有[q0,X,q0]→a[q1,X,q0],[q0,X,q1]→a[q1,X,q1], 由于有δ(q1,a,Z0)={(q0,Z0)},则有[q1,Z0,q0]→a[q0,Z0,q0],[q1,Z0,q1]→a[q0,Z0,q1],由于有δ(q0,ε,Z0)={(q0,ε)},则有[q0,Z0,q0]→ε, 由于有δ(q1,b,X)={(q1,ε)},则有[q1,X,q1]→ε ⑵ﻩ运用算法1和算法2,消除无用符号后,得出文法G产生的语言L(G)={N,T,P,S} 其中N={S,[q0,Z0,q0],[q1,Z0,q0],[q1,X,q1],[q0,X,q1]},T={a,b},生成式P如下:S→[q0,Z0,q0],[q0,Z0,q0]→b[q0,X,q1][q1,Z0,q0],[q0,X,q1]→b[q0,X,q1][q1,X,q1],[q0,X,q1]→a[q1,X,q1],[q1,Z0,q0]→a[q0,Z0,q0],[q0,Z0,q0]→ε,[q0,Z0,q0]→ε.证明下列语言不是上下文无关语言:⑴ﻩ{anbncm|m≤n};证明:ﻩ假设L是上下文无关语言,由泵浦引理,取常数p,当ω∈L且|ω|≥p时,可取ω=apbpcp,将ω写为ω=ω1ω2ω0ω3ω4,同时满足|ω2ω0ω3|≤p⑴ﻩω2和ω3不也许同时分别包含a和c,由于在这种情况下,有|ω2ω0ω3|>p;⑵ﻩ假如ω2和ω3都只包含a(b),即ω2ω0ω3=aj(bj)(j≤p),则当i≠1时,ω1ω2iω0ω3iω4中会出现a的个数与b的个数不等;假如ω2和ω3都只包含c,即ω2ω0ω3=cj(j≤p),当i大于1时,ω1ω2iω0ω3iω4中会出现c的个数大于a的个数(b的个数);⑶ 假如ω2和ω3分别包含a和b(b和c),当i=0时ω1ω2iω0ω3iω4中会出现a,b的个数小于c的个数(或a,b个数不等)这些与假设矛盾,故L不是上下文无关语言.⑵ﻩ{ak|k是质数};证明: 假设L是上下文无关语言,由泵浦引理,取常数p,当ω∈L且|ω|≥p时,可取ω=ak(k≥p且k≠1),将ω写为ω=ω1ω2ω0ω3ω4,同时满足|ω2ω0ω3|≤p,且|ω2ω3|=j≥1,则当i=k+1时,|ω1ω2iω0ω3iω4|=k+(i-1)*j=k+k*j=k*(1+j),k*(1+j)至少包含因子k且k≠1,因此必然不是质数,即ω1ω2iω0ω3iω4不属于L. 这与假设矛盾,故L不是上下文无关语言.⑶ 由a,b,c组成的字符串且是具有a,b,c的个数相同的所有字符串.证明: 假设L是上下文无关语言,由泵浦引理,取常数p,当ω∈L且|ω|≥p时,可取ω=akbkck(k≥p),将ω写为ω=ω1ω2ω0ω3ω4,同时满足|ω2ω0ω3|≤p⑴ﻩω2和ω3不也许同时分别包含a和c,由于在这种情况下,有|ω2ω0ω3|>p;⑵ 假如ω2和ω3都只包含a(b或c),即ω2ω0ω3=aj(bj或cj)(j≤p),则当i≠1时,ω1ω2iω0ω3iω4中会出现a,b,c的个数不再相等;⑶ 假如ω2和ω3分别包含a和b(b和c),ω1ω2iω0ω3iω4中会出现a,b的个数与c的不等;这些与假设矛盾,故L不是上下文无关语言.设G是Chomsky范式文法,存在ω∈L(G),求在边沿为ω的推导树中,最长的途径长度与ω的长度之间的关系.解:ﻩ设边沿为ω的推导树中,最长途径长度为n,则它与ω的长度之间的关系为|ω|≤2n-1.由于由Chomsky范式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论