内容提要

什么是图灵机?

一个简单的例子

一个简单的程序

机器状态

有限状态机

什么是图灵机?

图灵机是一个虚拟的机器,由数学家阿兰·图灵1936年提出来的,尽管这个机器很简单,但它可以模拟计算机的任何算法,无论这个算法有多复杂。

上面是一个图灵机的简单示意图。假设有一个无穷的纸带,纸带就像一个存储器一样。纸带上面的每个格子是空白的,但是可以读写数据,在这个例子里,机器只能写0,1,或者什么也不写。这个机器就是包含3个信号的图灵机。

这个机器有一个探头,这个头可以移动到每一个空格上,用这个头,机器可以有3个基本操作。

1、读空格的数据

2、编辑数据,可以是写一个新的数据,可以是擦除数据

3、移动纸带向左或者向右,这样机器可以读或者编辑旁边的格子

一个简单的例子

首先,黑色加粗部分代表探头所指的部分,我们写一个1:

然后,我们把纸带向左移动一格:

写1到新的格子里面

然后把带子向左移动一格,并写一个0

一个简单的程序

现在纸带上面被写入了110,现在我们尝试着把1转换成0,0转换成1。这叫位反转。因为1和0是字节中的比特,可以通过如下指令让图灵机完成操作。利用机器的读的能力来自己决定它下一个操作,这个指令可以写一个简单程序。

指令如下

信息读取 写指令 移动指令

空 不写 不动‘

0 1 纸带移动到右边

1 0 纸带移动到右边

机器首先会读取头下面的数据,写一个新数据,然后根据指令移动纸带向左或者向右,然后继续重复重复这个过程。

让我们看看这个程序如何操作这个纸带的,首先探头放在0的位置:

然后我们把数据0改为1,并把纸带往右边移动一格

现在探头读到的是1,所以我们写0并把纸带向右移动一格

同样的,读到数据1,探头把它改写为0。

最后读到一个空格,此时这个探头不写任何数据,纸带也不动,但是探头会一直不停的重复读这个格子里的数据信息。

事实上,这个程序是不完整的。这个机器会一直重复执行命令,那应该如何停止呢?那么我们需要加一个机器状态指令。

机器状态

状态 数据 写 移动 下一个状态

0 空白 不写 不动 停止状态

0 1 纸带向右 状态0

1 0 纸带向右 状态0

我们把之前的指令分配给机器的状态,这样,当机器在某个具体的状态的时候,它就会执行相应的指令。每一个指令完成后,我们仍然让机器进入下一个状态。在这个例子中,机器会一直指向状态0,然后重复读—写—移动的操作,当读到一个空白信息时,机器会直接进入停止状态,程序结束运行。

有限状态机

尽管看起来有点傻,但是我们现在再给里面加一个状态,把现在的001变回成110。

下面的程序斜体字部分是更改过的语言。现在这个图灵机有2个状态,3个信号。是一个有限状态机。

状态 数据 写 移动 下一个状态

0 空白 写空白 纸带向左 状态1

0 1 纸带向右 状态0

1 0 纸带向右 状态0

1 空白 写空白 纸带向右 停止状态

0 1 纸带向左 状态1

1 0 纸带向左 状态1

上面这个程序中,当读到一个空白信息的时候,我们让纸带向左而不是停止,这样我们就可以继续做位反转操作。

下面,我们把字节又反转回来,纸带向左。

最后,读到一个空白,纸带向右,程序停止。

只要给程序添加足够多的状态,我们可以让图灵机有更多的功能,理论上可以实现现代计算机能做的一切复杂算法。

本文由鲶鱼编译自Computer laboratory of university of Cambridge

如需转载,请联系鲶鱼

简述什么是图灵机_什么是图灵机相关推荐

  1. 简述什么是图灵机_图灵机简介和原理分析

    图灵机简介和原理分析 摘要 : 1936 年, 阿兰·图灵提出了一种抽象的计算模型 -- 图 灵机 (Turing Machine) .图灵机是指一个抽象的机器,可被视作任 意解决有限数学逻辑过程的机 ...

  2. 【计算理论】图灵机 ( 接受状态作用 | 格局 | 图灵机语言 | 图灵机设计复杂性 )

    文章目录 一.接受状态作用 二.格局 三.图灵机语言 四.图灵机设计复杂性 一.接受状态作用 自动机 / 图灵机 与 现实计算 的区别是 现实计算中 没有 接受状态 概念 , 自动机 / 图灵机 的目 ...

  3. AI数学基础之:确定图灵机和非确定图灵机

    文章目录 简介 图灵机 图灵机的缺点 等效图灵机 确定图灵机 非确定图灵机 简介 图灵机是由艾伦·麦席森·图灵在1936年描述的一种抽象机器,它是人们使用纸笔进行数学运算的过程的抽象,它肯定了计算机实 ...

  4. 简述什么是图灵机_带你深入理解图灵机--什么是图灵机、图灵完备

    原标题:带你深入理解图灵机--什么是图灵机.图灵完备 我们知道图灵机首次提出在图灵的一篇论文<论数字计算在决断难题中的应用>中提出,原论文题目为<On Computable Numb ...

  5. 简述什么是图灵机_图灵机的工作原理是什么

    展开全部 所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了32313133353236313431303231363533e78988e69d8331333431373336一个一个 ...

  6. 简述什么是图灵机_图灵机原理及分析

    一. 图灵机原理及分析 图灵的基本思想是用机器来模拟人们用纸笔进行数学运算 的过程,他把这样的过程看作下列两种简单的动作: 1)在纸上写上或擦除某个符号: 2) 把 注意力从纸的一个位置移动到另一个位 ...

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

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

  8. 通用计算机的雏形是图灵机吗,什么是图灵机和通用计算机

    图灵机,又称图灵计算机,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算.对于任意一个图灵机,因为它的描述是有限的,因此总可以用某种方式将其编码为字符串.,用 表示图灵 ...

  9. 简述js原型链_简述js

    简述js原型链 (在React 16.8.0之前)((before React 16.8.0)) Yeah, I know that there are terabytes of data avail ...

最新文章

  1. php easyui tree 结构,EasyUI Tree树组件无限循环的解决方法
  2. [SPOJ705]不同的子串
  3. 消息称苹果斥资2亿美元收购Xnor.ai;华为2000万英镑投资,加速发展HMS手机生态系统;国产SSD将迎来爆发……...
  4. python scikit_如何将Scikit学习Python库用于数据科学项目
  5. 多种语言签名代码实现
  6. sqlserver 建表指定主键_3-自增字段;主键约束
  7. python requests post请求_Python“requests”模块中的POST请求无法正常工作
  8. docker images存放路径指定
  9. 《WCF技术内幕》翻译35:第2部分_第6章_通道:通道功能
  10. 一旦辞职,应该立即批准。留一段时间没有好处
  11. 小规模纳税人和一般纳税人的区别
  12. Solidity教程序列1 - 类型介绍
  13. 微信公众号开发---生成带参二维码
  14. 制作网站及论坛的过程
  15. ir2113错误电路
  16. 关于禁止html缓存
  17. QCC3040/QCC3046 ANC(主动降噪)调测
  18. type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel
  19. 必应缤纷桌面产品分析 马骏
  20. 免费Linux CAD应用软件

热门文章

  1. JVM 垃圾回收算法机制及其实现原理
  2. Springboot细节挖掘(对web的支持之数据校验)
  3. access中dbs和dbms_DB、DBS、DBMS之间有什么关系?
  4. python中的单例模式_Python单例模式
  5. mysql left join和or_Case:MySQL使用left join的时候or改写成union可以提高效率
  6. mysql linux root密码忘记了怎么办_linux下忘记mysql root密码解决办法
  7. 隐马尔可夫模型HMM学习备忘
  8. Unity面试题精选(3)
  9. oracle如何判断奇数偶数_堆垒素数论之旅(1):奇数哥德巴赫猜想
  10. OpenShift 4 之获取OpenShif的最新开发进度