何为量子计算机?

1. 引言

相关视频资料见:

2. 何为量子计算机?

以一句话来说明”何为量子计算机?“:

  • 量子计算机为使用量子机制的一种计算机,其执行特定类型计算的效率要高于普通计算机。

此处的普通计算机是指非量子计算机。

  • 普通计算机存储的信息为一系列的0和1组成。该系列的每个单位的0和1称为bit,因此,单个bit要么为0,要么为1。

  • 而量子计算机不使用bits来存储信息,而使用qubits(量子位)来存储信息。每个qubit:

    • 可设置为 0 or 1
      在这里插入图片描述
    • 也可设置为 1 and 0
      在这里插入图片描述

3. 量子计算机工作原理示例

在这里插入图片描述
举例:需要给3个人分配到2辆车中,要求尽可能使关系友好的人在同一辆车上,尽可能减少关系敌对的人在同一辆车上。

3.1 常规计算机解决方案

常规计算机的解决方案为:
以单个bit来表示每个人所在的车编号(0或1)。可能的分配方式有 2 ∗ 2 ∗ 2 = 2 3 2*2*2=2^3 222=23种。
在这里插入图片描述
为了计算哪种分配方式最优,引入了score来打分:
score=(#关系友好的人在同一辆车) - (#关系敌对的人在同一辆车)
在这里插入图片描述
常规计算机会遍历所有的可能分配方案,从中获得最优的解决方案为001和110。

但是,当需要分配4个人时,常规计算机需遍历的的分配方案数为 2 4 − 16 2^4-16 2416;当需要分配100个人时,需遍历的分配方案数为 2 100 ≈ 1 0 30 2^{100}\approx 10^{30} 21001030,常规计算机无法满足相应的要求。

3.2 量子计算机解决方案

  • 对于常规计算机,使用3个bit,每次仅能代表一个可能的分配方案,如001。
  • 但是,对于量子计算机,使用3个qubit,可一次表示所有( 2 3 = 8 2^3=8 23=8)分配方案。当将第1个qubit设置为 “0 and 1”,类似为创建了2个并行世界(一个为0,一个为1);当将第2个qubit也设置为 “0 and 1”,类似创建了4个并行世界(00、01、10、11);当将第3个qubit也设置为 “0 and 1”,类似创建了8个并行世界(000、001、010、011、100、101、110、111)。

在这里插入图片描述
在这里插入图片描述

量子计算机可在数ms内找到最优解,即001或110。
实际上,解决这类问题,需要给量子计算机做2个设置:

  • 1)将所有可能的分配方案以qubits表示;
  • 2)定义一个函数对所有可能分配方案打分。本例中,该函数为计算friend pairs数与enemy pairs数,从而获得得分。

完成以上2个设置之后,量子计算机会在数ms内获得最优解决方案之一——本例中,为得分为1的001 或 110。

理论上,量子计算机每运行一次会获得一次最优解之一。
但是,现实世界中,运行量子计算机可能会出错,可能找到的不是最优解,而是次优解,或者次次优解。

当问题越来越复杂时,错误可能会更明显。因此,实际上,需在量子计算机上重复运行数十次或数百次,然后从这些结果中选出最优解。

4. 量子计算机的扩展

即使量子计算机存在错误解问题,但是其不存在普通计算机的扩展问题。

  • 当有3个人分配2辆车时,量子计算机仅需做1次运算,这是因为量子计算机可同时对所有分配方案打分。
  • 当有4个人时,也仅需要1次运算。
  • 当有100个人时,运算次数仍然为1,即量子计算机可一次为所有 2 100 ≈ 1 0 30 2^{100}\approx 10^{30} 21001030分配方案打分。

尽管如之前所述,实际上要在量子计算机上运行同一问题数十次或数百次,但其性能仍要远远优于常规计算机。

参考资料

[1] QuTech Academy Quantum computers with magical advantage?
[2] FreeCodeCamp 2018年10月博客 What is a quantum computer? Explained with a simple example.

猜你喜欢

转载自blog.csdn.net/mutourend/article/details/126325361