《An Introduction To Quantum Computing》读书笔记

量子计算是未来的趋势,因为它比目前的传统计算机快很多,到底快多少呢?我们就拿世界上最快的超级计算机 Summit 作比较吧,这台庞大的机器由 27648 个NVIDIA Volta GPU 提供支持,性能达到每秒 3 exaop(即三百亿亿次计算),三百亿亿噢,是不是超级快了呢?但是,近期 Google 的量子计算已经完成了一项高难度的计算任务,这个任务用 Summit 就算是一万年也不可能完成,而 Google 的量子计算只用了几分钟就搞定了。况且,完成这个计算任务的量子计算机只有 53 个量子位。

量子位 (Qubits) 是量子计算机中的最小单元,就像我们传统计算机中的比特位 (bit) 一样。一个比特位可以存储的信息,只有两种,要么是 0,要么是 1,量子位不太一样,它除了 0 和 1 之外,还有带方向和旋转等信息,而且它的值不是确定的,是有一定的概率,例如在某个时刻测量某个量子的值,它可能有 70% 的概率值为 1,30% 的概率是 0。

例如上图就是顺时针旋转的量子位,表示值 0。在量子计算中也存在 NOT 操作,比特的 NOT 操作比较简单,NOT 0=1,NOT 1=0,直接取反就是了,但是因为量子具有概率、旋转方向等特性,它的 NOT 操作就没那么简单,而且是有点违背直觉的,这里没办法讲清楚原理,只能记住结论,像背公式那样。

结论就是,对于 0 量子位,NOT 操作的结果是 50% 概率变成 0(旋转方向相同),50% 概率变成 1(旋转方向相同);对于 1 量子位,NOT 操作的结果是 50% 概率变成 0(旋转方向相同),50% 概率变成 1(旋转方向相反)。注意最后一个,NOT 1 操作是有一半的概率变成反方向的 1 的。

根据上面的定律,假如我们对一个 0 Qubits 进行两次 NOT 操作,那么可能出现的情况如下图:

在第二次 NOT 操作之后,有 1 正方向和 1 反方向情况同时出现,而且概率相同,所以两者互相抵消,最后只剩下 0 的可能性。所以,对 0 Qubits 进行两次 NOT 操作,最终结果必然是 0!这又意味着什么呢?假如现在你在跟计算机玩一个抛硬币的游戏,从国徽面开始,每次抛硬币随机一半概率变成金额面和国徽面,如果你抛两次,那么传统计算机的最终结果,会是一半概率变成国徽面,一半概率变成金额面,假如你下注金额面,那么你赢过电脑的概率是 50% 的,可以打个平手。现在换成跟量子计算机玩同样的游戏,这时你就惨了,因为上面讲了,两次 NOT 操作量子计算是 100% 回到原来那个值的,所以不管进行多少轮游戏,两次抛硬币之后量子计算机始终会回到国徽面,你下注金额面必输无疑。

这里还只是提到了一个量子位的一个操作,如果把多个量子结合起来,再加上多种不同运算操作,就更加复杂了。我暂时还没完全理解多个量子位操作原理,所以暂时不写了。

最后提一下为什么量子计算对我们非常重要。目前全世界的计算机系统,从银行密码加密,到你手机里面数据存储、网络传输,再到新兴的区块链技术,底层的加密原理基本上都依赖于一个数学上的事实,那就是一个非常大的数字质数分解非常困难,举例来说,将 593 乘以 829 得到 491597 很容易,但是想要算出 491597 是由哪两个质数相乘得到则非常困难,区块链底层安全机制也是基于目前单台计算机 (包括超级计算机) 的算力在很长时间内无法进行此类算法的破解。但是如果有一天大型的量子计算机得以实现,那么世界上所有系统都变得透明,整个信息世界面临崩塌。所以在这之前,我们需要想出另外一些加密办法,来防止被量子计算破解。

以子之矛,攻子之盾。没错,量子计算可以用来进行快速的破解工作,但同时我们也可以利用它的某些特性,用来加密信息防止破译。其中一个量子特性就是量子纠缠,让爱因斯坦胆颤的量子超距作用。量子纠缠的原理就是,两个处于纠缠状态的量子,把它们分开无论放得有多远,例如一个放地球,另一个放 100 光年之外的星球,一旦其中一个量子的旋转状态变化,另一个也会立马变化,例如地球上的量子处于左旋另一个就右旋,如果我们想要通知 100 光年以外的伙伴,那么就把地球上这个量子变成右旋,另一个立马就会变成左旋,信息瞬间传达过去,没有任何传输过程,所以也谈不上消息被其他外星人拦截和破译。如果不是量子技术,通过现有的传统光学传输,那么最少也要 100 年才能把信息送达,而且还有可能被截取和修改。

所以量子通信是一个前景非常明朗的应用方向,我们中国政府也非常重视这一块的发展,已经发射了一颗量子卫星 “墨子”,并且做这一块的公司 “国盾量子” 也已经上市,大家有兴趣可以多了解。

参考: