- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6789章 业及参考答案
第6章P231:
1、构造产生下列语言的CFG
(2) {1n02m1n |n,m≥1}
解:需保证1的个数相等且0的个数为偶数
S?1S1|1A1
A?00A|00
(4)含有相同个数的0和1的所有0、1串
S?0AS|1BS|ε
A?1|0AA
B?0|1BB
错解1: S?10S|01S|10|01|ε
错解2: S?1S0|0S1|1A0|0A1, A?10|01|ε (推不出0110)
错解3: S?10S|1S0|S10|01S|0S1|S01|ε (推不
讨论: 不能限制0和1必须在同一次推导中都出现
15、构造与下列文法(原题中去e产生式后的文法)等价的CNF
S?a|b|aB|aBB|bA|bAA
B?aa|aB|Ba|aBa
A?bb|bbA
解:第一步
S?a|b|BaB|BaBB|BbA|BbAA
B?BaBa|BaB|BBa|BaBBa
A?BbBb|BbBbA
Ba?a
Bb?b
第二步
S?a|b|BaB|BaB1|BbA|BbA1
B?BaBa|BaB|BBa|BaB2
A?BbBb|BbB3
Ba?a
Bb?b
B1?BB
A1?AA
B2?BBa
B3?BbA讨论: 这种题需要将步骤写清, 意义在于机械化这种事情是我们的目标, 你不必加入太多自己的智慧.
Ba和Ba的区别?
第7章 P257:
1、构造识别下列语言的PDA
(2) L = {1n02m1n|n,m≥1}
要求
用七元组表示
用推广的状态转换图表示
解法1:先构造产生该语言的GNF文法,再由文法推导的启示或依定理7-3的构造方法,设计出PDA
构造出产生该语言的?1S1|1B1
B?00B|00
得到对应的GNF:
S?1SA|1BA
A?1
B?0C|0CB
C?0
构造PDA M1=({q},{0,1},{S,A,B,C}, δ1, q, S, Φ)
其中δ1为:
δ1(q, 1, S)={(q, SA), (q, BA)}
δ1(q, 1, A)={(q, ε) }
δ1(q, 0, B)={(q, C), (q, CB)}
δ1(q, 0, C)={(q, ε) }
有N(M1)= {1n02m1n|n,m≥1}用推广的状态转换图N(M1)= L(M1)={1n02m1n|n,m≥1}, 注意: 如果要这样做, 请加适当的说明
解法1:?a中的a用作00
思考: 崔同学实际是想设计接受{1nam1n|n,m≥1}的PDA以简化, 但又没有底气
这种想法很大胆(褒义的"大胆")
也是可行的.
过程是:
先设计PDA接受L={1nam1n|n,m≥1} 这儿(={1,a}
构造代换f: f(1)=1, f(a)=00, 则f(L)就是我们要的(={1,0}上的语言, PDA随之而定
只是未向同学们介绍如何利用代换设计PDA
解法2之一:可以将PDA的工作分为3个阶段:
(1)接受1并记载的阶段;
(2)接受偶数个0的阶段;
(3)匹配1的阶段
设q0为开始状态,q1为接受1并记载的阶段,Z0为初始栈符号
δ2(q0, 1, Z0)={(q1,AZ0)}
δ2(q1, 1, A)={(q1,AA)}
q1状态下读入0将进入接受0的状态q2
δ2(q1, 0, A)={(q2,BA)}
为了接受偶数个0,可设q3状态用于接受第2个0,这时只要将进入q2状态时压入的B出栈即可, q3状态下读入0的情形同q1状态下读入0时的情形
δ2(q2, 0, B)={(q3, ε)}
δ2(q3, 0, A)={(q2,BA)}
在q3状态下读入1且栈顶是A时,进入对1的匹配阶段
δ2(q3, 1, A)={(q4, ε)}
q3状态下继续进入1和A的匹配
δ2(q4, 1, A)={(q4, ε)}
正确的匹配应是q3状态下读完所有的符号,且栈中只余Z0
δ2(q4, ε, Z0)={(q5, ε)}
综上,设计的PDA为:
M2=({q0, q1, q2, q3, q4, q5},{0,1},{A,B,Z0}, δ2, q0, Z0, {q5})
有L(M2)=N(M2) = L
用推广的状态转换图δ2(q0, 1, Z0)={(q1,AZ0)}
δ2(q1, 1, A)={(q1,AA)}
q1状态下读入0将进入接受0的状态q2, 用栈符号B记忆
δ2(q1, 0, A)={(q2,BA)}
q2状态读入0且栈顶为B, 这时一定是第偶数个0, B被匹配, B出栈
δ2(q2, 0, B)={( q2, ε)}
q2状态读入0且栈顶为A, 这时已经出现过偶数个0, 这个零为第奇数个0, 将B压栈
δ2(q2, 0, A)={(q2,BA)}
在q2状态下读入1且栈顶是
文档评论(0)