2015-08-01 06:17:09

图灵机 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规来自范>>
所属类别 :
计算360百科机概念
计算机概念
编辑分类

图灵机,又称图灵计算、图灵计算机,置为案宪越是由数学家阿兰·麦席森·图灵(1912~1老项少张害光皮境怀钟管954)提出的一种抽象计算模型,即将人们使用纸笔粉收望进行数学运算的过程进行抽象,由一个虚拟的机器替剧否调把代人们进行数学运蒸草艺酒铁执穿另算。

所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带只别最众两板致底志均上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据反粉国钱程序输出信息到纸带水果方格上,并转换自己的内部状态,然后进行移动

基本信息

  • 中文名

    图灵机

  • 比染市抓居文名

    Turing machine

  • 发明人

    阿兰·图灵

  • 发明时间

    1936年

折叠 编辑本段 构倒也阶发明者

1936年,阿兰·图灵(1912-1954)提出了一种抽象的计算模型 -- 图灵机 (Turing Machine)。

图灵机的艺术表示图灵机的艺术表示

折叠 编辑本段 基本思想

图灵机图灵机图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程,他把这样的过程看作下列两红附断亲余正宽取染顾种简单的动作:

在纸上写上或擦除某个符号;

把注意力从纸的一个位置移动到另一个位置;

而在每个阶段,人要决定下一步的互输地愿神营状细且械动作,依赖于 (a) 此人茶解当前所关注的纸上某个位置得字感争被督的符号和(b) 此人当前思维的状态

为了模拟人的这种运算过程,图灵构造出一台假想的机器,该机器由以下几个部分组成:

1.一条无限长的纸理错架课策TAPE。纸带被划分为一个接合协北信视美始收一个的小格子,每个格子上包含一班算处胡端获个来自有限字母表的符号,字母表中有一个特殊的符号 表示空白。纸带上的格子从左到右依此被编号为 0,1,2,开升... ,纸带的右端可以无限伸展。

2.一个罪以略怎得款呼永鱼光了读写头 HEAD。该读写头可以在纸带上左什该乐史期变地聚督右移动,它能读出当前所指的格子上的符号,并能改变当前形印盟周概格子上的符号。

3.一套控缩具说优制规则 TABLE令天它根据当前机器所处的状态以及当前读写头所指的曾律续格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。

4.一个状态寄存器。它用来保存图灵机当前所处的状态。图灵机的所有可能状态的数某鲁陆目是有限的,并且有一个特殊的状态,称为停机状态。参见停机问题。

注意这个机啊胞级他乡资尔器的每一部分都是有限的,但它有一个潜在的无限长的纸带,因此这种机器只是一个理想的设备。图灵认为这样的一台机器就能模拟人类所能进行的任何计算过程。

在某哥限仅通旧镇些模型中,读写头沿着固定的纸草亚误坏损加支呢准带移动。要进行的指令(q1)展示在读写头内。在这种模型中"空白"的纸带是全部为 0 的。有阴影的方格,包括读写头扫描到的空白,标记了 1,1,B 的那些方格,和读写头符号,构成了系统状态。(由 Minsky (1967) p.121 绘制)。

折叠 编辑本段 形式化

一台图灵机是一个七元组,{Q,Σ,Γ,δ,q0,qaccept,qreject},其中 Q,Σ,Γ 都是有限集合,且满足

1.Q 是状态集合;

2.Σ 是输入字母庆固省仅何销革械伤顶回表,其中不包含特殊的空白符 □;

3.Γ 是带字母表,其中 □∈Γ且Σ∈Γ 晚试块输酸绝;

4. δ:Q×「→Q×Γ×{L,R}是转移函数,其中L,R 表示读写头是向左移还是向右移;

5.q0∈Q是起始状态;

6. qaccept是接受状态。

7.qreject是拒绝状态,且。qreject≠qaccept

图灵机 M = (Q,Σ,Γ,δ,q0,qaccept,qr味镇什束首刑息eject) 将以如下方式运作:

开始的时候将输入符号串 从左到右依此填在纸带的第 号格子上, 其他格子保持空白(即填以空白符)。M 的读写头指向第 0 号格子, M 处于状态 q0。机器开始运行后,按照转移函数 δ 所描述的规则进行计算。例如,若当前机器的状态为 q,读写头所指的格子中的符号为 x, 设 δ(q,x) = (q',x',L), 则机器进入新状态 q', 将读写头所指的格子中的符号改为 x', 然后将读写头向左移动一个格子。若在某一时刻,读写头所指的是第 0 号格子, 但根据转移函数它下一步将继续向左移,这时它停在原地不动。换句话说,读写头始终不移出纸带的它杂继院曲照布后左边界。若在某个时刻 M 根据转移函数进入了状态 qacce红号少福pt, 则它立刻停机并接受输入的字符串; 若在某个时刻 反地钟血重之处称零手距M 根据转移函数进入了状态 qreject, 则它立刻停机并拒绝输入的字符串。

注意,转移函数 δ 是一个部分函数, 换句话说对于某些 q,x, δ(q,x) 可能没有定义, 如果在运行中遇到下一个操作没有定义的情况, 为映机器将立刻停机。

折叠 编辑攻建本段 停机问题

停机问题(halt触照战者米许ing problem)是目前逻辑数学的焦点,和第三次数学危机的解决方案。其本质问题是: 给定一个图灵机 T,和一个任意语言集合 S,是否 T 会最终停机于每一个。其意义相同于可确定语言。显然任意爱裂末部积督有限 S 是可判定性的,可数的(countable) S 也是可停机的,在使用 oracle 输入的帮助下。

基专沙哪般亮顶通俗的说,停机问题就是判断任意一个程序是否会在有限的时间任达造诗盟的往集之内结束运行的问题。如果这个问题可以在有限的时间之内解决,可以有一个程序判断其本身是否会停机并做出相反的行为。这时候显然缩已不管停机问题的结果是什么都不会符合要求。所以这是一个不可解的问题。

停机问题本质是一阶逻辑的不自恰性和不完备性。类似的命题有理发师悖论、全能悖论等。

哥凯胡斤述明:

设停机问题有解,即:存在过程H(P,I)可以给出程序P在输入I的情况下是否可停机。假设若P在输入I皮盾苗尼斤独何径时可停机,H输出"停机",反之输出"死循环",即可导出矛盾:

显然,程序本身可以被视作数据,因此它可以被作为输入,故H应该可以判定当将P作为P的输入时,P是否会停机。所以我们设过程K(P)的流程如下:首先,它调用H(P,P),如果H(P,P)输出"死循环",则K(P)停机,反之K(P)死循环。即K(P)做与H(P,P)的输出相反的动作。

现在假设求K(K免攻低入井),则若H(K,K)输出停机,K(K)死循环,但由定义知二者矛盾。反之,H(K,K)输出死循环,则K(K)停机,两者一样矛盾。

因此,H不是总能给出正确答案,故而不存在解决停机问题的方法。

折叠 编辑本段 通用机型

对于任意一个图灵机,因为它的描述是有限的示她凯体至历纸行体,因此我们总可以用某种方式将其编码为字符串。我们用 <M> 表示图灵机 M 的编码。

我们可以构造出一个特殊的图灵机,它接受任意一个图灵机 M 的编码<M> ,然后模拟 M 的运作,这样的图灵机称为通用图灵机(Universal Turing Machine)。现代电子计算机其实就是这样一种通用图灵机的模拟,它能接受一段描述其他图灵机的程序,并运行程序实现该程序所描述的算法。但要注意,它只是模拟,因为现实中的计算机的存储都是有限的,所以无法跨越有限状态机的界限。

折叠 编辑本段 变体

图灵机有很多变种,但可以证明这些变种的计算能力都是等价的,即它们识别同样的语言类。证明两个计算模型 A 和 B 的计算能力等价的基本思想是:用 A 和 B 相互模拟, 若 A 可模拟 B 且 B 可模拟 A, 显然他们的计算能力等价。注意这里我们暂时不考虑计算的效率,只考虑计算的理论上"可行性"。

首先我们可以发现,改变图灵机的带字母表并不会改变其计算能力。例如我们可以限制图灵机 的带字母表为 {0,1},这并不会改变图灵机的计算能力,因为我们显然可以用带字母表为 {0,1} 的图灵机模拟带字母表为任意有限集合 Γ 的图灵机。

另一个要注意的是,如果我们允许图灵机的纸带两端都可以无限伸展,这并不能增加图灵机的计 算能力,因为我们显然可以用只有纸带一端能无限伸展的图灵机来模拟这种纸带两端都可以无限 伸展的图灵机。

如果我们允许图灵机的读写头在某一步保持原地不动,那也不会增加其计算能力,因为我们可以用 向左移动一次再向右移动一次来代替在原地不动。

其它的常见图灵机变种包括:

多带图灵机

非确定型图灵机

枚举器

折叠 编辑本段 可计算性

图灵可识别语言

图灵可判定语言

递归可枚举语言

可计算函数

递归函数

停机问题

可判定性

不可判定性

折叠 编辑本段 等价机器

除了图灵机以外,人们还发明了很多其它的计算模型。包括:

寄存器机

递归函数

λ演算

生命游戏

马尔可夫算法

然而这些模型无一例外地都和图灵机的计算能力等价,因此邱奇,图灵和哥德尔提出了著名的邱奇-图灵论题:一切直觉上能行可计算的函数都可用图灵机计算,反之亦然。

阅读全文

热点资讯

我的关注