非确定型图灵机

如果不加特殊说明,通常所说的图灵机都是确定型图灵机。非确定型图灵机和确定型图灵机的不同之处在于,在计算的每一时刻,根据当前状态和读写头所读的符号,机器存在多种状态转移方案,机器将任意地选择其中一种方案继续运作,直到最后停机为止。具体而言,其状态转移函数为

其中是状态集合,是带字母表,分别表示读写头向左和向右移动;符号 表示集合的幂集,即

例如,设非确定型图灵机的当前状态为,当前读写头所读的符号为,若

任意地选择一个,按其进行操作,然后进入下一步计算。

非确定型图灵机在输入串上的计算过程可以表示为一棵树,不同的分支对应着每一步计算的不同的可能性。只要有任意一个分支进入接受状态,则称接受;只要有任意一个分支进入拒绝状态,则称拒绝;某些分支可能永远无法停机,但只要有一个分支可以进入接受或拒绝状态,我们就说在输入上可停机。注意,我们规定必须是无矛盾的,即它不能有某个分支接受而同时另一个分支拒绝,这样有矛盾的非确定型图灵机是不合法的。

定理:对于任意一个非确定型图灵机,存在一个确定型图灵机,使得它们的语言相等,即

证明:因为非确定型图灵机的计算过程就是一棵树,因此我们只需遍历该树就可以模拟其计算过程。一个简单的想法是利用深度优先搜索来遍历的计算树,但这样行不通,因为的某些计算分支可能永远不停机!所以我们可以采用一种在算法设计中称为迭代加深搜索的技巧来遍历的计算树。具体证明如下:

对于非确定型图灵机,构造一个确定型图灵机如下:

  1. 深度优先地模拟的每个分支的计算,但每个分支最多只计算步,如果某个计算分支在步内可以停机,则也停机,并将该计算分支的计算结果输出。
  2. 增加 1,跳转到上一步继续执行。

显然,若有某个分支可以停机,则此也一定会找到该分支并停机。因此

定理2:如果语言L被非确定型图灵机在多项式时间内接受,则一定存在多项式P使得语言L被时间复杂度为的确定型图灵机程序所接受。

图灵之非确定型图灵机相关推荐

  1. 图灵 计算机 ppt,turing machine 图灵机.ppt

    turing machine 图灵机 Outline 图灵机的意义 图灵机概述 图灵机的基本思想 图灵机的组成 图灵机的计算思想 图灵机的意义 图灵机模型理论是计算科学最核心的理论之一 图灵机模型为计 ...

  2. 怎样应对“需求不确定型项目”?

    怎样应对"需求不确定型项目"? 问题描述 1.需求不确定,老板直接和客户谈需求,项目经理不能或不方便参与,打下手,这类项目怎样办? 2.要深层次了解客户的想法,各种利益,地盘等,这 ...

  3. 决策模型(一):不确定型决策法

    原文链接(转载请注明出处):决策模型(一):不确定型决策法 前言 所谓的不确定型的决策是指决策者对环境情况一无所知.这时决策者是根据自己的主观倾向进行决策,由决策者的主观态度的不同基本可分为四种准则: ...

  4. 【人工智能】确定型推理

    确定性推理(Deterministic Reasoning)目录 一.推理基本概念 二.推理逻辑基础 1. 命题逻辑(Propositional Logic) 2. 谓词逻辑(Predicate Lo ...

  5. p,np,npc,np难问题,确定图灵机与非确定图灵机

    本文转自豆瓣_燃烧的影子 图灵机与可计算性 图灵(1912~1954)出生于英国伦敦,19岁进入剑桥皇家学院研究量子力学和数理逻辑.1935年,图灵写出了"论高斯误差函数"的论文, ...

  6. 《类型和程序设计语言》

    目录 <类型和程序设计语言> 百科 λ演算 归约策略 并行与并发 图灵机 停机问题 非确定图灵机 新浪博客:Lambda Calculus -- 叙述通俗朴素 我的最爱Lambda演算-- ...

  7. 布尔表达式可满足性问题(SAT)与库克-列文定理(上)

    下篇:布尔表达式可满足性问题(SAT)与库克-列文定理(下). 文章目录 一.布尔表达式可满足性问题(Boolean Satisfiability Problem, SAT) 二.形式语言与自动机 1 ...

  8. PSPACE完全性学习笔记

    本节所需的前置知识 定义1:令M是一个在所有输入上都停机的确定型图灵机.M的空间复杂度定义为函数f:N→Nf:\ N\rightarrow Nf: N→N,其中f(n)f\left(n\right)f ...

  9. 计算理论——正则语言,上下文无关文法,图灵机,可判定性,可规约性

    目录 第一章 正则语言 状态图 自动机的形式化定义 非确定性 正则表达式 泵引理 使用泵引理证明某个语言非正则的方法 第二章 上下文无关文法 上下文无关文法概述 1.上下文无关文法形式化定义 2.上下 ...

最新文章

  1. 机器学习中的聚类算法(2):Mean Shift算法
  2. 开始学习吧,《算法》:动态连通性练习
  3. 最小二乘法多元线性回归_回归系列(二)| 最小二乘法真有那么复杂吗?
  4. 使用加密工具类进行有效的字符串加密——CSDN博客
  5. 吴恩达机器学习3-无监督学习
  6. java中四种修饰符
  7. 服装这个行业其实一直有点尴尬
  8. 透过“简书钻”来探究简书的商业模式转变
  9. 微型计算机控制系统的硬件组成
  10. 干货:IT运维管理规划
  11. 2018东北四省赛参赛总结
  12. [cogs2482][二分答案]Franky的胡子
  13. 【代码随想录】【LeetCode】自学笔记07 - 栈和队列
  14. 检查nmos管是否损坏
  15. 成都往事之从IBM公司辞职
  16. 《大空头》书中的精髓:理性在财富面前无足轻重,人类的贪婪和无所谓,造出了次贷危机这个怪兽。
  17. 数据库SDB数据缓冲层(TBL数据缓冲层)向ODB数据贴源层(QSL近源模型层)拉链算法脚本【SQL部分】
  18. 永遠のゼロ    009
  19. 通信原理学习笔记6-4:数字解调——抽样判决的译码准则(最大后验概率准则MAP、最大似然准则ML、最小二乘/最小平方准则LS、最小距离准则)
  20. nand flash 经典 全面 ------如何编写Linux下Nand Flash驱动

热门文章

  1. AI领域,中国人/华人有多牛?
  2. html--电子闹钟
  3. 【Socket网络编程】0.socket TCP/UDP 可参考 【lx青萍之末】 的 【Linux网络编程 】系列博客
  4. 黑盒测试中关键截图如何打点
  5. java从入门到精通5
  6. mybatisの配置文件
  7. springboot Scheduled
  8. 数据仓库3_ETL_数据抽取
  9. 大数据实时处理-基于Spark的大数据实时处理及应用技术培训
  10. 名帖348 孙过庭 草书《书谱》