我们都经常听到量子电脑(Quantum computer)是未来的趋势,但量子电脑究竟是什么?CS Dojo YouTube 频道创办人 YK Sugi 参观了知名量子电脑公司 D-Wave Systems 后,提出一个简单例子,让不熟悉量子物理或电脑科学的人也能理解量子电脑的概念。
不论传统电脑或量子电脑,包含数字、文字、图片等所有讯息都使用一系列 0 和 1 表示并储存。传统电脑中,最小储存单位称为位元(bit),而量子电脑中,最小储存单位称为量子位元(qubits)。
但除了名称差异,量子位元和位元究竟有何不同?让我们这么说吧;每个位元都是 0 或 1,但每个量子位元都可以是 0 和 1。如果还是难以理解,我们不妨从以下的数学例子来理解两者的差异。
假设你经营一家旅行社,必须安排团员从一个地方移动至另一个地方,为此你预订了 2 辆计程车,现在必须规划如何分配座位。为了确保旅程气氛和乐,你希望透过座位分配达成两个目标:最大化同辆车的朋友数量,同时最小化同辆车的敌人数量。
为了保持题目单纯,让我们先假设团员只有 3 个人──Alice、Becky 和 Chris,而你所知道的 3 人关系如下:
- Alice 和 Becky 是朋友
- Alice 和 Chris 是敌人
- Becky 和 Chris 是敌人
在如此单纯的条件下,许多人大概不需要电脑就能随手算出最好的分配解答,尽管如此,我们还是先来看看传统电脑和量子电脑解决问题方面的差异。
计程车分配问题:传统电脑
要说明传统电脑如何解决这个问题,我们就必须先理解电脑如何用位元储存讯息。
首先,我们将两台计程车分别设定为“#1”和“#0”,这样就能用 3 个位元表示分配座位的各种情况。当不考虑计程车搭乘人数的上限和下限,每个人都有 2 个选择,因此共有 23=8 种方法将这组人分成两辆车。
▲ 3 人搭计程车的所有可能组合。
为了确定哪种组合是最佳解决方案,我们必须先定义如何计算每项组合的“分数”,才能比较每个方案达到目标的程度。这里我们先简单地定义分数如下:
- (朋友共享同一辆车)-(敌人共用同一辆车)=得分
在这个定义下,假设 3 人都进入出租车#1(位元表示为 111),配置的总分便为 1(Alice 和 Becky)-2(Alice 和 Chris、Becky 和 Chris)= -1。
使用传统电脑时,你基本上需要列出并计算完所有组合,确定哪个得最高分才能获得最佳解答。在这个问题中,所有组合的分数情况如下:
▲ 得分为 1 的 001 和 110 是两个最佳解答。
由于问题相对简单,传统电脑很快就能解决,但如果人数增加呢?3 个人有 23 种组合,4 个人就需要 24 种组合,不考虑计程车能否容纳的问题之下,如果有 100 个人,我们就需要 2100 种组合,传统电脑无法解决这种问题。
但如果使用量子电脑呢?解释如何处理 100 个人的问题之前,我们先回到将 3 人安排分搭 2 辆计程车的情况。
计程车分配问题:量子电脑
正如先前提到的,这个问题有 8 种组合,运用一般电脑时,3 个位元一次只能代表一种可能性(像是 001、101),但使用量子电脑,只要 3 个量子位元就可以同时代表 8 种可能性。
简单来说,当你将第一个量子位元设定为 0 和 1 时,就有点像创造 2 个平行世界。其中一个世界,量子位元为 0,另一个世界量子位元为 1,当你再将第二个量子位元设为 0 和 1 时,这就像创造了 4 个平行世界。
这种思考方式或许有些奇怪,但能稍微解释量子位元在现实世界的行为方式。
与传统电脑用位元列出所有 8 种可能性的情况不同,当您对这 3 个量子位元应用某种运算时,实际上是同时在 8 个平行世界应用相同计算,同时计算所有方案的得分。
当然,你还是得让量子电脑学会用量子位元表示所有潜在解决方案,同时将每个潜在解决方案转换为分数,一但做到这两件事,量子电脑便能在几毫秒内提供最佳解决方案之一。在 3 人计程车问题,答案便是 001 或 110。
然而尽管理论上来说,量子电脑每次运算都会提供最好解决方案之一,但量子电脑实际运算有一些错误。它可能提供第二好或第三好的解答,随着问题越来越复杂,这些错误也就变得更明显。
因此实用时,你可能必须在量子电脑进行相同运算数十次或数百次,然后从获得的众多结果选出最好的一个。
处理大量计算的优势
尽管有这些错误,量子电脑还是有强大的优势。因为和传统电脑不同,面对需要庞大计算量的问题时,量子电脑并不会有扩展问题。
由于量子电脑同时计算所有组合搭配的分数,因此当有 3 个人时,需要执行的次数为 1,4 个人时次数仍为 1,即使数字增加至 100 人,操作次数仍然是 1。透过一次操作,量子电脑会同时计算所有 2100 种组合的分数。
当然因为有前述提到的问题,实际应用时为了得出最佳结果,最好还是操作量子电脑数十次或数百次,并从众多结果中选择最好的一个。
尽管有些麻烦,但仍比传统电脑运算相同问题,得重复与结果数相同的计算次数要好得多。以 100 人计程车问题来说,这个数字大概是 1 百穰次。(1 穰次等于 10 的 28 次方)
- What is a quantum computer? Explained with a simple example.
(首图来源:shutterstock)