关闭
理论原理

什么是“图灵机”?

图灵机,又称图灵计算机,是一个抽象的机器。它由英国数学家艾伦・麦席森・图灵(1912-1954)于1936年提出的一种抽象的计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。

admin

admin

发布于 2周前 阅读:122

图灵机,又称图灵计算机,是一个抽象的机器。它由英国数学家艾伦・麦席森・图灵(1912-1954)于1936年提出的一种抽象的计算模型,即将人们使用纸笔进行数学运算的过程进行抽象,由一个虚拟的机器替代人类进行数学运算。

图片1.jpg

图灵机有一条无限长的纸带,纸带上划分了很多小方格子。你可以把这条纸带想象成电脑硬盘存储,每个格子就是图灵机每次操作可以存取的单元大小。

  某个格子上方有一个可以读取格子内信息或写入信息的装置,称为“读写头“。读写头可以在纸上移动,但是只能一格格移动。如果纸带是硬盘的话,那这种硬盘效率是极低的,但没关系,图灵机的设计目标并不是计算效率,而是对计算过程的抽象和简化。

  读写头内部本身能保存一个称为“状态”信息,而图灵机就是能根据当前纸带位置上的信息以及内部状态,来决定读写头在当前纸带的格子上做怎样的输出,然后让读写头向哪个方向移动,以及内部状态如何变化的一个装置。

图片3.jpg

  下面说说图灵机在数学中的定义。

  数学里,用了七个属性描述图灵机,就是这七个属性,唯一决定了一台图灵机。图灵机的数学表达可以通过一个七元组来描述:T = (Q, Γ, b, p, δ, q₀, qₓ)。七个属性介绍如下:

  1第一个属性Q叫:状态(State)集合,即这台图灵机内部可以处于哪种状态,也必须是有限的。所有的状态种类数量称为这台图灵机的“状态数”。同样,这里,具体状态表示什么含义是无所谓的,我们只关心有多少种状态,最少是1种状态都行。同样,我们还默认有一种称为“停机”的状态,就是图灵机运算结束,机器停下来的状态。但这种状态一般不计算在状态集合里。

  2第二个属性Γ叫:符号(Symbol)集合,即这台图灵机可以在纸带上读取和写入的符号种类,必须是有限的。所有的符号种类数量称为这台图灵机的“符号数”,或者“颜色数”,简称“色数”。这里,符号具体的样子是无所谓的,我们只关心有多少种符号。其中我们还默认有一种称为“空白”的符号,就是纸带上是空的,这种“空白”也算一种符号,也计算在符号集合里。所以,一般符号集合至少有2个元素,其中一个是空白符。

  3)第三个属性b就是前面提到的空白符。这个空白符存在是有必要性的,它其实是可以帮我们区分纸带上每一部分信息的边界在哪里。就有人说一个符号也可以传递信息,可以用这个符号的数量来表示不同信息。但此时你会发现,必须用空白符。否则你给我发了100个“A”,我怎么知道这些“A”该怎么断开?所以空白符是一个必要符号。

  4)第四个属性是:初始输入p,即图灵机运行前,纸带上的符号状态。

      (5)第五个属性δ是:转移函数集合。转移函数很像是计算机的程序,它决定了图灵机的变化过程。图灵机在任何时刻,它所处于的情形是由两个属性确定的:当前读取头下小方格内的符号和内部状态。转移函数因为是函数,它有输入参数和输出参数。它的输入参数就取这两个属性的值,它的输出参数有三个:①对当前格子输出什么符号;内部状态变为什么;读取头向左还是向右移动,或者不动。

  (6)第六个属性q₀是:初始状态,即图灵机运行前,内部所处于的某个状态。任何时刻,图灵机只能处于一个状态。

  7)第七个属性qₓ是:接受状态,或者叫终止状态。也即是图灵机进入这种状态后停机。很多情况下,这个接受状态只有一种,就是之前提到过的停机状态。

  所有转移函数的集合就决定了一个图灵机从启动到停机的过程,如果它会停机的话。当然,有些图灵机是不会停机的,比如它进入某几个状态的循环或者读取头永远向右移动等等。

  以上就是图灵机的全部属性。

      算盘其实是可以模拟成一个图灵机的。算盘的每一档可以看做图灵机的纸带上的一个格子。横档上的两个算珠可以表示0-3三种符号,可以认为0表示空白符。而横档下的5个算珠可以表示0-5,6种状态。所以算盘可以看做一个3符号,6状态的图灵机。

【本文内容节选自“大老李聊数学”、百度百科】

admin
admin

他很懒,什么都没有留下~