简述什么是图灵机_什么是图灵机
内容提要
什么是图灵机?
一个简单的例子
一个简单的程序
机器状态
有限状态机
什么是图灵机?
图灵机是一个虚拟的机器,由数学家阿兰·图灵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
如需转载,请联系鲶鱼
简述什么是图灵机_什么是图灵机相关推荐
- 简述什么是图灵机_图灵机简介和原理分析
图灵机简介和原理分析 摘要 : 1936 年, 阿兰·图灵提出了一种抽象的计算模型 -- 图 灵机 (Turing Machine) .图灵机是指一个抽象的机器,可被视作任 意解决有限数学逻辑过程的机 ...
- 【计算理论】图灵机 ( 接受状态作用 | 格局 | 图灵机语言 | 图灵机设计复杂性 )
文章目录 一.接受状态作用 二.格局 三.图灵机语言 四.图灵机设计复杂性 一.接受状态作用 自动机 / 图灵机 与 现实计算 的区别是 现实计算中 没有 接受状态 概念 , 自动机 / 图灵机 的目 ...
- AI数学基础之:确定图灵机和非确定图灵机
文章目录 简介 图灵机 图灵机的缺点 等效图灵机 确定图灵机 非确定图灵机 简介 图灵机是由艾伦·麦席森·图灵在1936年描述的一种抽象机器,它是人们使用纸笔进行数学运算的过程的抽象,它肯定了计算机实 ...
- 简述什么是图灵机_带你深入理解图灵机--什么是图灵机、图灵完备
原标题:带你深入理解图灵机--什么是图灵机.图灵完备 我们知道图灵机首次提出在图灵的一篇论文<论数字计算在决断难题中的应用>中提出,原论文题目为<On Computable Numb ...
- 简述什么是图灵机_图灵机的工作原理是什么
展开全部 所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了32313133353236313431303231363533e78988e69d8331333431373336一个一个 ...
- 简述什么是图灵机_图灵机原理及分析
一. 图灵机原理及分析 图灵的基本思想是用机器来模拟人们用纸笔进行数学运算 的过程,他把这样的过程看作下列两种简单的动作: 1)在纸上写上或擦除某个符号: 2) 把 注意力从纸的一个位置移动到另一个位 ...
- p,np,npc,np难问题,确定图灵机与非确定图灵机
本文转自豆瓣_燃烧的影子 图灵机与可计算性 图灵(1912~1954)出生于英国伦敦,19岁进入剑桥皇家学院研究量子力学和数理逻辑.1935年,图灵写出了"论高斯误差函数"的论文, ...
- 通用计算机的雏形是图灵机吗,什么是图灵机和通用计算机
图灵机,又称图灵计算机,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算.对于任意一个图灵机,因为它的描述是有限的,因此总可以用某种方式将其编码为字符串.,用 表示图灵 ...
- 简述js原型链_简述js
简述js原型链 (在React 16.8.0之前)((before React 16.8.0)) Yeah, I know that there are terabytes of data avail ...
最新文章
- php easyui tree 结构,EasyUI Tree树组件无限循环的解决方法
- [SPOJ705]不同的子串
- 消息称苹果斥资2亿美元收购Xnor.ai;华为2000万英镑投资,加速发展HMS手机生态系统;国产SSD将迎来爆发……...
- python scikit_如何将Scikit学习Python库用于数据科学项目
- 多种语言签名代码实现
- sqlserver 建表指定主键_3-自增字段;主键约束
- python requests post请求_Python“requests”模块中的POST请求无法正常工作
- docker images存放路径指定
- 《WCF技术内幕》翻译35:第2部分_第6章_通道:通道功能
- 一旦辞职,应该立即批准。留一段时间没有好处
- 小规模纳税人和一般纳税人的区别
- Solidity教程序列1 - 类型介绍
- 微信公众号开发---生成带参二维码
- 制作网站及论坛的过程
- ir2113错误电路
- 关于禁止html缓存
- QCC3040/QCC3046 ANC(主动降噪)调测
- type:ETL_QUALITY_UNSATISFIED; msg:quality not good enough to cancel
- 必应缤纷桌面产品分析 马骏
- 免费Linux CAD应用软件
热门文章
- JVM 垃圾回收算法机制及其实现原理
- Springboot细节挖掘(对web的支持之数据校验)
- access中dbs和dbms_DB、DBS、DBMS之间有什么关系?
- python中的单例模式_Python单例模式
- mysql left join和or_Case:MySQL使用left join的时候or改写成union可以提高效率
- mysql linux root密码忘记了怎么办_linux下忘记mysql root密码解决办法
- 隐马尔可夫模型HMM学习备忘
- Unity面试题精选(3)
- oracle如何判断奇数偶数_堆垒素数论之旅(1):奇数哥德巴赫猜想
- OpenShift 4 之获取OpenShif的最新开发进度