二进制与伟大的计算机相结合,推动人类进入了信息化时代。在这个基于物质世界的,由0和1构成的新世界中,我们依靠算法和电子技术不断解决了大量曾经无法解决的问题。
然而,好奇的人类总是善于提出新的、更加复杂的问题,这又反过来推动了计算技术的进步。这一次,我们开始处于一个新的节点,那就是伴随着摩尔定律的逐步失效,我们将迎来后经典计算(post-classical computing)时代。在这个时代,量子计算、生物计算等将开始登上历史舞台。
这两种新的算法将帮助我们解决现在看起来很难解决的问题。尽管它们目前都处在发展初期,但两者的探索和持续进步值得我们长期的关注。
1.经典计算机何处去
毫无疑问,英特网是经典计算力量的完美体现。全世界各种形状和尺寸的数十亿台计算机,通过算法、无线电信号和光纤电缆形成网络,相互协作,创造出一种我们所知的宇宙中独一无二的生活方式。更令人难以置信的是,经典计算在不到两代人的时间里就完成了这一壮举,这是一个没有历史先例的技术进步速度。
在这种进步的背后,1965年提出的摩尔定律一直发挥了神奇的理论引领作用。但在该定律下,硅计算机芯片毕竟是一种物理材料,因此它受到物理、化学和工程规律的支配。当我们把集成电路上的晶体管缩小到纳米级后,晶体管就不能再像以往一样每两年变小一次。
以英特尔最近不断被曝出其处理器中的安全漏洞为例,在一定程度上,这是由于工程师们必须想尽办法来提高处理器的性能和速度,而这在物理上已经不可能改善集成电路本身。
随着晶体管缩小到只有7纳米长,工程师们已经达到让晶体管使用最少数量的原子来制造工作元件的节点。任何更小的晶体管,其结构的完整性都会很快崩溃,并失去控制和引导电流的能力,而正是电流传递的信息让计算机得以如此强大。
当电流的转换和控制得以提升时,计算机可以更快速、更灵活。但是,你不能让电子以超过它所通过的介质所决定的速度而运动。要“加速”电子的流动,唯一的方法就是减少它在逻辑门之间的移动距离,而这种操作产生的结果可以比以前快几万亿分之一秒,这就是40年来我们一直在做的事情。
经典计算机的处理器无疑速度很快,但不幸的是速度还不够快。尽管经典计算机已经具备不可思议的能力,但它在难以解决但又极其重要的数学问题(如优化和蛋白质折叠)面前却又一筹莫展。经典计算机操作的顺序性意味着其自身永远无法赶上一个O(2n)或O(n!)问题的增长速度。
没有人愿意接受,过去半个世纪我们所享受的不可思议的技术之旅即将结束,但除非我们发现一种算法能够提供这种增长速度的捷径,否则我们必须超越经典计算机。
2.量子算法的到来
自Peter Shor发表第一个量子算法(分解大数质因子量子算法)以来的25年里,数学家和计算机科学家们已经开发出其他量子算法来解决经典计算机难以解决的问题。
在这几十种量子算法中,许多都比我们所知道的最有效的经典算法快几个数量级。当然,这些算法只有在它们所处的独特量子环境中才能实现。
量子计算领域的一些最重要的工作是创建模拟各种量子系统的算法,这些系统从激光技术到医学无所不包。这些算法将在很大程度上超过类似的经典计算模拟。目前,进行分子模拟的经典算法仅限于它可以模拟的分子类型。这些算法通常只限于自旋轨道少于70个的分子,而且模拟的复杂性增长得如此之快,以至于变得越来越难以处理。
而一个量子比特能足够有效地代表这些轨道中的一个,一个只有100个量子比特的量子计算机将能够进行经典计算机望尘莫及的分子模拟。这些模拟可能揭示各种以前未知的化合物,并且可以为各种疾病提供新的治疗方法。
从深度优先搜索(depth-first search)到绝热优化(adiabatic optimisation),量子算法应用广阔,而且在不断进步。当这些算法真正投入使用,商业、行政、医学、工程等领域一些最令人沮丧的,棘手的,指数级的问题都将迎刃而解。然而,这些算法所缺乏的是与之相对应的,具有足够量子比特的,足够强大的量子计算机。
总体来看,量子计算技术目前还处于初级阶段,这不仅涉及你必须掌握的量子比特,你还必须发现一种能够室温超导的材料,并弄清楚你如何维持量子比特的内部环境,使其尽可能接近绝对零度才能工作。
此外,一台计算机需要做的绝大多数工作在量子计算机上的执行速度不会比在经典计算机上更快,因为顺序化的操作并不是量子计算机的设计对象。在量子计算机完全到来之后的很长一段时间内,我们仍将使用经典计算机,而量子计算机可能被放置在企业和国家实验室,通过云计算提供处理服务。
3.为后经典时代重新定义计算机
经典计算机所面临的问题是计算机本身的电子性质所固有的。计算机从简单的电子电路发展而来,并使用一种非常具体的计算方法来解决问题,因此它被永久地锁定在电子技术已经使用了一个多世纪的连续二进制数计算模型中。但这个模型在我们目前的技术中占主导地位并不意味着它是执行计算的唯一方法。
我们可以把视线从对硅芯片的痴迷移开,来看看计算研究的另一个主要领域:DNA计算。这是一个有着令人难以置信发展潜力的领域。这个概念乍看上去可能有点奇怪,让人凌乱。但如果你仔细想想,它显然是后经典计算研究和开发的候选技术。
DNA编码已经成为一种强大的数据传输和存储机制,但研究人员现在正在深入挖掘DNA本身的各个组成部分,而它本身也有可能成为一种计算机制。
研究表明,四种不同的氨基酸(A、T、C和G)作为DNA的构建基块,可以作为可编码的比特被重新利用。当混合后,这些氨基酸自然地自我组装成DNA链,而不仅仅是任何DNA,而是所有可用材料可能的DNA排列。
这是一个可能改变游戏规则的创新,因为在量子比特的叠加上执行操作与真正的并行计算不同。量子计算机只会给你一个单一的输出,要么是一个值,要么是一个结果量子状态,所以它们解决指数或阶乘时间复杂度问题的效用完全取决于所使用的算法。
然而,DNA计算利用了这些氨基酸构建和组装成长链DNA的能力。混合这些氨基酸,它们自然会形成一组更长更复杂的氨基酸排列。排列都是关于优化的,即使是量子计算机也很可能发现这种优化超出了它的能力。
这就是DNA计算如此令人兴奋的原因。正在进行的DNA计算的研究将及时揭示其真正的功效,但自组装的DNA链提供了真正并行计算的前景,即使是量子计算也不能宣称这一点。
总体而言,不论是量子计算还是DNA计算,它们将重新定义我们所知道的计算,我们将通过集成这些不同的模型来创建新的系统,并产生持续的影响。
虽然推测具体的进展可能很有趣,但比任何一项进展更重要的是这些不同的进展共同产生的协同效应,例如区块链、5G网络、量子计算机和高级人工智能。