首页 理论教育 量子人工智能引论:Turing机增强

量子人工智能引论:Turing机增强

时间:2023-11-01 理论教育 版权反馈
【摘要】:它用来保存Turing 机当前所处的状态。Turing 机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。Turing 认为这样的一台机器就能模拟人类所能进行的任何计算过程。Turing 机的停机问题是一个重要的判定问题。假设我们将一台Turing 机用M 的编码来表示。Turing 机有很多变形,但可以证明这些变形的计算能力都是等价的,即它们识别同样的语言类。首先我们可以发现,改变Turing 机的带字母表并不会改变其计算能力。

量子人工智能引论:Turing机增强

Turing 机又称为多带Turing 机(或K 带Turing 机),是由一个有限状态控制器和K 条读写带(K≥1)所构成【56,57】

定义6.1 Turing 机是一个七元组:

其中Q,Σ,Γ 都是有限集合,且满足:

Q 是内部状态集合;

Σ⊆Γ-{□}是输入字母表,其中不包含特殊的空白符;

Γ 是一组有限的符号,也称为磁带字母表;

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

q0∈Q 是起始状态。

□∈Γ 是一个特殊的符号,叫做空白。

F∈Q 是最终状态的集合。

Turing 的基本思想是用机器来模拟人用纸笔进行数学运算的过程,他把这样的过程看作是下列两种简单的动作:在纸上写上或擦除某个符号;把注意力从纸的一个位置移动到另一个位置;而在每个阶段,人要决定下一步的动作,依赖于此人当前所关注的纸上某个位置的符号和此人当前思维的状态。为了模拟人的这种运算过程,通常把Turing 描述为一个理想的机械装置,该装置由以下几个部分组成:

一条无限长的纸带(TAPE)。纸带被划分为一个接一个的格子,每个格子上包含一个来自有限字母表的符号,字母表中有一个特殊的符号表示空白。纸带上的格子从左到右依此被编号为0,1,2,...,纸带的右端可以无限延伸。

一个读写头(HEAD)。该读写头可以在纸带上左右移动,它能读出当前所指的格子上的符号,并能改变当前格子上的符号。(www.xing528.com)

一组控制规则(TABLE)。它根据当前机器所处的状态以及当前读写头所指的格子上的符号来确定读写头下一步的动作,并改变状态寄存器的值,令机器进入一个新的状态。

一个状态寄存器。它用来保存Turing 机当前所处的状态。Turing 机的所有可能状态的数目是有限的,并且有一个特殊的状态,称为停机状态。

注意这个机器的每一部分都是有限的,但它有一个潜在的无限长的纸带,因此这种机器只是一个理想的设备。Turing 认为这样的一台机器就能模拟人类所能进行的任何计算过程。在某些模型中,读写头沿着固定的纸带移动。当前要执行的指令(q1)展示在读写头内。在这种模型中“空白”的纸带是全部为0 的。有阴影的方格,包括读写头扫描到的空白,如标记了1,1,B 的那些方格和读写头符号,构成了系统状态。

Turing 机的停机问题是一个重要的判定问题。一般的Turing 机的停机问题是:对于任意的Turing 机T 以及任意的输入X,有没有算法可以判定T是否停机?特殊的Turing 机的停机问题是:给定Turing 机T 以及任意的输入X,有没有算法可以判定T 是否停机?答案是Turing 机的停机问题是不可判定的,换言之,是不可解的。

事实上,假设停机问题有解,即:存在过程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不是总能给出正确答案,故不存在解决停机问题的方法。

对于任意一个Turing 机,因为它的描述是有限的,因此我们总可以用某种方式将其编码为字符串。假设我们将一台Turing 机用M 的编码来表示。我们可以构造出一个特殊的Turing 机,它接受任意一个Turing 机M 的编码,然后模拟M 的动作,这样的Turing 机称为通用Turing 机。现代电子计算机其实就是这样一种通用Turing 机的模拟,它能接受一段描述其他Tur⁃ing 机的程序,并通过运行程序实现该程序所描述的算法。但要注意,它只是模拟,因为现实中的计算机的存储都是有限的。

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

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

另一个要注意的是,如果我们允许Turing 机的纸带两端都可以无限延伸,这并不能增加Turing 机的计算能力,因为我们显然可以用只有纸带一端能无限延伸的Turing 机来模拟这种纸带两端都可以无限延伸的Turing机。同样,如果我们允许Turing 机的读写头在某一步保持原地不动,那也不会增加其计算能力,因为我们可以用向左移动一次再向右移动一次来代替在原地不动。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈