2012年3月18日
量子计算入门
评分: 4.2/5 (208 票)
这绝不是全面的,我在写这篇文章时被限制在 5 页。 但希望你能理解量子计算背后的物理原理,以及它的一些应用。 至少,如果你想做进一步的研究,它可以作为一个参考点。
注意:没有适合此文章的类别,所以现在是一个操作指南文章 :D 引用的作品在附件中。
量子计算
当前技术
“经典”计算机都遵循类似的设计。 它们基于冯·诺依曼架构,并且都表现出所谓的“冯·诺依曼瓶颈”。 这基本上意味着,如果没有并行编程,当前的计算机一次只能执行一个动作。 对于当前的处理器来说,这对于大多数任务来说运行良好。 处理器目前每秒可以执行数百万条指令,而且这个数字还在不断上升。 那么,为什么需要替代技术呢? 摩尔定律指出,集成芯片的密度大约每 18 个月翻一番,似乎没有太大的改变需求。 最终,工程师们将会达到他们能在这些芯片上放置多少东西的极限。 晶体管只能变得这么小。 更不用说 Rock's Law,它指出建造生产这些芯片的工厂的成本每四年翻一番。 因此,随着生产价格的上涨和芯片密度达到极限,计算机接下来会走向何方? 已经有许多替代方案被理论化,其中最有希望和最有趣的是量子计算。
量子计算的历史
量子力学理论已经存在了近 200 年,但在过去的 30 年里,人们才开始认为这些原理可以应用于计算。 许多人认为 Peter Shor 是量子计算之父。 他是第一个通过他的算法(称为 Shor 算法)将量子计算理论带入现实的人,但他并不是第一个提出量子计算机想法的人。 被认为是第一个提到量子计算机的人是 Richard Feynman。 他解决了经典计算机不适合模拟现实物理世界的问题。 他解决这个问题的想法是创建一个主要由量子力学元件组成的计算机,它将遵守量子定律。 量子计算发展中的另外两个关键人物是 Steve Wiesner 和 David Deutsch。 Wiesner 是研究量子密码学的领军人物,并将不确定性原理应用于此。 David Deutsch 表明,任何物理特性都可以在量子计算机中完美建模。
用于计算的量子物理学
量子计算背后的主要概念是量子比特(qubit)。 量子比特类似于比特,但又截然不同。 比特仅限于 0 和 1 的值,而量子比特也可以表示 0 和 1,但它也可以表示 0 和 1 的叠加。 叠加的概念指出,量子粒子可以同时部分存在于其所有可能的状态中。 这就是量子计算如此有趣的原因。 叠加是量子计算机并行性的来源,或者说是一次执行多个计算的能力。 例如,根据 Deutch 的说法,一台 30 量子比特的计算机理论上能够以每秒 10 万亿次浮点运算的速度运行! 今天的经典计算机以每秒数十亿次浮点运算的速度运行。 但这也发生在比 30 比特多得多的情况下。 这个理论的一个问题是,一旦在叠加状态下观察量子比特,它将假定值 1 或 0,本质上使其成为一个花哨的比特。 试图观察量子比特时也可能会意外地“碰撞”它并改变其值。 解决这些问题的方法是量子理论中的另一个重要概念,称为量子纠缠。 纠缠表明,如果对两个原子施加一些外力,它们将会纠缠,并且一个原子将假定另一个原子的属性。 这使得物理学家可以通过观察其纠缠的对应物来观察一个原子,从而消除了“碰撞”保存你的值的原子的风险。 如果没有纠缠,量子计算机只不过是一台非常昂贵和复杂的数字计算机。
对计算机科学家的影响
对于计算机科学家来说,量子计算最有趣的方面也许是它如何影响算法和算法设计。 量子算法可以比任何当前技术算法更快地解决一些问题,并且可以至少与当前技术一样快地解决任何其他问题。 量子计算机可以更快解决的一个例子是数字分解。 使用当前技术,分解大数在计算上是不可行的,而这正是 RSA 加密的基础。 量子计算能够比经典计算更快地分解数字,这已经通过 Shor 算法得到证实。 Shor 算法于 2001 年首次由 IBM 的一个团队演示。 他们使用一台具有七个量子比特的量子计算机来分解 15,这是可以通过该算法分解的最小数字。 为什么一些计算在量子计算机上更快的原因是并行性。 目前,并行计算是通过使用额外的硬件和多台计算机来实现的,但是通过量子计算,所有这些都可以在单个处理器中完成。 例如,如果将一个处于叠加状态的量子比特与另一个处于相同叠加状态的量子比特进行一些计算,则将得到四个结果。 它将输出 0/0、0/1、1/0 和 1/1 结果。 如果取两个量子比特并对另外两个量子比特执行操作,则将得到 00/00、01/00、10/00、11/00、00/01、00/10 等结果。
量子计算的优点和缺点
量子计算可能对技术世界产生有趣的影响。 最吸引人的好处可能是量子计算带来的固有并行性。 与经典计算机相比,能够在任何给定时间执行指数级更多的计算非常重要。 量子并行性可以被认为是既有益的又重要的。 由于这种并行性,量子计算机可以在相当短的时间内分解大数,而这是目前不可行的任务。 这里的问题是,一些用于保护许多重要信息的加密技术,是基于分解大数目前是不可行的。 量子计算机可以很容易地破解任何依赖于非常难以分解的大数的加密协议。 理论上,这可能使所有这些信息不再受到保护。 量子并行性带来的另一个好处是能够比今天更快地搜索大型数据库。 量子计算带来的另一个好处是真正的随机性。 目前,在计算机中,随机数是通过复杂的算法生成的,因此只能生成伪随机数。 量子力学的核心概念之一是固有的随机性。 例如,如果将一个光子射向分束器,则该光子将以相等的 50/50 的机会向两个方向之一传播。 无法准确确定它将走向哪个方向,只能做出有根据的猜测。 除了量子计算的好处之外,它还有一些缺点。 显而易见的缺点是开发它们的巨大成本和复杂性。 2005 年,Rainer Blatt 的研究团队成功地创建了一台具有 14 量子比特寄存器的计算机。 因此,还需要大量时间才能看到实际的量子计算机被制造出来。 在量子世界中,可能出错的事情太多了。
假设的未来
量子计算非常有趣,因为它的可能优势,但目前它太复杂且容易出错,无法成为一个实用的系统,但是物理学家在解决这些问题方面取得了很大的进展。 那么量子计算的未来会是什么样呢? 量子计算机不会成为新的 PC,至少在相当长的一段时间内不会。 但可能会有大型量子计算机充当服务器系统。 个人计算机世界和互联网世界已经合二为一,因此拥有一系列“云”量子计算机,人们可以连接到这些计算机以执行一些复杂的计算,这是非常可信的。 现在说普通用户将从该领域的进步中获得多少好处还为时过早,但这肯定会帮助大型公司和科学界。 它将导致对量子世界的整体理解取得进步。 仅具有几百个量子比特的量子计算机可以处理大量的流量,因此作为服务器的量子计算机几乎可以免受拒绝服务攻击。 这也意味着需要更少的服务器来处理世界的流量。
结论
当前技术只能发展到这种程度。 自晶体管问世以来,每年都在变得越来越小,但是在达到原子尺寸之前,它们只能变得这么小。 一旦达到这个规模,晶体管技术将达到其最大潜力。 有研究人员正在研究可能的解决方案,但是量子计算引起了最多的关注。 使用相对少量的量子比特可以获得的巨大计算能力令人震惊。 所有这些力量也可能导致问题。 世界上许多金融信息都是使用一种生成大数的技术进行加密的,这些大数使用当前技术无法再分解。 借助这种新力量,我们的加密系统可能会在一天之内被破解。 量子计算可能会带来一些后果,但是可以看到收益大于它们。 下一代计算正在被创造出来。