- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
形式语言与自动机理论--第九章(蒋宗礼)
3. 子程序(subroutine)技术 例9-11 构造M12完成正整数的乘法运算。 分析: 设两个正整数分别为m和n。 输入串为0n10m 。 输出应该为0n*m 。 算法思想:每次将n个0中的1个0改成B,就在输入串的后面复写m个0。 在M12的运行过程中,输入带的内容为 Bh0n-h10m10m*hB 正整数的乘法运算 (1)初始化。完成将第一个0变成B,并在最后一个0后写上1。我们用q0表示启动状态,用q1表示完成初始化后的状态。首先,消除前n个0中的第一个0, q00n10m ├+ Bq10n-110m1 (2)主控系统。从状态q1开始,扫描过前n个0中剩余的0和第一个1,将读头指向m个0的第一个,此时的状态为q2。其ID变化为 Bhq10n-h10m10m*(h-1)B ├+ Bh0n-h1 q20m10m*(h-1)B 正整数的乘法运算 当子程序完成m个0的复写后,回到q3。这个状态相当于子程序的返回(终止)状态。然后在q3状态下,将读头移回到前n个0中剩余的0中的第一个0,并将这个0改成B,进入q1状态,准备进行下一次循环 Bh0n-h1 q30m10m*hB ├+ Bh+1q10n-h-110m10m*hB 正整数的乘法运算 当完成m*n个0的复写之后,清除输入带上除了这m*n个0以外的其他非空白符号。q4为终止状态 Bnq110m10m*nB ├+ Bn+1+m+1 q4 0m*nB (3)子程序。完成将m个0复写到后面的任务。从q2启动,到q3结束,返回到主控程序。 Bh+10n-h-11 q20m10m*hB ├+ Bh+10n-h-11 q30m10m*h+1B 9.2 TM的变形 从不同的方面对TM进行扩充。 双向无穷带TM。 多带TM。 不确定的TM。 多维TM等。 它们与基本的TM等价。 9.2.1 双向无穷带TM 物理模型 9.2.1 双向无穷带TM 双向无穷带 (Turing machine with two-way infinite tape,TM) TM M=(Q, ∑, Γ, δ,q0 , B , F) Q, ∑, Γ, δ,q0 , B , F的意义同定义9-1。 M的即时描述ID同定义9-2。 允许M的读头处在输入串的最左端时,仍然可以向左移动。 9.2.1 双向无穷带TM M的当前ID X1X2…Xi-1qXiXi+1…Xn 如果δ(q, Xi)=(p, Y, R) 当i≠1并且Y≠B时,M的下一个ID为 X1X2…Xi-1YpXi+1…Xn 记作 X1X2…Xi-1qXiXi+1…Xn├M X1X2…Xi-1YpXi+1…Xn 表示M在ID X1X2…Xi-1qXiXi+1…Xn下,经过一次移动,将ID变成X1X2…Xi-1YpXi+1…Xn 。 9.2.1 双向无穷带TM 当i=1并且Y=B时,M的下一个ID为 pX2…Xn 记作 qX1X2…Xn├M pX2…Xn 这就是说,和基本TM在读头右边全部是B时,这些B不在ID中出现一样,当双向无穷带TM的读头左边全部是B时,这些B也不在该TM的ID中出现。 9.2.1 双向无穷带TM 如果δ(q, Xi)=(p, Y, L) 当i≠1时,M的下一个ID为 X1X2…pXi-1YXi+1…Xn 记作 X1X2…Xi-1qXiXi+1…Xn├M X1X2…pXi-1YXi+1…Xn 表示M在ID X1X2…Xi-1qXiXi+1…n下,经过一次移动,将ID变成X1X2…pXi-1YXi+1…Xn 。 9.2.1 双向无穷带TM 当i=1时,M的下一个ID为 pBYX2…Xn 记作 qX1X2…Xn├M pBYX2…Xn 表示M在ID qX1X2…Xn下,经过一次移动,将ID变成pBYX2…Xn。 9.2.1 双向无穷带TM 定理9-1 对于任意一个双向无穷带TMM,存在一个等价的基本TMM′。 证明要点: 双向无穷存储的模拟:用一个具有2个道的基本TM来模拟:一个道存放M开始启动时读头所注视的带方格及其右边的所有带方格中存放的内容;另一个道按照相反的顺序存放开始启动时读头所注视的带方格左边的所有带方格中存放的内容。 双向移动的模拟:在第1道上,移动的方向与原来的移动方向一致,在第2道上,移动的方向与原来的移动方向相反。 用单向无穷带模拟双向无穷带 9.2.2 多带TM 多带TM(multi-tape turing machine) 允许TM有多个双向无穷带,每个带上有一个相互独立的读头。 k带TM在一次移动中完成如下三个动作 ⑴ 改变当前状态; ⑵ 各个读头在自己所注视的带方格上印
您可能关注的文档
最近下载
- 表面麻醉剂的生产工艺及流程.docx
- JRC-JLR-7800-7500 GPS-中文操作说明书.pdf VIP
- 社会保障学作业四 答案 国家开放大学.docx
- 社会保障学作业二 答案 国家开放大学.docx
- 专题05+生物的分类、鉴别和保护(期末复习课件)七年级生物上学期新教材冀少版.pptx VIP
- 专题04+微生物+(期末复习课件)七年级生物上学期新教材冀少版.pptx VIP
- 专题03+藻类、植物和动物(期末复习课件)七年级生物上学期新教材冀少版.pptx VIP
- 专题02+组织、器官、系统和生物体(期末复习课件)七年级生物上学期新教材冀少版.pptx VIP
- 专题01+细胞(期末复习课件)七年级生物上学期新教材冀少版.pptx VIP
- 2025公路水泥混凝土路面设计规范.pdf
原创力文档


文档评论(0)