九味书屋 > 言情浪漫电子书 > 上帝掷骰子吗--量子物理史话 作者:castor_v_pollux >

第50部分

上帝掷骰子吗--量子物理史话 作者:castor_v_pollux-第50部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




话,便是用本人的膝上型计算机输入与编辑的,虽然拿一台现代的PC仅仅做文字处理简直

是杀鸡用牛刀,或者拿伊恩?斯图尔特的话说,“就像开着罗尔斯?罗伊斯送牛奶”,但感

谢时代的进步,这种奢侈品毕竟已经进入了千家万户。而且在如今这个信息商业社会,它 


的更新换代是如此之快,以致人们每隔两三年就要不断地开始为自己“老旧”电脑的升级

而操心,不无心痛地向资本家们掏出那些好不容易积攒下来的银子。

  回头看计算机的发展历史,人们往往会慨叹科技的发展一日千里,沧海桑田。通常我

们把宾夕法尼亚大学1946年的那台ENIAC看成世界上的第一台电子计算机,不过当然,随

着各人对“计算机”这个概念的定义不同,人们也经常提到德国人Konrad Zuse在1941年

建造的Z3,伊阿华州立大学在二战时建造的ABC(Atanasoff…Berry puter),或者图灵

小组为了破解德国密码而建造的Collosus。不管怎么样,这些都是笨重的大家伙,体积可

以装满整个房间,有的塞满了难看的电子管,有的拖着长长的电线,输入输出都靠打孔的

纸或者磁带,和现代轻便精致的家庭电脑比起来,就好像美女与野兽的区别。但是,如果

我们把看起来极为不同的这两位从数学上理想化,美女和野兽在本质上却是一样的!不管

是庞大的早期计算机,还是我们现在使用的PC,它们其实都可以简化成这样一种机器:它

每次读入一个输入,并且视自己当时内态的不同,按照事先编好的一个规则表做出相应的

操作:这操作可以是写入输出,或者是改变内态,或者干脆什么都不做乃至停机。这里的

关键是,我们机器的输入和输出可以是无限多的,但它的内态和规则表却必须是有限的。

这个模型其实也就是一切“计算机”的原型,由现代计算机的奠基人之一阿兰?图灵(Alan 

Turing)提出,也称作“图灵机”(The Turing Machine)。在图灵的原始论文中,它被描

述成某种匣子样的东西,有一根无限长的纸带贯穿其中,一端是作为输入,另一端则是输

出。磁带上记录了信息,一般来说是0和1的序列。这台机器按照需要移动磁带,从一端读

入数据,并且按照编好的规则表进行操作,最后在另一端输出运算结果。

  我们如今所使用的电脑,不管看上去有多精巧复杂,本质上也就是一种图灵机。它读

入数据流,按照特定的算法来处理它,并在另一头输出结果。从这个意义上来讲,奔腾4

和286的区别只不过是前者更快更有效率而已,但它们同样做为图灵机来说,所能做到的

事情其实是一样多的!我的意思是,假如给予286以足够的时间和输出空间(可以记录暂时

的储存数据),奔腾机所能做到的它同样可以做到。286已经太高级了,即使退化成图灵机

最原始的形式,也就是只能向左或向右移动磁带并做出相应行动的那台机器,它们所能解

决的事情也是同样多的,只不过是快慢和效率的问题罢了。

  计算机所处理的信息在最基本的层面上是2进制码,换句话说,是0和1的序列流。对

计算机稍稍熟悉的朋友们都知道,我们把每一“位”信息称作一个“比特”(bit,其实是

binary digit的缩写),例如信息1010,就包含了4个bits。8个bits就等于1个byte,1024

个bytes就是1K,1024K=1M,1024M=1G,各位想必都十分清楚了。

  对于传统的计算机来说,1个bit是信息的最小单位。它要么是0,要么是1,对应于电

路的开或关。假如一台计算机读入了10个bits的信息,那相当于说它读入了一个10位的2

进制数(比方说1010101010),这个数的每一位都是一个确定的0或者1。这在人们看来,似

乎是理所当然的。

  但是,接下来就让我们进入神奇的量子世界。一个bit是信息流中的最小单位,这看

起来正如一个量子!我们回忆一下走过的路上所见到的那些奇怪景象,量子论最叫人困惑

的是什么呢?是不确定性。我们无法肯定地指出一个电子究竟在哪里,我们不知道它是通

过了左缝还是右缝,我们不知道薛定谔的猫是死了还是活着。根据量子论的基本方程,所

有的可能性都是线性叠加在一起的!电子同时通过了左和右两条缝,薛定谔的猫同时活着

和死了。只有当实际观测它的时候,上帝才随机地掷一下骰子,告诉我们一个确定的结果

,或者他老人家不掷骰子,而是把我们投影到两个不同的宇宙中去。

  大家不要忘记,我们的电脑也是由微观的原子组成的,它当然也服从量子定律(事实

上所有的机器肯定都是服从量子论的,只不过对于传统的机器来说,它们的工作原理并不

主要建立在量子效应上)。假如我们的信息由一个个电子来传输,我们规定,当一个电子

是“左旋”的时候,它代表了0,当它是“右旋”的时候,则代表1(通常我们会以“上”

和“下”来表示自旋方向,不过可能有读者会对“上旋”感到困惑,我们换个称呼,这无

所谓)。现在问题来了,当我们的电子到达时,它是处于量子叠加态的。这岂不是说,它

同时代表了0和1?

  这就对了,在我们的量子计算机里,一个bit不仅只有0或者1的可能性,它更可以表

示一个0和1的叠加!一个“比特”可以同时记录0和1,我们把它称作一个“量子比特”

(qubit)。假如我们的量子计算机读入了一个10bits的信息,所得到的就不仅仅是一个10

位的二进制数了,事实上,因为每个bit都处在0和1的叠加态,我们的计算机所处理的是

2^10个10位数的叠加!

  换句话说,同样是读入10bits的信息,传统的计算机只能处理1个10位的二进制数,

而如果是量子计算机,则可以同时处理2^10个这样的数!

  利用量子演化来进行某种图灵机式的计算早在70年代和80年代初便由Bennett,

Benioff等人进行了初步的讨论。到了1982年,那位极富传奇色彩的美国物理学家理查德?

费因曼(Richard Feynman)注意到,当我们试图使用计算机来模拟某些物理过程,例如量

子叠加的时候,计算量会随着模拟对象的增加而指数式地增长,以致使得传统的模拟很快

变得不可能。费因曼并未因此感到气馁,相反,他敏锐地想到,也许我们的计算机可以使

用实际的量子过程来模拟物理现象!如果说模拟一个“叠加”需要很大的计算量的话,为

什么不用叠加本身去模拟它呢?每一个叠加都是一个不同的计算,当所有这些计算都最终

完成之后,我们再对它进行某种幺正运算,把一个最终我们需要的答案投影到输出中去。

费因曼猜想,这在理论上是可行的,而他的确猜对了!

  1985年,我们那位在埃弗莱特的谆谆教导和多宇宙论的熏陶下成长起来的大卫?德义

奇闪亮登场了。他仿照图灵当年走的老路子,成功地证明了,一台普适的量子计算机是可

能的。所谓“普适机”(universal machine)的概念可能对大家有点陌生以及令人困惑,

它可以回到图灵那里,其基本思想是,存在某种图灵机,把一段指令编成合适的编码对其

输入,可以令这台机器模拟任何图灵机的行为。我无意在这里过于深入细节,因为那是相

当费脑筋的事情,虽然其中的数学一点也不复杂。如果各位有兴趣深入探索的话可以参阅

一些介绍图灵工作的文章(我个人还是比较推荐彭罗斯的《皇帝新脑》),在这里各位所需

要了解的无非是:我们聪明睿智的德义奇先生证明了一件事,那就是我们理论上可以建造

一种机器,它可以模拟任何特殊量子计算机的过程,从而使得一切形式的量子计算成为可

能。传统的电脑处理信息流的时候用到的是所谓的“布尔逻辑门”(Boolean Logic Gate)

,比如AND,OR,NOT,XOR等等。在量子计算机中只需把它们换成相应的量子逻辑门即可



  说了那么多,一台量子计算机有什么好处呢?

  德义奇证明,量子计算机无法实现超越算法的任务,也就是说,它无法比普通的图灵

机做得更多。从某种确定的意义上来说,量子计算机也是一种图灵机。但和传统的机器不

同,它的内态是不确定的,它同时可以执行多个指向下一阶段的操作。如果把传统的计算

机称为决定性的图灵机(Deterministic Turing Machine; DTM),量子计算机则是非决定

性的图灵机(NDTM)。德义奇同时证明,它将具有比传统的计算机大得多的效率。用术语来

讲,执行同一任务时它所要求的复杂性(plexity)要低得多。理由是显而易见的,量子

计算机执行的是一种并行计算,正如我们前面举的例子,当一个10bits的信息被处理时,

量子计算机实际上操作了2^10个态!

  在如今这个信息时代,网上交易和电子商务的浪潮正席卷全球,从政府至平民百姓,

都越来越依赖于电脑和网络系统。与此同时,电子安全的问题也显得越来越严峻,谁都不

想黑客们大摇大摆地破解你的密码,侵入你的系统篡改你的资料,然后把你银行里的存款

提得精光,这就需要我们对私隐资料执行严格的加密保护。目前流行的加密算法不少,很

多都是依赖于这样一个靠山,也即所谓的“大数不可分解性”。大家中学里都苦练过因式

分解,也做过质因数分解的练习,比如把15这个数字分解成它的质因数的乘积,我们就会

得到15=5×3这样一个唯一的答案。

  问题是,分解15看起来很简单,但如果要分解一个很大很大的数,我们所遭遇到的困

难就变得几乎不可克服了。比如,把10949769651859分解成它的质因数的乘积,我们该怎

么做呢?糟糕的是,在解决这种问题上,我们还没有发现一种有效的算法。一种笨办法就

是用所有已知的质数去一个一个地试,最后我们会发现10949769651859=4220851×

2594209(数字取自德义奇的著作The Fabric of Reality),但这是异常低效的。更遗憾的

是,随着数字的加大,这种方法所费的时间呈现出几何式的增长!每当它增加一位数,我

们就要多费3倍多的时间来分解它,很快我们就会发现,就算计算时间超过宇宙的年龄,

我们也无法完成这个任务。当然我们可以改进我们的算法,但目前所知最好的算法(我想

应该是GNFS)所需的复杂性也只不过比指数性的增长稍好,仍未达到多项式的要求(所谓多

项式,指的是当处理数字的位数n增大时,算法所费时间按照多项式的形式,也就是n^k的

速度增长)。

  所以,如果我们用一个大数来保护我们的秘密,只有当这个大数被成功分解时才会泄

密,我们应当是可以感觉非常安全的。因为从上面的分析可以看出,想使用“暴力”方法

,也就是穷举法来破解这样的密码几乎是不可能的。虽然我们的处理器速度每隔18个月就

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的