量子计算动摇了丘奇-图灵论点吗?
——兼纪念图灵逝世50周年
1930年代初提出的丘奇-图灵论点,是判定什么是计算、什么问题是可计算的、什么问题是不可计算的这一切问题的最根本原则或标准。电子计算机诞生后,丘奇-图灵论点还成了刻画电子计算机计算能力的最基本的理论依据。70年过去了,尽管新型的计算范例不断涌现,如神经网络计算、遗传计算、进化计算、DNA 计算等,但它们除了在计算复杂性方面(计算效率)较优,并没有从根本上动摇丘奇-图灵论点。
1990年代以来,一种全新的更具挑战性的计算范例——量子计算机出现了。它是不是超越了丘奇-图灵论点的界限呢?是不是可以计算丘奇-图灵论点认为不可能计算的问题呢?对此人们产生了不同的看法,一种看法认为量子计算并没有超越丘奇-图灵论点的界限,只不过量子计算有着电子计算机不可比拟的计算效率;另一种看法认为量子计算超越了丘奇-图灵论点的界限,量子计算机能够计算电子计算机或图灵机所不能计算的一些问题。
笔者认为,理解量子计算机的本质需要一个过程,因为这里面有些关键的问题不是靠哲学思辨能够解决的,而需要严格的数理逻辑证明。另外,在理解量子计算机本质的过程中,必然涉及到量子力学本身以及它与经典力学关系的一些问题,而对这些问题的认识,至今都有众多分歧。
计 算 的 实 质
为了回答本文的基本问题,首先要对计算的本质有个明确界定,以及对近些年不断涌现的新的计算范例在计算理论上的意义有个正确的评价。
丘奇-图灵论点,即凡是可计算的函数都是一般递归函数(或是图灵机可计算函数等),这一论点标志着人类对可计算函数与计算本质的认识达到了空前的高度,它的提出确立了计算与可计算性的数学含义,是数学史上一块夺目的里程碑。正如莫绍揆教授所言,有了这个论点后,就可以断定某些问题是不能能行地解决或不能能行地判定的。对于计算机科学,丘奇-图灵论点的意义在于它明确刻画了计算机的本质或计算能力,确定了计算机只能计算一般递归函数,对于一般递归函数之外的函数,计算机是无法计算的。许多新型计算,除了计算效率较优外,并没有从根本上动摇丘奇-图灵论点。
那么应该怎样理解或评价这些不断涌现的新的计算范例在计算理论上的意义呢?对此,笔者已在《理解计算》(见:科学,2004,55(4):33)中有过论述,基本思想是:这些新的计算范例的不断涌现是计算方式不断进化的表现。计算方式是一种历史的结果,而非计算本性的逻辑必然。也就是说,计算之所以为计算,在理论层面上只在于它具有一种根本的递归性,或在于它是一种可一步一步进行的符号串(信息)变换操作。至于这种符号变换的操作方式如何,以及符号的载体或其外在表现形式如何,都不是本质性的东西,它们无不是一种历史的结果,无不处于一种不断进化的过程之中。新型计算机的不断涌现只是计算方式不断进化及其多样性的表现(至少在目前如此)。其次,计算方式的历史性、多样性反观了计算本性的逻辑必然性、统一性。由丘奇-图灵论点所揭示的计算本质,不仅包括数值算、定理推导等不同形式的计算,还包括了DNA计算机、量子计算机等新型计算机的计算。这说明不同形式的计算、不同“计算器”的计算,在计算本质上是一致的,这就是递归计算或图灵计算。
笔者认为,丘奇-图灵论点对计算本质的抽象,有着极其高度的普适性。这种高度的普适性根源于可计算理论本身是一门高度抽象的形式化的数学理论。大家不要忘了,以丘奇-图灵论点为基石的可计算性理论是在电子计算机诞生之前的1930年代提出的,即它不是在对任何具体的计算机进行总结与抽象的基础上提出的,而是从纯粹的数理逻辑的角度提出的。笔者相信,让众多科学家惊叹的“数学在自然科学中那不可思议的有效性”在计算机科学中也会有同样的体现。
最后还要强调这样一种认识:计算的实质只是一个理论层面上的问题,即与现实没有直接关系的一个形式化的数学问题,它超越于任何现实的具体计算,是对各种具体计算高度的数学抽象。相反,计算方式则是一个现实层面上的具体问题,它与任何具体的计算设备直接相关,是一种历史的结果,并且随着历史的发展而不断进化。从现实层面上讲,计算包括两方面的内容:信息的表征和信息的加工。而从理论层面上讲,计算就是一个方面的内容——符号或信号的变换。笔者认为,这两个不同层面上的问题不能混为一谈。而事实上,在人们谈论量子计算是否动摇了丘奇-图灵论点时,是有着混淆两类不同层面问题之嫌的。
量子计算的特点
下面来分析一下量子计算的实质与特点。简单地讲,量子计算机就是实现量子计算的机器。量子计算机是以量子态作为信息的载体,其信息单元是量子比特,它是两个正交量子态的任意叠加态,实现了信息的量子化。直观地讲,一个简单的量子比特是一个双态系统,如半自旋或两能级原子:自旋向上代表0,自旋向下代表1;或基态代表0,激发态代表l。与经典比特不同,量子比特不但可以处在0或l的两个状态之一,而且一般地可以同时处于两个态的叠加态,即 |?渍>=c0|0>+c1|1>,|c0|2+|c1|2=1。经典比特可以看成量子比特的特例(c0=0或c1=1)。由L个量子位组成的量子寄存器能够一次存储2L个“数字”,即量子寄存器随着位数的增加能够指数地增加存储的数据量。信息一旦量子化,量子力学的特性便成为量子信息的物理基础,信息的演变遵从薛定谔方程,信息传输就是量子态在量子通道中的传送,信息处理(计算)是量子态的幺正变换,信息提取便是对量子系统实
行量子测量。
那么到底什么是量子信息呢?它是一种本质上不同于经典信息的信息吗?还是仅为信息的量子表征呢?对此笔者之一已撰文指出:量子信息实质上就是信息的量子表征,而不是本质上不同于经典信息的另一种信息。人们所谓的量子信息与经典信息有着本质的区别,只能是在信息表征方式意义上而言。
从现在的研究状况来看,笔者认为,量子信息就是用量子态表示信息。量子信息单元的叠加态并不能或并没有反映出信息本质的区别。量子叠加态只是能表示多个数 (即它可以同时表示0和1),对量子叠加态的操作,也只是意味着对多个数同时多路操作运算,即所谓“量子并行计算”。说得更具体点,对于一个L个物理比特的存储器,若它是经典存储器,则它只能存储2 个可能的数当中的任一个,若它是量子存储器,则它可以同时存储2L个数,而且随着L的增加,其存储量子信息的能力将指数上升。另外,量子计算机在实施一次的计算中可以同时对2L个输入数进行数学运算。其效果相当于经典计算机要重复实施2L次操作,或者采用2L个不同的处理器实行并行操作。由此可见,信息的量子表征只是在信息的存储、处理(计算)以及传输方面区别于并优越于信息的经典表征。由此也进一步看到,信息的表征方式是多种多样的,既可以是经典的,也可以是量子的。但信息的本质是不因表征方式的变化而变化的。当然也不可否认,量子信息与经典信息相比,由于它的表征方式发生了重大变化,因而具有了许多量子力学的特性,如量子纠缠、量子不可克隆、量子叠加性等。
正如经典计算机建立在通用图灵机基础之上,量子计算机亦可建立在量子图灵机基础上。量子图灵机可类比于经典计算机的概率运算。通用图灵机的操作是完全确定性的,用q代表当前读写头的状态,s代表当前存储单元内容,d取值为L,R,N,分别代表读写头左移、右移或不动,则在确定性算法中,当q,s给定时,下一步的状态q′,s′及读写头的运动d完全确定。我们也可以考虑概率算法,即当q,s给定时,图灵机以一定的概率(q, s, q′, s′, d )变换到状态q′,s′及实行运动d。概率函数X(q, s, q′, s′, d )为取值[0,1]的实数,它完全决定了概率图灵机的性质。
量子图灵机非常类似于上面描述的经典概率图灵机,现在q, s, q′, s′相应地变成了量子态,而概率函数X(q, s, q′, s′, d)则变成了取值为复数的概率振幅函数X(q, s,q′, s′, d),量子图灵机的性质由概率振幅函数确定。正因为现在的运算结果不再按概率叠加,而是按概率振幅叠加,所以量子相干性在量子图灵机中起本质性的作用,这是实现量子并行计算的关键。说得简单点,量子计算机能做到如此高效,得益于量子叠加效应,即一个原子的状态可以同时是l和0,更确切地说,原子可处于0和 l的概率各为l/2的叠加态。采用L个量子位可以一次同时对2L个数进行处理,一步计算完成了电子计算机2L个数计算。由于量子态具有叠加性,一个幺正操作同时作用在各叠加态上,从而达到并行计算的效果。这里各叠加分量在统一的操作下以各自的路径独立演化,每一个分量上完成的变换就相当于一台传统计算机的工作。最后,各分量之间通过不同概率将结果同时输出。因而一台量子计算机等价于多台传统计算机的功效。也就是说,量子计算机的计算本质依然是图灵计算或递归计算,在这一点上,量子计算机与电子计算机有着共同的计算本质。
为什么有人认为量子计算动摇了
丘奇-图灵论点
那么为什么现在有人认为量子计算动摇了丘奇-图灵论点呢?他们的理由是什么呢?或者说他们有些什么样的具体实例呢?目前有人提到的实例主要是以下三个:(1)有人认为,1989年在纽约IBM研究所建成的量子计算机就完成了一件图灵机所不能完成的任务——量子密码术。(2)也有人认为,量子计算机中实现的随机数是真正的随机数,是传统计算机无法实现的,传统计算机实际上产生的是伪随机数。(3)超距传送的量子计算实现是另一个实例。至于为什么这三个实例就表明量子计算动摇了丘奇-图灵论点,则均没有一个合理的说明,更谈不上严格地证明它们是一种非递归问题。因此,如今认为量子计算动摇了丘奇-图灵论点的人,无不是一种想当然的观点,其原因主要是把现实问题与理论问题混淆了,把量子力学本身的特点强加给了理论计算。
在回答“量子计算是否动摇了丘奇-图灵论点”这个问题时,一定要明确它只是一个理论层面上的问题,而不是现实层面上的问题。在现实层面上,由于计算复杂性的原因,量子计算机确实可以计算一些由传统的电子计算机所不能计算的问题。笔者认为,在理论层面上,量子计算能否动摇丘奇-图灵论点,关键在于能否证明它可以计算非递归函数。能,则表明量子计算超越了丘奇-图灵论点的界限;不能,则表明量子计算依然受丘奇-图灵论点的制约。因此,任何声称量子计算超越了丘奇-图灵论点界限的人,都必须严格证明量子计算机解决了一个非递归性的问题,否则这种声称就是无意义的或值得怀疑的。自丘奇-图灵论点提出后,人们不是已确证了许多不可计算的问题吗?如一阶逻辑的判定问题、丢番图方程的整数解问题、群论上的字问题、四维流形的同胚问题等。如果哪一天量子计算机能够解决这么一个非递归问题,那么人们一定会接受量子计算动摇了丘奇-图灵论点的观点。可是目前还没有。
下面分别讨论一下那三个实例的实际意义。量子密码术是密码术与量子力学结合的产物,它利用了系统所具有的量子性质。首先想到将量子物理用于密码术的是美国科学家威斯纳(S.Wiesner)。他于1970年提出,可利用单量子态制造不可伪造的“电子钞票”。量子密码术并不用于传输密文,而是用于建立、传输密码本。根据量子力学的不确定性原理以及量子不可克隆定理,任何窃听者的存在都会被发现,从而保证密码本或加密信息的绝对安全。也就是说,量子密码并不是一种加密算法,它只是通过公开信道,借助量子力学原理来建立只有A、B双方才知道的随机数序列的一种手段(如果有人窃听,A、B可以通过某些手段知道)。这里完全不是一个算法的问题,根本谈不上对丘奇-图灵论点的动摇,而只是实现了经典技术不能实现而由量子技术实现的一种通信手段。
有人认为量子计算机中实现的随机数是真正的随机数,是传统计算机无法实现的,传统计算机实际上产生的是伪随机数。笔者认为,即便这一说法是正确的,它也没有构成对丘奇-图灵论点的动摇,因为传统计算机无法实现的并不等于图灵机不能实现。前者是一个现实层次上可否实现的问题,后者是一个理论层次上能否实现的问题。传统计算机(电子计算机)实际上产生的是伪随机数,并不等于图灵机在理论意义上不能产生真正的随机数——如果产生真正的随机数是一个递归问题。另外,如何理解量子计算机中实现的随机数,其实也是一个问题,因为对量子力学的不确定性或随机性的认识至今还是有争议的。
超距传送的量子计算被看作是动摇丘奇-图灵论点的另一个案例。笔者认为这也是一个误会,超距传送的量子计算并不是一种新的算法,而是实现量子通信的一种新的量子技术——利用量子纠缠加速经典信息的传送,它实际上就是量子态的超距传送,即实现量子态从一个粒子到另一个粒子的转换。按照贝内特(C.Bennett)提出的方案,其基本思想是:为实现传送某个物体的未知量子态,可将原物的信息分成经典信息和量子信息两个部分,它们分别经由经典信道和量子信道传送给接收者,经典信息是发送者对原物进行某种测量而获得的,量子信息是发送者在测量中未提取的其余信息。接受者在获得这两种信息之后,就可以制造出原物的完美的复制品,在这个过程中,原物并未被传送给接受者,它始终
留在发送者处,被传送的仅仅是原物的量子态,发送者甚至可以对这个量子态一无所知,而接受者是将别的物质单元(如粒子)变换为处于与原物完全相同的量子态,原物的量子态在发送者进行测量及提取经典信息时已遭破坏,因此,这是一种量子态的隐形传送。最终恢复原物量子态的粒子也可以不必与原物同类,只要它们满足相同的量子代数即可,由于经典信息对量子态的隐形传送是必不可少的 (否则将违背量子不可克隆定理),而经典信息传递速度不可能快于光速,因此,量子隐形传送也不会违背相对论的光速最大原理。
由上论述可见,我们尚不能断言量子计算动摇了丘奇-图灵论点。其实在笔者与一些从事量子信息、量子计算研究的人士的通信中了解到,他们大都认为:“大量的问题需要讨论,有些问题过早下结论可能不是太妥。” 有的人直接指出:量子计算机不可以解决图灵机原则上所不能解决的问题。量子计算可以针对某些特殊的难解问题来加速计算。经典图灵机理论上也可做这类问题,只是从计算资源(解决问题所用的时间和空间资源)上来讲,要随问题的难度指数上升。对于图灵机所不能解决的问题,量子计算机同样不能,它只能解决“可计算的函数”问题。至于有人说量子计算机可以解决经典图灵机不能解决的问题,应该正是指那些用目前的经典算法来算会随问题难度增加而呈现指数加速的问题。
最后应提到的是,1990年以后,有研究者开始另辟蹊径,不局限于传统的逻辑手段,而开始尝试“以自然为基础”的探索工作,研究方法除了借助计算机外,还引进了量子物理和生物学的“自然机制”,试图将“计算”的概念从经典的图灵可计算概念进一步拓展,倡导一种“自然机制+算法”的研究模式,采取一种新的方法论策略:将能够归约到算法层面的问题,采用算法来实现,不能归约到算法层面的问题,采用某种自然机制实现。大家知道,计算或算法是有严格的数学含义的,它是以递归函数、丘奇-图灵论点为基础的。但笔者不知道这里所说的“自然机制”是一个什么概念,它具有什么样的数学含义?如果它没有严格的数学含义,或只是一个思辨性的哲学概念,那么它就不是一个与计算相关联的科学概念。如果是这样,那么又如何能运用它“将计算的概念从经典的图灵可计算概念进一步拓展”?至少目前世人还没有看到超越丘奇-图灵论点的一种新的“计算”。
具体讨论可参看xici