相关视频资料见:
以一句话来说明”何为量子计算机?“:
此处的普通计算机是指非量子计算机。
普通计算机存储的信息为一系列的0和1组成。该系列的每个单位的0和1称为bit,因此,单个bit要么为0,要么为1。
而量子计算机不使用bits来存储信息,而使用qubits(量子位)来存储信息。每个qubit:
举例:需要给3个人分配到2辆车中,要求尽可能使关系友好的人在同一辆车上,尽可能减少关系敌对的人在同一辆车上。
常规计算机的解决方案为:
以单个bit来表示每个人所在的车编号(0或1)。可能的分配方式有
2
∗
2
∗
2
=
2
3
2*2*2=2^3
2∗2∗2=23种。
为了计算哪种分配方式最优,引入了score来打分:
score=(#关系友好的人在同一辆车) - (#关系敌对的人在同一辆车)
常规计算机会遍历所有的可能分配方案,从中获得最优的解决方案为001和110。
但是,当需要分配4个人时,常规计算机需遍历的的分配方案数为 2 4 − 16 2^4-16 24−16;当需要分配100个人时,需遍历的分配方案数为 2 100 ≈ 1 0 30 2^{100}\approx 10^{30} 2100≈1030,常规计算机无法满足相应的要求。
量子计算机可在数ms内找到最优解,即001或110。
实际上,解决这类问题,需要给量子计算机做2个设置:
完成以上2个设置之后,量子计算机会在数ms内获得最优解决方案之一——本例中,为得分为1的001 或 110。
理论上,量子计算机每运行一次会获得一次最优解之一。
但是,现实世界中,运行量子计算机可能会出错,可能找到的不是最优解,而是次优解,或者次次优解。
当问题越来越复杂时,错误可能会更明显。因此,实际上,需在量子计算机上重复运行数十次或数百次,然后从这些结果中选出最优解。
即使量子计算机存在错误解问题,但是其不存在普通计算机的扩展问题。
尽管如之前所述,实际上要在量子计算机上运行同一问题数十次或数百次,但其性能仍要远远优于常规计算机。
[1] QuTech Academy Quantum computers with magical advantage?
[2] FreeCodeCamp 2018年10月博客 What is a quantum computer? Explained with a simple example.