什么是图灵机
所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。
在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。
在某些模型中,读写头沿着固定的纸带移动。要进行的指令(q1)展示在读写头内。在这种模型中“空白”的纸带是全部为 0的。有阴影的方格,包括读写头扫描到的空白,标记了 1,1,B的那些方格,和读写头符号,构成了系统状态。(由 Minsky(1967) p.121绘制)。
扩展资料:
通用机型
对于任意一个图灵机,因为它的描述是有限的,因此我们总可以用某种方式将其编码为字符串。我们用<M>表示图灵机 M的编码。
我们可以构造出一个特殊的图灵机,它接受任意一个图灵机 M的编码<M>,然后模拟 M的运作,这样的图灵机称为通用图灵机(Universal Turing Machine)。
现代电子计算机其实就是这样一种通用图灵机的模拟,它能接受一段描述其他图灵机的程序,并运行程序实现该程序所描述的算法。但要注意,它只是模拟,因为现实中的计算机的存储都是有限的,所以无法跨越有限状态机的界限。
经典图灵机及其许多变形识别语言的能力都是相同的,正因为如此,图灵机可以作为计算的一般模型。另外,通用图灵机(可编程图灵机)是存在的,通用图灵机可以模拟任意一个图灵机,这也是将图灵机作为现代计算机的形式模型的根本原因。
参考资料来源:百度百科—图灵机
什么是图灵模型,什么是图灵机
图灵机是图灵理论中提出的理想模型,可以实现任意复杂的计算。
英国数学家艾伦·麦席森·图灵在1936年提出了“图灵机”的理论,图灵机设想有一条无限长的纸带,纸带上方有一个个方格,每个方格可以储存一个符号,纸带可以向左或者向右运动。
图灵机可以做下面三个基本的操作:
下面我们通过一个小例子来简单理解图灵机是怎样进行计算的。这个例子比较简单,我们将在空白的纸带上打印1 1 0这三个数字。
首先,我们向指针头指向的方框中写入数字1:
接着,我们让纸带向左移动一个方框:
这样我们就完成了一个简单的图灵机操作。
我们来尝试一个稍微复杂点的操作,我们尝试将1 1 0做一个异或操作,即将1 1 0变成0 0 1。要图灵机完成计算,就类似于向图灵机输入以下操作指令,这些指令组成了一个小程序。
我们假设图灵机的纸带现在的状态是如下图所示:
现在读取到的符号是0,按照操作指令,我们应该往方框写入1并向右移动一个方框:
类似地,现在读取到的符号是1,我们重复相同的操作。
上面我们使用了图灵机成功完成了异或操作,理论上来讲我们也可以完成加法、减法、乘法、除法操作,只不过是实现的步骤(指令)复杂些而已。下面这个网站是一个图灵机的在线模拟器,其实现了一些基本运算,比如:加法、减法等,有兴趣的可以自己去试试看。
Online Turing Machine Simulator
让我们尝试这样的思考历程:
“图灵机”理论通过假设模型证明了任意复杂的计算都能通过一个个简单的操作完成,从而从理论上证明了「无限复杂计算」的可能性,直接给计算机的诞生提供了理论基础。
从这样的思考历程来看,图灵机的出现为计算机的诞生奠定了理论基础,这就是图灵机诞生的意义。