量子计算从理论上来讲已经是行得通的了,而在实际应用中也有一小部分量子计算机被应用于诸如量子物理、高等数学的计算之中,但其距离我们的日常生活还显得过于遥远,普通人仍无法接触到这一前沿的技术。
现在,加拿大有一家名为 D-Wave 的量子计算公司就试图打破这一现状,在 2013 年得到 Google 和 NASA 的联合投资之后,他们希望借助开源软件将量子计算这一技术进一步普及。
传统的计算机的基本信息存储单位是具备二进制属性的“比特”,二进制数的一位所包含的信息就是一比特,如二进制数 0100 就是 4 比特。与之相比,量子计算所借助的“量子”则没那么简单,它有一种很奇怪的状态“量子叠加”,即在未被观察时,同一个量子粒子可以以不同状态同时存在于两个、或者两个以上的点位。
而科学家们恰恰是利用量子的这一特性创造了可以同时代表 1 或 0 两种状态的“量子比特”,而利用“量子比特”所制造的量子计算机很显然从理论上就已经比现有的计算机要快很多了。
IBM 在 2000 年就展示过他们所研发的量子计算机,并在后续不断进行技术上的改进。而与之相比,D-Wave 的产品则显得更为抢手一些,不仅得到了 Google 和 NASA 的青睐,就连洛克希德马丁公司和洛斯阿拉莫斯国家实验室也都采用了他们的量子计算机。
不过即便如此,量子计算机在现实场景中进行应用还面临着多重考验。首当其冲的就是量子比特十分脆弱,很容易就脱离叠加状态,导致计算机无法运行。其次就是以当前的量子计算机技术水平来讲,要正确使用它还是需要极高的专业知识才可以,这就会是大多数普通人望而却步。
针对这一问题,D-Wave 总裁 Bo Ewald 说:“D-Wave 正在努力推进量子计算机硬件的开发升级,但这还远远不够,需要有其他人参与到应用程序和软件工具的设计中来。”因此,D-Wave 发布了一款名为 Qbsolv 的软件,开发人员借助它可以在无需掌握相关量子物理知识的情况下为 D-Wave 的量子计算机编写程序。
之前已经有一小部分 D-Wave 的合作伙伴使用过这款软件了,反馈都很积极,所以他们才下决心要将 Qbsolv 开源,使每个人都可以参与进来。
曾参与 Qbsolv 开发的科罗拉多大学博尔德分校的数学家 Fred Glover 就曾说,“并不是每一个计算机科学领域的专家都能认识到量子计算机在未来的潜力,而 Qbsolv 就提供了一个很好的契机,它将这一技术具体化,也就能吸引更多相关的研究人员和从业者都参与到量子计算机的未来发展之中。”
为了便于未来量子计算机的程序员更好地进行开发工作,D-Wave 还资助开发了一系列类似于 Qbsolv 的工具性软件。例如 2016 年 Scott Pakin 编写的 Qmasm 就属于其中的代表,而 Pakin 本人也是一位在洛斯阿拉莫斯国家实验室工作的 Qbsolv 的用户,据悉,这款软件可以使开发人员跳过底层硬件直接进行代码编写。
Ewald 也说 D-Wave 的目标就是建立一个量子计算软件的生态系统,让开发者们聚集在这个社区之中进行交流,而要实现这一切,系统开源是必经之路。当然,每一个开发者所开发的软件都必须要在真正的量子计算机上运行,否则这种努力就没有任何意义。但当今世界上的量子计算机只有屈指可数的几台,不可能所有人对接触得到。所以在过渡期间,开发者可以下载一个 D-Wave 模拟器,在自己的电脑上测试软件。
尽管这种测试效果不会十分理想,但起码算是一个好的开始。
去年,IBM 就推出了一项云服务,使人们能够在 IBM 的量子计算机上运行自己所开发的程序。与之相比,靠 Qbsolv 和 Qmasm 开发的软件则只能运行在 D-Wave 自家的量子计算机上。这是因为 D-Wave 的机器采用了与传统计算机甚至其他量子计算机都完全不同的算法。
虽然我们身边的计算机千差万别,从智能手机到 IBM 的量子计算机应有尽有,但它们的原理都是相通的,这意味着它们可以靠编程来解决所有类型的问题,但 D-Wave 的量子计算机设计目的就比较单一:解决优化上的问题,最典型的例子就是推销路线问题,即计算通过某特定位置的最短路线。
在 D-Wave 发展的早期,批评者们甚至怀疑 D-Wave 所做的究竟是不是量子计算机,而在 2015 年,Google 和 NASA 联合发表了一篇有关 D-Wave 的论文之后,大多数研究人员都肯定了其量子计算机的真实性。现在最大的一个问题就是 D-Waves 的量子计算机是否比传统计算机速度更快,以及它的独特路线是否比 IBM 和其他研究人员所采用的方法更好。
Pakin 就说,他非常信任 D-Wave 的潜力,尽管他们目前还没有提供性能改进方案。他还解释说,D-Wave 的量子计算机要做的并不是提供最有效的答案,与之相反,它要么是提供可能性最高的解决方案,要么最快速的给出不那么完美的地解决方案,而这对许多人工智能应用程序都大有用处。
然而,在理想情况下,所有的计算问题要都可以被转化为优化问题,Qbsolv 和 Qmasm 的出现也是为了这一目的,但要真正实现这一目标,D-Wave 不仅需要开源软件,他们更需要打造一个开源社区。