计算理论习题答案CHAP3new.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算理论习题答案CHAP3new

3.3 修改定理3.10以得到推论3.12的证明,即证明一个语言是可判定的当且仅当有非确定的TM判定它。 证明:若M是一个确定型判定器则,则M也是一个非确定型判定器。 现在设N是一个非确定的判定器,将构造一个与之等价的确定型判定器M。模拟过程使用深度搜索。 设N的不确定性分支的最大个数为b。 M有三个带:一个输入带,一个工作带,一个地址带。M按深度优先方式搜索N的不确定计算分支树。 M= “输入w, 初始化,第一带上为w, 第二带为空,第三带为1; 将第一带的内容复制到第二带上, 按当前地址位数字选择N的一个不确定性分支,在第二带上模拟N运行一步; 若当前地址位为ib,且当前选择无效或按当前选择进入拒绝状态,则将当前地址位改为i+1, 转第2步; 若当前地址位为i=b,且当前选择无效或按当前选择进入拒绝状态,则将当前地址位改为空格, 左移并将当前地址位改为空格直到找到一个地址位其值b,将当前地址位改为i+1, 转第2步;若到了地址带的最左端仍有当前地址位为b,则拒绝; 若N进入接受状态,则接受;否则,右移一格,将空格上写入1,转第三步。” 由于N是非确定型判定器,所以对任意输入,由本题的提示M一定会停机。 3.4 给出枚举器的形式定义。 解:枚举器E=(Q,(,(,(,q0,qaccept,qreject), 其中转移函数(为: (:Q×((Q×(×{L,R}×(* ( (q,a)=(r,b,s1,c) 表示若E处于状态q,且在工作带上读到a,则状态转移为r,当前格改写为b并按s1作相应左或右移,打印带上写下字符串c,其中若c等于(,则不打印。 另外E的起始格局只能是q0v,这里v表示一个空格。 3.5 检查图灵机的形式定义,回答下列问题并解释你的推测: 图灵机能在它的带子上写下空白符吗 b.带字母表(和输入字母表(能相同吗? c.图灵机的读写头能在连续的两步中处于同一个位置吗? d.图灵机能只包含一个状态吗? 解: a.能。因为空白符属于带字母表(; b.不能。因为空白符不属于输入字母表(; c.能。当读写头处于左端点时,如果转移是向左转移,因为不准机器从带的左端点移出,所以下一个格局读写头仍在左端点。 d.不能。因为qaccept(qreject,至少应有两个状态。 3.6 解:因为M不一定是判定器,可能会在运行某个si时不停机,则L(M)中按字典序大于si的字符串不可能被枚举出来。 3.7 解:因为图灵机的一个本质要求是一步之内,只能做有限的工作,而第1)步中取所有可能的值,这有无限多种情况。 3.8构造具有3条带的图灵机。 对于问题a. w 先读入第一条带,然后读到0就把0写入第2条带,读到1就把1写入第3条带,直到读到空格为止。 然后把3个读写头都返回到最左边。 开始读第2条带和第3条带,每次都是读一个字符,如果同时遇上空格符,则接收,否则拒绝。 对于问题b: 和a的第1步相同。 和a的第2步相同。 每次读带3的一个字符就读带2的两个字符,如果同时遇上空格符,就接收,否则拒绝。 对于问题c: 和a的第1步相同。 和a的第2步相同。 每次读带3的一个字符就读带2的两个字符,如果同时遇上空格符,就拒绝,否则接受。 3.9由题知,1-pda代表一个栈的下推自动机,2-pda代表两个栈的下推自动机。如果能用2-pda模拟一个图灵机,而我们已经知道图灵机比下推自动机强大,那么就有2-pda比1-pda更强大。设有TM S。下面构造2-pda P,且记其两个栈分别为A,B: P=“对于输入w, 1) 将w读入栈A,再全部从栈A中依次弹出并读入栈B。 2) 模拟S在w上运行。记录S的当前状态,并且栈B的栈顶字符为S的读写头所指方格的字符: 若S执行一个右移((q,a)=(r,b,R),则将栈B的栈顶字符a替换为b,弹出b,推入栈A,记录S的当前状态r。 若S执行一个左移((q,a)=(r,b,L),首先将栈B的栈顶字符a替换为b;若栈A不空,则将栈A弹出一个字符推入栈B;若栈A为空(对应于S处于工作带最左端),则不作栈操作。记录S的当前状态r。 3) 若S进入接受状态,则进入接受状态。” 由上知.我们用2-pda模拟了图灵机,所以2-pda比1-pda强大. 下面用一个四带TM S来模拟一个3-pda P,要求P进入接受状态之前排空栈,并且或者推入或者弹出: 记P的三个栈为A,B,C。S的四个带,第一带用来模拟P的输入带,第二,三,四带分别模拟栈A,B,C: S=“对于输入字符串w, 初始化,第一带放入w,第二,三,四带为空。 模拟P分别在四个带上按如下方式动作: 若P在输入带上读一个非空字符,则读第一带字符并右移一格; 若P在输入带上读一个(,则在第一带上不读字符,且读写头保持不动。 栈A,B,C中若

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档