- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]形式语言与自动机理论-08
图灵机 西北工业大学计算机学院 康慕宁 基本定义 FA是处理RL的装置,PDA是处理CFL的装置,都不能作为计算机的通用模型。 图灵机是一个通用的计算模型,是计算机的一个简单数学模型,与现今的计算机具有相同的计算能力。 图灵机由图灵1936年提出,用来研究可计算性。可计算的特点是有穷、离散、机械执行、停机。 丘奇-图灵论题:任意一般的计算方式都只允许计算部分递归函数。 基本图灵机的物理模型 TM的移动与所读符号、所处状态有关。 一个移动可以完成以下三个动作: 改变有穷控制器状态 在当前所读符号所在的带方格中印刷一个符号 将读头向右或者向左移动一格 基本图灵机的形式定义 定义:图灵机(TM—Turing Machine)是一个七元组: M=(Q, Σ, Γ, δ, q0,B, F)。其中, Q——状态的非空有穷集合。?q∈Q,q称为M的一个状态。 Σ——Σ?Γ-{B}是输入字母表。 Γ——带符号表。?X∈Γ称为一个带符号,表示X可以出现在带上。 q0——q0∈Q是M的开始状态,也可叫作初始状态或启动状态。 B——B∈Γ称为空白符,含有空白符的带方格被认为是空的。 F——F?Q是M的终止状态集合。?q∈F称为M的终止状态。 δ——状态转移函数,有时又叫作状态转换函数或者移动函数,δ:Q×Γ→Q×Γ×{R,L} δ(q,X)=(p,Y,R) 例 构造TM M,使L(M)={0n1n2n | n≥1} 分析: 不能通过“数”0、1、或者2的个数来实现检查。 最为原始的方法来比较它们的个数是否是相同的:消除一个0、然后消除一个1,最后消除一个2。 消除的0的带方格上印刷一个X,在消除的1的带方格上印刷一个Y,在消除的2的带方格上印刷一个Z。 图灵机举例(续) 正常情况下,输入带上的符号串的一般形式为 00…0011…1122…22 TM启动后,经过一段运行,输入带上的符号串的一般情况为 X…X0…0Y…Y1…1Z…Z2…2BB 需要给予边界情况密切的关注。 图灵机举例(续) 边界情况 X…XX…XY…YY…YZ…Z2…2BB X…XX…XY…Y1…1Z…Z2…2BB X…X0…0Y…YY…YZ…Z2…2BB X…X0…0Y…Y1…1Z…ZZ…ZBB X…X0…0Y…YY…YZ…ZZ…ZBB 图灵机举例(续) 移动函数 TM作为非负整数函数计算模型 非负整数进行编码 ——1进制 用符号串0n表示非负整数n。 用符号串 表示k元函数f(n1, n2,…, nk)的输入。 如果f(n1, n2,…, nk)=m,则该TM M的输出为0m 。 我们称TM M计算k元函数f(n1, n2,…, nk), f(n1, n2,…, nk)为TM M计算的函数。也称f是图灵可计算的(Turing computable)。 递归函数与部分递归函数 设有k元函数f(n1, n2,…, nk),如果对于任意的n1, n2,…, nk ,f均有定义,也就是计算f的TM总能给出确定的输出,则称f为完全递归函数(total recursive function)。 一般的,TM计算的函数称为部分递归函数(partial recursive function)。 从对任意输入串是否都停机来讲,部分递归函数与递归可枚举语言相对应,完全递归函数与递归语言对应。 例 构造TM M,对于任意非负整数n,m,M计算m+n 分析:M的输入为0n10m,输出0n+m的符号串。n和m为0的情况需要特殊考虑。 当n=m=0时,输入为1,输出为B,需将1改写为B. 当n=0,m0时,需将1改写为0,将最后一个0改写为B. 当n0,m=0时,需要扫描过表示n的符号0,并将1改为B。 当n0,m0时,我们需要将符号1改为0,并将最后一个0改为B。 动作规律:将1改写为0,将最后一个0改写为B(可能是1改写成的0) 减法图灵机 构造TM M5,对于任意非负整数n,m,M5计算如下函数: 构造思路 分析 M5反复进行下面的工作:先用B替换1左边领头的0,然后向右搜寻1右边的第一个0,并将这个0替换为X,然后左移到B。重新开始循环。 退出循环的条件有两种: (一) 1的左边找不到0,说明n≤m,应输出00,应将所有非B符号改写为B; (二)1的右边找不到0,说明nm,应输出0n-m,应将1替换为0,将X替换为B。 图灵机构造技术 构造复杂图灵机的常用技术包括: – 有限控制器中的存储 – 多道技术 – 子程序技术 有限控制器中的存储 有限控制器可以用来保存有限数量的信息。我们可将状态写成元素偶的形式,一个分量实现控制,另外的分量用于存储。 例如:构造TM M,输入字母表为{0,1},现要求M在输入符号串的开始处添加子串10。 分析:为在符号串的开始处添加子串10,需要将整
文档评论(0)