量子|别高兴太早,研发量子计算机的难度你想象不到

_原题为 别高兴太早 , 研发量子计算机的难度你想象不到
屡登顶级期刊封面
2020 年 8 月 28日 , 在顶级期刊《科学》杂志的封面上 , 印着一个奇怪的画面 。 在黑色的背景上 , 一个类似于计算机芯片的东西 , 向下投射出一束神秘的蓝光 。 在蓝光的映照下 , 飞舞着一些有机化学分子 。
量子|别高兴太早,研发量子计算机的难度你想象不到
文章图片

这是谷歌公司的量子计算芯片在不到一年的时间里 , 第二次登上顶级期刊的封面 。 封面上那个类似于计算机芯片的东西 , 正是谷歌公司的量子计算芯片 , 而那些飞舞在《科学》杂志封面上的有机物 , 则是一种简单的化学物质 , 名叫二氮烯 。
这篇论文里说[1] ,
谷歌公司成功地用 12 个量子比特 , 模拟了二氮烯这种物质的异构化反应 。
大家可能还记得 , 在 2019 年 9 月底的时候 , 谷歌公司用 53个量子比特的的量子计算机实现了所谓的量子霸权 , 从而登上了顶级期刊《自然》杂志的封面[2] 。
量子|别高兴太早,研发量子计算机的难度你想象不到
文章图片

量子霸权是指:在某一个特定的计算问题上 , 量子计算机在计算速度上对经典计算机实现了碾压式的超越 。 所以我觉得更好的译法应该是“量子计算优势” 。 不过 , 这个特定的计算问题可以是特别设计出来的 , 不需要考虑实用价值 。
于是 , 量子霸权成为了一个里程碑式的存在 。 但是 , 谷歌公司显然对实现量子霸权并不满足 。 他们许下宏愿说 , 一年之内 , 要用这台量子计算机完成一次化合物的模拟 。 果然 , 不到一年时间 , 谷歌公司就把这件事儿做成了 。 所以 , 新闻一出 , 科学爱好者们立即就沸腾了 。 因为有机物质空间结构的模拟 , 那是出了名的计算量大 , 计算难度高 。 这几乎就是量子计算机得天独厚的领域 。 还有一些新闻媒体做出了大胆的解读和猜测 , 能模拟有机物 , 那是不是很快就能模拟蛋白质了?是不是阿尔兹海默症、帕金森症这些疾病 , 很快就能攻克了?
但是 , 有点儿遗憾的是 , 在仔细看了谷歌公司的论文后就能发现 , 事情并没有媒体们猜测的那么乐观 。 谷歌量子计算机模拟的二氮烯这种物质 , 虽然算是有机物 , 但是它只包含2 个氮原子和 2 个氢原子 , 也就是说 , 它只有 4个原子 。 这与解决阿尔兹海默症那种高度复杂的蛋白质折叠问题相比 , 就好像是一块砖和一栋摩天大楼的差距 。
其实早在 2017 年 , IBM 公司就利用 7个量子比特 , 模拟了氢化铍分子的特性[3] 。 氢化铍分子中有两个氢原子和一个铍原子 , 总共 3个原子 , 只比谷歌公司这一次模拟的二氮烯 , 少了一个原子而已 。
量子|别高兴太早,研发量子计算机的难度你想象不到
文章图片

图:IBM 的量子计算机
所以 , 谷歌这一篇论文 , 其实只是证明了他们的量子计算机的实用价值而已 , 所以并没有实现有些媒体过度解读的那种“质的突破” 。
听到这里 , 你可能会有疑问 。 IBM 模拟氢化铍用了 7 个量子比特 , 谷歌模拟二氮烯用了 12个量子比特 。 可是 , 谷歌的量子计算机足足有 53 个量子比特呢 , 如果把所有的 53个量子比特全部用于计算 , 是不是就能模拟更复杂的化合物了呢?为什么最好的量子计算机只有 53个量子比特 , 让量子比特增加 , 到底难度在哪里呢?
量子计算与经典计算的不同
可能有人觉得 , 电子计算机和量子计算机 , 只相差一个字 , 应该一个用电子做计算 , 另一个则用量子做计算 。 其实 , 这个理解是错误的 。 电子计算机里的电子 , 指的并不是真正的电子 , 它指的是电子电路 。 虽然我们已经把计算机芯片的尺度缩小到了纳米级别 , 但是 , 这些电路依然与墙上的那些开关一样 , 是完全可控的 。
而量子计算机里负责计算的元件可不是开关 , 那些都是真正的微观粒子 。 它们就像量子物理中描述的一样 , 没有确定的状态 。 我们只能用概率来解释它们的行为 。
量子|别高兴太早,研发量子计算机的难度你想象不到
文章图片

图:量子芯片
幼儿园小朋友算算数时 , 用的是掰手指头的方法来计算 。 掰手指头算算数 , 虽然又原始又缓慢 , 但它与太湖之光超级计算机的本质一样 , 都属于经典计算的范畴 。 虽然芯片中的每一个晶体管已经做得比病毒还要小 , 但是 , 这些晶体管依然是完全受控的 。 它们与手指头一样 , 都是受经典物理学定律指挥的 。
与经典计算相对的 , 就是量子计算 。
你可能听说过量子力学中的叠加态、测不准原理和量子纠缠这些奇怪的特性吧 。 量子计算机真的就是利用了量子力学的这些奇怪特性而设计出来的 。
为了让大家能理解量子计算的独特之处 , 这里我们举几个高度简化的例子:
现在请你想一个 1 到 10 之间的数字 , 然后用一只手表示出来 。 我们可以用 5 根手指头表示出 1 到 5 , 然后用拇指和小指一起伸出来表示 6 , 拇指和食指一起 , 可以表示 8 , 如果表示 10 , 那就攥紧拳头就行了 。


推荐阅读