图灵机原理及分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.图灵机原理及分析
图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两种简单的动作:
1)在纸上写上或擦除某个符号;
2)把注意力从纸的一个位置移动到另一个位置;
而在每个阶段,人要决定下一步的动作,依赖于 (a) 此人当前所关注的纸上某个位置的符号和(b) 此人当前思维的状态。
为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:
一条无限长的纸带。
纸带被划分为一个接一个的小格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号表示空白。
纸带上的格子从左到右依此被编号为 0, 1, 2, ... ,纸带的右端可以无限伸展。
一个读写头。
该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。
一个状态寄存器。
它用来保存图灵机当前所处的状态。
图灵机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。
一套控制规则。
它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。
这个机器的每一部分都是有限的,但它有一个潜在的无限长
的纸带,因此这种机器只是一个理想的设备。
图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程
小虫模型:
下面我们用另一种思想来理解图灵机:
小虫的比喻:我们不妨考虑这样一个问题.假设一个小虫在地上爬,那么我们应该怎样从小虫信息处理的角度来建立它的模型呢? 首先, 我们需要对小虫所在的环境进行建模。
我们不妨假设小虫所处的世界是一个无限长的纸带,这个纸带上被分成了若干小方格,而每个方格都只有黑白两种颜色。
黑色表示该方格有食物,白色就表示没有。
假设小虫仅具有一个感觉器官:眼睛,而且它的视力差得可怜, 也就是说它仅仅能够感受到它所处的方格的颜色。
因而这个方格所在的位置的黑色或者白色的信息就是小虫的输入信息。
其次, 小虫有输出动作,它可以在方格上前移,后移,还可以涂写方格成黑色或者白色。
最后,小虫还会有两种内部状态,即{饥饿,吃饱}。
这样小虫的行动按照下面的程序进行:
程序:
输入当前内部状态输出下时刻的内部状态
黑饥饿涂白吃饱
黑吃饱后移饥饿
白饥饿涂黑饥饿
白吃饱前移吃饱
即如果当前处于饥饿状态,则有食物就吃掉,没有食物就“吐出
食物”;如果当前处于吃饱的状态,则如果没有食物就前移,如果有就后退,并且转入饥饿状态。
那么当小虫子读入黑白白黑白……这样的纸带的时候, 会怎样行动呢?小虫用圆圈表示,它从最左边开始移动,灰色表示饥饿状态,白色表示吃饱状态. 箭头表示移动的方向.从上到下,小虫一步一步地根据纸带的颜色和它自己的内部状态查找规则表中的对应项而采取行动。
例如第 5 步读入方格是黑色,内部状态为吃饱,根据这两项输入信息查找规则表找到对应项是第二项,根据小虫应该后移,且内部状态变为饥饿。
不难看到,到了第 8 步,情况跟第4步完全相同,输入都是白色纸带和饥饿状态,根据程序,小虫将重复4-8之间的动作,并一直持续下去……。
尽管从长期来看,小虫会落入机械的循环,然而当你输入给小虫白色信息的时候,它的反应可能完全不同 (如第 4 步和第 6 步的行为) 所以,只要小虫子的内部状态和程序非常复杂,那么小虫的行为也会越来越超出你的想象! 相信你已经明白了这个小虫模型,那么你就掌握了图灵机的工作原理,因为从本质上讲,这个小虫模型就是一台图灵机。