图灵机是图灵理论中提出的理想模型,可以实现任意复杂的计算。
英国数学家艾伦·麦席森·图灵在1936年提出了“图灵机”的理论,图灵机设想有一条无限长的纸带,纸带上方有一个个方格,每个方格可以储存一个符号,纸带可以向左或者向右运动。
图灵机可以做下面三个基本的操作:
下面我们通过一个小例子来简单理解图灵机是怎样进行计算的。这个例子比较简单,我们将在空白的纸带上打印110这三个数字。
首先,我们向指针头指向的方框中写入数字1:
接着,我们让纸带向左移动一个方框:
这样我们就完成了一个简单的图灵机操作。
我们来尝试一个稍微复杂点的操作,我们尝试将110做一个异或操作,即将110变成001。要图灵机完成计算,就类似于向图灵机输入以下操作指令,这些指令组成了一个小程序。
我们假设图灵机的纸带现在的状态是如下图所示:
现在读取到的符号是0,按照操作指令,我们应该往方框写入1并向右移动一个方框:
类似地,现在读取到的符号是1,我们重复相同的操作。
上面我们使用了图灵机成功完成了异或操作,理论上来讲我们也可以完成加法、减法、乘法、除法操作,只不过是实现的步骤(指令)复杂些而已。
下面这个网站是一个图灵机的在线模拟器,其实现了一些基本运算,比如:加法、减法等,有兴趣的可以自己去试试看。
OnlineTuringMachineSimulator。
让我们尝试这样的思考历程:
“图灵机”理论通过假设模型证明了任意复杂的计算都能通过一个个简单的操作完成,从而从理论上证明了「无限复杂计算」的可能性,直接给计算机的诞生提供了理论基础。
从这样的思考历程来看,图灵机的出现为计算机的诞生奠定了理论基础,这就是图灵机诞生的意义。
图灵机提出的意义在哪里?
图灵在科学、特别在数理逻辑和计算机科学方面,取得了举世瞩目的成就,他的一些科学成果,构成了现代计算机技术的基础。
图灵把可计算函数定义为图灵机可计算函数.1937年,图灵在他的“可计算性与λ可定义性”一文中证明了图灵机可计算函数与λ可定义函数是等价的,从而拓广了丘奇论点,得出:算法(能行)可计算函数等同于一般递归函数或λ可定义函数或图灵机可计算函数.这就是“丘奇-图灵论点”,相当完善地解决了可计算函数的精确定义问题,对数理逻辑的发展起了巨大的推动作用。
图灵机的概念有十分独特的意义:如果把图灵机的内部状态解释为指令,用字母表的字来表示,与输出字输入字同样存贮在机器里,那就成为电子计算机了。由此开创了“自动机”这一学科分支,促进了电子计算机的研制工作.。
与此同时,图灵还提出了通用图灵机的概念,它相当于通用计算机的解释程序,这一点直接促进了后来通用计算机的设计和研制工作,图灵自己也参加了这一工作。
在给出通用图灵机的同时,图灵就指出,通用图灵机在计算时,其“机械性的复杂性”是有临界限度的,超过这一限度,就要靠增加程序的长度和存贮量来解决.这种思想开启了后来计算机科学中计算复杂性理论的先河。
还没有评论,来说两句吧...