




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章习题 1 给定文法G S B C D E 0 1 P S 其中P S ABC AB 0AD AB 1AE AB D0 0D D1 1D E0 0E E1 1E C DC B0C EC B1C 0B B0 1B B1试写出句子01100110的派生过程 解 S ABC 0ADC 0AB0C 01AE0C 01A0EC 01A0B1C 01AB01C 011AE01C 011A0E1C 011A01EC 011A01B1C 011A0B11C 011AB011C 0110AD011C 0110A0D11C 0110A01D1C 0110A011DC 0110A011B0C 0110A01B10C 0110A0B110C 0110AB0110C 01100110C 01100110 2 设计下列各文法G 使得它们分别是 1 G是个上下文无关文法 且L G aibjck i j k 1 2 G是个正规文法 且L G aibjck i j k 1 3 G是个上下文无关文法 且L G wwR w 0 1 其中wR是w的逆转 例如w 001 则wR 100 解 设计一个文法G要验证 凡是符合要求的句子G都能产生出来 G产生出来的所有句子都是符合要求的 1 G S A B C a b c P S P S ABC A aA a B bB b C cC c 2 G S A B C a b c P S P S aA A aA bB B bB cC C cC 3 G S 0 1 P S P S 0S0 1S1 00 11 第二章习题 1 设计一个有限自动机 FA M 使得T M 中的每个句子w同时满足下面三个条件 1 w a b 2 w 是3的整数倍 3 w以a开头 以b结尾 解 2 设计二个FAM1和M2 分别满足T M1 02i i是自然数 T M2 02i 1 i 0 1 2 3 4 解 M1 3 给定NFAM1 p q r s 0 1 p s 如下表所示 构造一个DFAM2 使得T M1 T M2 解 令M2 K q0 F 其中K 2K K 中的元素是由K的子集 q1 q2 qi 构成 但是要把子集 q1 q2 qi 作为的一个状态看待 因此把此子集写成 q1 q2 qi q0 q0 F q1 q2 qi q1 q2 qi K 且 q1 q2 qi F K K 对 q1 q2 qi K a 有 q1 q2 qi a p1 p2 pj 当且仅当 q1 q2 qi a p1 p2 pj q0 p K 和F 以后确定 p 0 1 p q p p q p q r p r p r p q s p p q r p q r s p r p q s p q r s p r s p r s p q s p s p s p q s p s p q r s p q r s p r s K p p q p r p s p q r p q s p r s p q r s F p s p q s p r s p q r s 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 4 将下面的 NFAM等价变换成NFAM 对任何q K 任何a q a q a 解 M K q0 F q0是M的开始状态 其中 公式 1 对于 q K q CLOSURE q 公式 2 对于 q K w a q wa CLOSURE q w a 因为f CLOSURE a a b 所以F F f q K 任何a q a q a 在计算 q a 时 要将a理解成a路径 例如 a 0 a 0 c e d b 0 1 abcdef c e d b d b d b f f d b f d b f f d b 5 化简正规表达式a aa a b b ab b 解 上式 a aa a b b其中 aa a 代表集合 aa aaaa aaaaaa a aa aaaa aaaaaa a aaa aaaaa a aa aaa aaaa aaaaa aaaaaa a 于是上式 aa b b a b b a b a b 6 构造一个FAM 使得T M 的正规表达式为01 0 1 1 解 1 分解表达式 找出基本单元 0 1 01 1 设计接收这些基本单元的自动机如下 2 组装 按照优先权从高到低 01 0 1 1 1 0 1 0 1 7 给定FAM如下图所示 求它所接收的语言T M 的正规表达式 解 8 将下面有限自动机简化 要求有简化过程 解 一 定义K上等价关系 给定DFAM K q0 F p q K p q 对 x 有 p x F q x F如果p q也称p与q是不可区分的 二 商集K 三 的逆关系 p q x x p x F q x F x x p x F q x F p x F q x F x x 使得 p x 与 q x 恰有一个在F中 如果p q 称p与q是可区分的 判断p q是比较容易的 4 判断可区分状态对的算法引理2 1设M K q0 F 是DFA 则状态对 p q 是可区分的 即p q 当且仅当在下面算法中 p q 格写上 begin1 forp F q K F do给 p q 格写 2 forF F或 K F K F 中每个状态对 p q p q do3 if a 使得格 p a q a 内已经写上 thenbegin4 给 p q 格写 5 如果刚刚写上 的格内有先前写入的状态对 此状态对的格同时也写入 反复执行5 直到写入 的格内没有先前写入的状态对为止 endelse 格 p a q a 内无 6 for每个a do7 把 p q 写入格 p a q a 内 除非 p a q a end 执行此算法的结果用一个表表示 实际上 执行此算法的过程就是向这个表内写入 的过程 b d a b be a c ba a d bf b c b d c d e f ea ef fe af dd fe 得 b d e f a a c c 于是K a b d c e f 五 构造简化的有限自动机定理2 5 1给定DFAM K q0 F 可根据引理2 1中的算法构造出除去不可达状态的具有更少状态的DFAM 使得T M T M 证明 先对M用引理2 1中的算法求出K 再构造M M K q0 F 其中K q q K 且在M中q是从q0可达的状态 F q q F 对任何 q K 任何a q a q a K a b d c e f a b c e b b d e e f K a b c e F e M K a F a b c e 0 1 a e q a q a 01 a b c e b c b e a a e e 9 给定DFAM如图所示 求一个左线性文法G 使得L G T M 解 有两种方法 方法11 先将M逆转成M 2 根据M 构造右线性文法G S A C A 0BB 0A 0C 1C 0C 1A 1B 1 3 将G 逆转成左线性文法G S A C A B0B A0 C0 C1 0C A1 B1 1 P q ap q a p q a q a F 方法21 先根据M构造右线性文法G A 0B 1C 1 其中A是开始变元 B 0A 1C 0 1C 0B 1B2 再将G 直接变成左线性文法G 根据定理 1 S 当且仅当S P 2 Ai 当且仅当S Ai P 3 Ai Aj 当且仅当Aj Ai P 4 S Aj 当且仅当Aj P 1 由A 1得 A 1 2 由A 0B得 B 0由A 1C得 C 1 3 由B 0A得 A B0由B 1C得 C B1由C 0B得 B C0由C 1B得 B C1 4 由B 0得 A B0由B 1得 A B1 方法21 先根据M构造右线性文法G A 0B 1C 1 其中A是开始变元 B 0A 1C 0 1C 0B 1B因开始变元A出现在产生式右侧 故引入新的开始变元S S A 其中S是开始变元 A 0B 1C 1 B 0A 1C 0 1C 0B 1B 2 再将G 直接变成左线性文法G 根据定理 1 S 当且仅当S P 2 Ai 当且仅当S Ai P 3 Ai Aj 当且仅当Aj Ai P 4 S Aj 当且仅当Aj P 2 S A得 A 3 由A 0B得 B A0由A 1C得 C A1由B 0A得 A B0由B 1C得 C B1由C 0B得 B C0由C 1B得 B C1 4 由A 1得 S A1由A 得 S A由B 0得 S B0由B 1得 S B1 整理得左线性文法G S A1 B0 B1 AA B0 B A0 C0 C1C A1 B1表面上看与方法1得结果略有些不同S A C A B0B A0 C0 C1 0C A1 B1 1 10 首先构造一个右线性文法G 使得L G aibj i j 0 ck k 0 再构造一个有限自动机M 使得T M L G 解 令G S A B C a b c P S P S A C A aA B B bB b C cC c 令M S A B C a b c S E c A a b 11 给定右线性文法G S B C D 0 1 P S 其中P S B C B 0B 1B 011 试求一个FAM 使得T M L G C 0D 1C D 0C 1D解 此题与第10题类似 要将G变成简单右线性文法 唯一要处理的产生式是B 011 将它变成 B 0F F 1G G 1 12 证明L ai i是个素数 不是正规集 证明 1 假设L是正规集 2 令n是L满足正规集泵作用引理常数 3 取z am m n且m是个素数 z m n 根据正规集的泵作用引理 可将z写成z uvw形式 其中 uv n v 1 且对任何i 0有uviw L 4 令u an1 v an2 w an3 于是 uv n1 n2 n v n2 1 n1 n2 n3 m z uvw an1 n2 n3 am uviw an1 in2 n3 a n1 n2 n3 i 1 n2 am i 1 n2取i m 1 则uvm 1w am m 1 1 n2 am mn2 am 1 n2 由于n2 1 所以1 n2 2 而m 2 所以m 1 n2 不是素数 故uvm 1w L 产生矛盾 所以L不是正规集 第三章习题 1 给定CFGG S A B C a b c P S 其中 P S A B A Ab bS C b B AB Ba C AS b 去掉G中的无用符号和单一生成式 解 定义 给定CFGG S 如果在G中存在派生S X w 其中w X 则称符号X是有用的 否则X是无用的 利用两个引理 去掉无用符号 注意 一定是先应用引理3 2 1 后应用引理3 3 2 引理3 2 1给定CFGG S 且L G 可以找到一个与G等价的CFGG S 使得每个A 都有w 且在G 中有A w 证明 1 求 的算法 begin OLD NEW A A w P且w WhileOLD NEW dobegin OLD NEW NEW OLD A A P 且 OLD end NEW end 引理3 2 2给定CFGG S 可以找到一个与G等价的CFGG G S 使得每个X 都有 且在G 中有派生S X 证明 1 执行下面迭代算法求 和 1 置初值 S 2 如果A 在P中又有产生式A 1 2 m 则可以将 1 2 m中的所有变元加到 中 将 1 2 m中的所有终极符加到中 中 重复2 3 若没有新的符号可加入到 中 算法停止 最后得到 P S A B A Ab bS C b B AB Ba C AS b 对G应用引理3 2 1 执行上述算法 得到的结果如下表所示 循环次数i初值123 OLD NEW A C S A C A C A C S A C S 最后得G CFGG S A C a b c P S 其中P S A A Ab bS C b C AS b实际上 只去掉了不能推出终极符串的变元B 再对G 应用引理3 2 2 P S A A Ab bS C b C AS b再对G 用引理3 2 2处理 执行算法的结果如下表所示 最后得G S A C b P S P S A A Ab bS C b C AS b实际上只去掉了无用符号a和c 下面对G 去掉单一产生式 对任何A B 如果有A B 且B 1 2 n是P 中B的所有非单一产生式 则把所有A 1 2 n加到P 中 P S A A Ab bS C b C AS b下面去掉单一产生式S A A C 得P S Ab bS C b A Ab bS AS b C AS b再去掉S C 得S Ab bS AS b A Ab bS AS b C AS b但是 可以看出C是无用符号 所以C AS b也被去掉 最后得 G S A b P S P S Ab bS AS b A Ab bS AS b 2 给定CFGG S A B C a b P S 其中 P S ABC A BB B CC a C AA b 去掉G中的 生成式 解 首先求出可为零的变元 即可以推出 的变元 显然有A C B和S 如果A X1X2 Xn P 则将所有形如A 1 2 n的产生式都加到P 中 其中 如果Xi不是可为零的 则 i Xi 如果Xi是可为零的 则 i Xi或者 i 但是 如果所有Xi i 1 2 n 都是可为零的 则不可所有 i 于是最后得 S ABC BC AC AB C B A A BB B B CC C a C AA A b 3 给定CFGG S A 0 1 P S 其中 P S AA 0 A SS 1 将G写成GNF形式 解 此时G已经具备CNF形式 A BC D a 1 变元重新命名 令A1 S A2 A P A1 A2A2 0 A2 A1A1 1 2 处理A2 A1A1 1 变成 A2 A2A2A1 0A1 1 3 处理左递归A2 A2A2A1 0A1 1 变成 A2 0A1 1 0A1Z2 1Z2 Z2 A2A1 A2A1Z2 4 处理A1 A2A2 0 得A1 0A1A2 1A2 0A1Z2A2 1Z2A2 0 5 处理Z2 A2A1 A2A1Z2 分别得 Z2 0A1A1 1A1 0A1Z2A1 1Z2A1Z2 0A1A1Z2 1A1Z2 0A1Z2A1Z2 1Z2A1Z2 最后得G A1 A2 Z2 0 1 P A1 P A1 0A1A2 1A2 0A1Z2A2 1Z2A2 0A2 0A1 1 0A1Z2 1Z2 Z2 0A1A1 1A1 0A1Z2A1 1Z2A1Z2 0A1A1Z2 1A1Z2 0A1Z2A1Z2 1Z2A1Z2 4 构造一个PDAM 使得T M w w a b w中a b的个数相等 解 设计思想 有两个状态q1和q2 q1是开始状态 q2是终止状态 栈内符号 A B R R是开始时栈内符号 开始时 读a 向栈压入A 读b 向栈压入B 之后 当读a时 如果栈顶是A 再向栈压入一个A 如果栈顶是B 则B退栈 当读b时 如果栈顶是B 再向栈压入一个B 如果栈顶是A 则A退栈 如果w中a b的个数相等 则M读完w后 栈顶应该是R 此时M进入终止状态q2 令M q1 q2 a b A B R q1 R q2 q1 a R q1 AR q1 b R q1 BR q1 a A q1 AA q1 a B q1 q1 b A q1 q1 b B q1 BB q1 R q2 如w bbabaa时 M识别w的过程 表示ID间的变化 q1 bbabaa R q1 babaa BR q1 abaa BBR q1 baa BR q1 aa BBR q1 a BR q1 R q2 再如w abbab 看看M是如何拒绝接收的 q1 abbab R q1 bbab AR q1 baa R q1 aa BR q1 a R q1 AR 无下一个动作 w T M 5 给定CFGG S A B a b c P S 其中P为 S aAB aAA bSa Ab Bc b 求一个PDAM 使得T M L G 解 1 先简化G 因为G中无 产生式和单一产生式 所以只去掉无用符号 对G应用引理3 2 1 执行上述算法 得到的结果如下表所示 得G S A a b c P S P S aAA bSa Ab b 循环次数i初值123 OLD NEW A S A A A S A S P S aAA bSa Ab b 再对G 应用引理3 2 2处理 执行算法的结果如下表所示 得G S A a b P S P S aAA bSa Ab b 2 将G 变成GNF形式先变成 S aA A bSD Ab b D a 处理左递归A Ab bSD b 变成 A bSD b bSDZ bZ Z b bZ最后得 S aA A bSD b bSDZ bZ Z b bZ D a S aA A bSD b bSDZ bZ Z b bz D a 3 根据上述文法 构造PDAM 使得N M L G M q a b S A D Z q S 由S aA得 q a S q A 由A bSD b bSDZ bZ得 q b A q SD q q SDZ q Z 由Z b bz得 q b Z q q Z 由D a得 q a D q 4 根据M 变成M 使得T M N M M q0 q q1 a b S A D Z E q0 E q1 q0 E q SE q a S q A q b A q SD q q SDZ q Z q b Z q q Z q a D q q E q1 6 给定PDAM q0 q1 0 1 Z0 X q0 其中 如下 q0 1 Z0 q0 XZ0 q0 1 X q0 XX q0 0 X q1 X q0 Z0 q0 q1 1 X q1 q1 0 Z0 q0 Z0 求一个CFGG使得L G N M 解 令M K q0 Z0 N M L 构造一个CFGG S 其中 q A p q p K A S 0 1 S q0 Z0 q0 q0 Z0 q1 q1 Z0 q0 q1 Z0 q1 q0 X q0 q0 X q1 q1 X q0 q1 X q1 P中产生式有三种类型 1 对任何q K 有S q0 Z0 q 1 S q0 Z0 q0 2 S q0 Z0 q1 2 对K中任何q q1 q2 qm qm 1 p 任何a 任何A B1 B2 Bm 只要 q a A 中含有 q1 B1B2 Bm 则有产生式 q A p a q1 B1 q2 q2 B2 q3 qm Bm p 由 q0 1 Z0 q0 XZ0 3 q0 Z0 q0 1 q0 X q0 q0 Z0 q0 4 q0 Z0 q0 1 q0 X q1 q1 Z0 q0 5 q0 Z0 q1 1 q0 X q0 q0 Z0 q1 6 q0 Z0 q1 1 q0 X q1 q1 Z0 q1 由 q0 1 X q0 XX 得7 q0 X q0 1 q0 X q0 q0 X q0 8 q0 X q0 1 q0 X q1 q1 X q0 9 q0 X q1 1 q0 X q0 q0 X q1 10 q0 X q1 1 q0 X q1 q1 X q1 由 q0 0 X q1 X 得11 q0 X q0 0 q1 X q0 12 q0 X q1 0 q1 X q1 由 q1 0 Z0 q0 Z0 得13 q1 Z0 q0 0 q0 Z0 q0 14 q1 Z0 q1 0 q0 Z0 q1 3 对任何q p K 任何a 任何A 如果有 q a A 中含有 p 则有产生式 q A p a 由 q0 Z0 q0 得15 q0 Z0 q0 由 q1 1 X q1 得16 q1 X q1 1下面对这些产生式进行整理 1 S q0 Z0 q0 2 S q0 Z0 q1 3 q0 Z0 q0 1 q0 X q0 q0 Z0 q0 4 q0 Z0 q0 1 q0 X q1 q1 Z0 q0 5 q0 Z0 q1 1 q0 X q0 q0 Z0 q1 6 q0 Z0 q1 1 q0 X q1 q1 Z
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 童年测试题及答案
- 2025年书法教学指导协议
- 2025年舞蹈培训机构合作伙伴协议书
- 2025年企业策划经营权与所有权协议书样本
- 2025年天猫商家转会协议书范文
- 2025年规范离婚子女抚养费用协议指南
- 2025年策划共同设立教育培训机构合作框架协议
- 2025年标准住宅购买预约协议样式
- 2025年星级酒店管理协议书范例
- 企业创新中的法律合规框架
- T/ZGM 001-2017离子交换树脂工业回收硫酸
- 2025-2030中国机场驱鸟车行业发展现状及发展趋势与投资风险研究报告
- 抖音合伙人合同协议书
- 创新创业计划书非遗
- 《重大火灾隐患判定方法》解读与培训
- 北京2025年北京市东城区事业单位招聘工作人员笔试历年参考题库附带答案详解析
- 大学英语四级考试模拟试卷2025年真题模拟测试
- 化工行业智能工厂与自动化生产方案
- 大学生干部竞选学生会干部竞选207
- 2025山西华阳新材料科技集团有限公司招聘500人笔试参考题库附带答案详解
- 北京自住房家庭购房申请表
评论
0/150
提交评论