1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CHAP2new

2.1 略。 2.2 a. 利用语言A={ambncn | m,n(0}和A={anbncm | m,n(0}以及例3.20,证明上下文无关语言在交的运算下不封闭。 b. 利用(a)和DeMorgan律(定理1.10),证明上下文无关语言在补运算下不封闭。 证明:a.先说明A,B均为上下文无关文法,对A构造CFG C1 S(aS|T|( T(bTc|( 对B,构造CFG C2 S(Sc|R|( R(aRb 由此知 A,B均为上下文无关语言。 但是由例3.20, A∩B={anbncn|n(0}不是上下文无关语言,所以上下文无关语言在交的运算下不封闭。 b.用反证法。假设CFL在补运算下封闭,则对于(a)中上下文无关语言A,B,,也为CFL,且CFL对并运算封闭,所以也为CFL,进而知道为CFL,由DeMorgan定律=A∩B,由此A∩B是CFL,这与(a)的结论矛盾,所以CFL对补运算不封闭。 2.3 略。 2.4和2.5 给出产生下述语言的上下文无关文法和PDA,其中字母表(={0,1}。 {w | w至少含有3个1} S→A1A1A1A A→0A|1A|( {w | w以相同的符号开始和结束} S→0A0|1A1 A→0A|1A|( {w | w的长度为奇数} S→0A|1A A→0B|1B|( B→0A|1A {w | w的长度为奇数且正中间的符号为0} S→0S0|1S1|0S1|1S0|0 {w | w中1比0多} S→A1A A→0A1|1A0|1A|AA|( {w | w=wR} S→0S0|1S1|1|0 空集 S→S 2.6 给出产生下述语言的上下文无关文法: 字母表{a,b}上a的个数是b的个数的两倍的所有字符串组成的集合。 S→bSaSaS|aSbSaS|aSaSbS|( b.语言{anbn|n(0}的补集。见问题3.25中的CFG: S→aSb|bY|Ta T→aT|bT|( c.{w#x | w, x({0,1}*且wR是x的子串}。 S→UV U→0U0|1U1|W W→W1|W0|# V→0V|1V|( d.{x1#x2#(#xk|k(1, 每一个xi({a,b}* , 且存在i和j使得xi=xjR}。 S→UVW U→A|( A→aA|bA|#A|# V→aVa|bVb|#B|# B→aB|bB|#B|# W→B|( 2.8 证明上下文无关语言类在并,连接和星号三种正则运算下封闭。 A(B 方法一:CFG。设有CFG G1=(Q1,(,R1,S1)和G2=(Q2,(,R2,S2)且L(G1)=A, L(G2)=B。构造CFG G=(Q,(,R,S0),其中 Q= Q1(Q2({S0}, S0是起始变元,R= R1(R2({S0( S1|S2}. 方法二:PDA。 设P1=(Q1,(,(1,(1,q1,F1)识别A,P2=(Q1,(,(2,(2,q2,F2)是识别B。 则如下构造的P=(Q,(,(,(,q0,F)识别A(B,其中 Q=Q1(Q2({q0}是状态集, (=(1((2,是栈字母表, q0是起始状态, F=F1(F2是接受状态集, (是转移函数,满足对任意q(Q, a(((,b((( ((q,a,b)= 连接AB 方法一:CFG。设有CFG G1=(Q1,(,R1,S1)和G2=(Q2,(,R2,S2)且L(G1)=A, L(G2)=B。构造CFG G=(Q,(,R,S0),其中 Q= Q1(Q2({S0}, S0是起始变元,R= R1(R2({S0( S1S2}. 方法二:PDA。 设P1=(Q1,(,(1,(1,q1,F1)识别A,P2=(Q1,(,(2,(2,q2,F2)是识别B,而且P1满足在接受之前排空栈(即若进入接受状态,则栈中为空)这个要求。 则如下构造的P=(Q,(,(,(,q1,F)识别A(B,其中 Q=Q1(Q2是状态集, (=(1((2,是栈字母表, q1是起始状态, F=F1(F2是接受状态集, (是转移函数,满足对任意q(Q, a(((,b((( ((q,a,b)= A* 方法一:CFG。设有CFG G1=(Q1,(,R1,S1),L(G1)=A。构造CFG G=(Q,(,R,S0),其中Q= Q1 ({S0}, S0是起始变元,R= R1({S0(S0S0|S1|(}. 方法二:PDA。 设P1=(Q1,(,(1,(1,q1,F1)识别A,而且P1满足在接受之前排空栈(即若进入接受状态,则栈中为空)这个要求。 则如下构造的P=(Q,(,(,(,q1,F)识别A*,其中 Q=Q1({q0}是状态集, (=(1,是栈字母表, q0是起始状态, F=F1({q0}是接受状态集, (是转移

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档