北邮形式语言与自动机四五章答案.doc_第1页
北邮形式语言与自动机四五章答案.doc_第2页
北邮形式语言与自动机四五章答案.doc_第3页
北邮形式语言与自动机四五章答案.doc_第4页
北邮形式语言与自动机四五章答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

形式语言与自动机 四、五章部分习题答案形式语言与自动机作业参考答案(仅供参考) 第四章2最左推导:EE+TT+TE+Tb+Tb+T/Fb+F/Fb+b/Fb+b/b 最右推导:EE+TE+T/FE+T/bE+F/bE+b/bT+b/bF+b/bb+b/b8.(1)由题:S,D,E为有用非终结符,删去有关C的生成式,得:G1:SED,Da,Eb(2)由题:S,D,E为有用非终结符,删去有关C的生成式,得:G2:SD,DbS|b,EDS|b.又E不可达,删去有关E得生成式,得:G2:SD,DbS|b9由题:N=S,C,D,E,因为SN,所以P1中加入生成式:S1S|,变换后的无生成式的等价文法为:G1=N1,T,P1,S1N1=S1,S,C,D,EP1:S1S| SDCE,DCC,CEE|b,EDD|a10. 把下列文法变换为无生成式、无单生成式和没有无用符号的等价文法: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 |.11. 设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,由SN 得出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 | ABP且不是单生成式,故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变换为 S1 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 .15. 将下列文法变换为等价的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 | aSDD | bDD | a ,将D生成式代入D生成式得D aSS | bS | aSDS | bDS | aSS D | bS D | aSDS D | bDS D ,由此得出等价的Greibach范式文法:G1 = ( S,D,D , a,b , P1 , S ) ,其中生成式P1如下:S aSD | bD | aSDD | bDD | a ,D aS | b | aSD | bD ,D aSS | bS | aSDS | bDS | aSS D | bS D | aSDS D | bDS D .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 | A2 A5A4 | 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 A3A4 A5 | A3A4A4 A5A5 | b A5A5 | A3A4A4A2 A5A5 | bA2A5A5 | A3A7 | a ,用引理4.2.4,变化为A3 b A5A5 | bA2A5A5 | a | b A5A5A3 | bA2A5A5A3 | aA3 ,A3 A4A5 | A4A4A5A5 | A4A4A2A5A5 | A7 | A4A5A3 | A4A4A5A5A3 | A4A4A2A5A5A3 | A7A3 ,对于A6 A2A5 ,将A2生成式代入A6生成式得A6 A3A4A4A5 | bA5 | A3A4A4A2A5 | bA2A5 ,A6生成式右边第一个字符仍是较低位的非终结符,将A3生成式代入A6生成式得A6 bA5A5A4A4A5 | bA2A5A5A4A4A5 | aA4A4A5 | bA5A5A3A4A4A5 | bA2A5A5A3A4A4A5 | aA3A4A4A5 | bA5A5A4A4A2A5 | bA2A5A5A4A4A2A5 | aA4A4A2A5 | bA5A5A3A4A4A2A5 | bA2A5A5A3A4A4A2A5 | aA3A4A4A2A5 | bA2A5 | b A5 ,对于A7 A3A4 , 将A3生成式代入A7生成式得A7 b A5A5A4 | bA2A5A5A4 | a A4 | b A5A5A3A4 | bA2A5A5A3A4 | aA3A4 ,将A5,A6生成式代入A2生成式得A2 aA4A2 | bA5A5A4A4A5A2 | bA2A5A5A4A4A5A2 | aA4A4A5A2 | bA5A5A3A4A4A5A2 | bA2A5A5A3A4A4A5A2 | aA3A4A4A5A2 | bA5A5A4A4A2A5 A2 | bA2A5A5A4A4A2A5A2 | aA4A4A2A5A2 | bA5A5A3A4A4A2A5A2 | bA2A5A5A3A4A4A2A5A2 | aA3A4A4A2A5A2 | bA2A5A2 | b A5A2 | aA4 | b A5A5A4A4A5 | bA2A5A5A4A4A5 | aA4A4A5 | bA5A5A3A4A4A5 | bA2A5A5A3A4A4A5 | aA3A4A4A5 | bA5A5A4A4A2A5 | bA2A5A5A4A4A2A5 | aA4A4A2A5 | bA5A5A3A4A4A2A5 | bA2A5A5A3A4A4A2A5 | aA3A4A4A2A5 | bA2A5 | b A5 ,将A4,A7生成式代入A3生成式得A3 aA5 | aA4A5A5 | aA4A2A5A5 | aA5A3 | aA4A5A5A3 | aA4A2A5A5A3 | b A5A5A4 | bA2A5A5A4 | aA4 | bA5A5A3A4 | bA2A5A5A3A4 | aA3A4 | bA5A5A4A3 | bA2A5A5A4A3 | a A4A3 | b A5A5A3A4 A3 | bA2A5A5A3A4 A3 | aA3A4A3 ,由此得出等价的Greibach范式文法:G1 = ( S,D,D , a,b , P1 , S ) ,其中生成式P1如下:A1 A3A4 | A2A5 ,A2 A3A4A4 | b | A3A4A4A2 | bA2 ,A3 b A5A5 | bA2A5A5 | a | bA5A5A3 | bA2A5A5A3 | aA3 ,A4 b ,A5 a ,A6 bA5A5A4A4A5 | bA2A5A5A4A4A5 | aA4A4A5 | bA5A5A3A4A4A5 | bA2A5A5A3A4A4A5 | aA3A4A4A5 | bA5A5A4A4A2A5 | bA2A5A5A4A4A2A5 | aA4A4A2A5 | bA5A5A3A4A4A2A5 | bA2A5A5A3A4A4A2A5 | aA3A4A4A2A5 | bA2A5 | b A5 ,A7 b A5A5A4 | bA2A5A5A4 | a A4 | b A5A5A3A4 | bA2A5A5A3A4 | aA3A4 ,A2 aA4A2 | bA5A5A4A4A5A2 | bA2A5A5A4A4A5A2 | aA4A4A5A2 | bA5A5A3A4A4A5A2 | bA2A5A5A3A4A4A5A2 | aA3A4A4A5A2 | bA5A5A4A4A2A5 A2 | bA2A5A5A4A4A2A5A2 | aA4A4A2A5A2 | bA5A5A3A4A4A2A5A2 | bA2A5A5A3A4A4A2A5A2 | aA3A4A4A2A5A2 | bA2A5A2 | bA5A2 | aA4 | b A5A5A4A4A5 | bA2A5A5A4A4A5 | aA4A4A5 | bA5A5A3A4A4A5 | bA2A5A5A3A4A4A5 | aA3A4A4A5 | bA5A5A4A4A2A5 | bA2A5A5A4A4A2A5 | aA4A4A2A5 | bA5A5A3A4A4A2A5 | bA2A5A5A3A4A4A2A5 | aA3A4A4A2A5 | bA2A5 | b A5 ,A3 aA5 | aA4A5A5 | aA4A2A5A5 | aA5A3 | aA4A5A5A3 | aA4A2A5A5A3 | b A5A5A4 | bA2A5A5A4 | aA4 | bA5A5A3A4 | bA2A5A5A3A4 | aA3A4 | bA5A5A4A3 | bA2A5A5A4A3 | a A4 A3 | b A5A5A3A4 A3 | bA2A5A5A3A4 A3 | aA3A4A3 .20. 设文法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,b,b ) = ( q0, ) ,( q0, ) = ( qf, ) .21. 给出产生语言 L = aibjck | i , j , k0 且 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 。22. 设下推自动机 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 bq0,X,q0 q0,Z0,q0 ,q0,Z0,q0 bq0,X,q1 q1,Z0,q0 ,q0,Z0,q1 bq0,X,q0 q0,Z0,q1 ,q0,Z0,q1 bq0,X,q1 q1,Z0,q1 ,因为有(q0,b, X) = (q0, XX),则有q0,X,q0 bq0,X,q0 q0,X,q0 ,q0, X,q0 bq0,X,q1 q1, X,q0 ,q0, X,q1 bq0,X,q0 q0, X,q1 ,q0, X,q1 bq0,X,q1 q1, X,q1 ,因为有(q0,a, X) = (q1, X),则有q0,X,q0 aq1,X,q0 ,q0,X,q1 aq1,X,q1 ,因为有(q1,a, Z0) = (q0, Z0),则有q1,Z0,q0 aq0,Z0,q0 ,q1,Z0,q1 aq0,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 bq0,X,q1 q1,Z0,q0 ,q0, X,q1 bq0,X,q1 q1, X,q1 ,q0,X,q1 aq1,X,q1 ,q1,Z0,q0 aq0,Z0,q0 ,q0,Z0,q0 ,q0,Z0,q0 .23. 证明下列语言不是上下文无关语言: anbncm | mn ;证明:假设L是上下文无关语言,由泵浦引理,取常数p,当L且|p时,可取 = apbpcp ,将写为=12034 ,同时满足|203|p2和3不可能同时分别包含a和c,因为在这种情况下,有|203|p;如果2和3都只包含a (b) ,即203 = aj (bj ) (jp) ,则当i1时, 12i03i4中会出现a的个数与b的个数不等;如果2和3都只包含c ,即203 = cj (jp),当i大于1时,12i03i4中会出现c的个数大于a的个数 (b的个数);如果2和3分别包含a和b (b和c) ,当i=0时 12i03i4中会出现a, b的个数小于c的个数(或a,b个数不等)这些与假设矛盾,故L不是上下文无关语言. ak | k是质数 ;证明:假设L是上下文无关语言,由泵浦引理,取常数p,当L且|p时,可取=ak ( kp且k1 ) ,将写为=12034 ,同时满足|203|p ,且|23|=j1 ,则当i=k+1时,|12i03i4|=k+(i-1)*j=k+k*j= k*(1+j) ,k*(1+j)至少包含因子k且k1 ,因此必定不是质数,即12i03i4不属于L.这与假设矛盾,故L不是上下文无关语言.由 a,b,c 组成的字符串且是含有 a,b,c 的个数相同的所有字符串.证明:假设L是上下文无关语言,由泵浦引理,取常数p,当L且|p时,可取 = akbkck (kp) ,将写为=12034 ,同时满足|203|p2和3不可能同时分别包含a和c,因为在这种情况下,有|203|p;如果2和3都只包含a (b或c) ,即203 = aj (bj或cj ) (jp) ,则当i1时, 12i03i4中会出现a,b,c的个数不再相等;如果2和3分别包含a和b (b和c) , 12i03i4中会出现a,b的个数与c的不等;这些与假设矛盾,故L不是上下文无关语言.24. 设G是Chomsky 范式文法,存在 L (G) ,求在边缘为的推导树中,最长的路径长度与的长度之间的关系.解:设边缘为的推导树中,最长路径长度为n,则它与的长度之间的关系为|2n-1 .因为由Chomsky范式的定义可知,Chomsky范式文法的推导树都是二叉树,在最长路径长度为n的二叉推导树中,满二叉树推出的句子长度最长,为2n-1,因此的长度与其推导树的最长路径长度n的关系可以用上式表示.25. 设计PDA接受下列语言(注意:不要求为确定的) 0m1n | mn ;解:设PDA M = ( Q,T,q0,Z0,F ),其中Q = q0,q1,qf ,T = 0,1 , = 0,1, Z0 ,F = qf ,定义如下:( q0, , Z0 ) = ( q1, Z0 ) ,( q0,0, Z0 ) = ( q0, 0Z0 ) ,( q0,0,0 ) = ( q0, 00 ) ,( q0,1, Z0 ) = ( qf, ) ,( q0,1, 0 ) = ( q1, ) ,( q1,1, 0 ) = ( q1, ) ,( q1, Z0 ) = ( qf, ) ( q1,1, Z0 ) = ( qf, ) ( qf,1, ) = ( qf, ) 0m1n | mn ;解:设PDA M = ( Q,T,q0,Z0

温馨提示

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

评论

0/150

提交评论