量子電腦為什麼可以那麼快?

量子電腦之所以在某些問題上跑得很快,是因為它處理資訊的方式和一般電腦不一樣,而不是因為它是「渦輪加速版的筆電」。一般電腦用位元(bit),值不是 0 就是 1;量子電腦用量子位元(qubit),在被測量之前,可以處於 0 與 1 的受控混合狀態。

這種混合狀態稱為疊加(superposition)。它讓一組量子位元能同時代表許多可能的狀態。這也是人們常說的「一次嘗試多個答案」,但這句話其實有點誤導。當你去測量這些量子位元時,並不會把所有可能的答案都印出來,你只會得到一個結果。

真正的巧思在於:量子演算法會在測量發生之前,改變各種結果的機率。量子態的行為有點像波,而波可以互相疊加,也可以彼此抵消。在量子計算裡,這種現象稱為干涉(interference)。一個好的量子演算法,會把錯誤答案推向互相抵消,同時把有用的答案推向被測到的機率變高。

糾纏(entanglement)則帶來另一塊拼圖。當量子位元彼此糾纏時,你沒辦法把每個量子位元單獨完整描述,整個系統必須當成一個整體來看。這讓量子電腦能夠追蹤各種可能性之間的關係,而這些關係無法乾淨地對應到一般位元的表示方式。

Grover 演算法(Grover’s algorithm)是一個乾淨的例子。IBM 的說明指出,這個演算法會先把所有可能的項目做成一個疊加態,再反覆執行操作,讓正確答案的機率提高、其他答案的機率下降。對於沒有結構的搜尋問題來說,這帶來「二次方加速」(quadratic speedup):不是什麼魔法,但比一個一個逐項檢查快得多。

Shor 演算法(Shor’s algorithm)則是更有名的例子。至少在理論上,它能以指數方式,比目前已知的古典方法更有效率地分解大數。這件事之所以重要,是因為某些加密系統的安全性,就建立在「大數分解很難」這個前提之上。但 IBM 也提醒,若要用 Shor 演算法對付現代 RSA 等級的大數,需要數以百萬計的量子位元,以及很深的具備錯誤更正的電路,這遠遠超出今天的硬體能力。

所以誠實的答案是:當問題本身有對的數學結構時,量子電腦才會快。大數分解、某些搜尋、量子化學,以及對量子系統本身的模擬,都是天然合適的候選題目。至於寫電子郵件、開啟試算表、載入網頁這類日常工作,通常不會因為背後多了一顆量子晶片就變快。

真正困難的部分,是讓這些量子位元能夠「維持可用」的時間夠長。量子態非常脆弱,熱、振動與電磁雜訊都可能干擾它們。這個問題稱為去相干(decoherence)。在硬體與錯誤更正技術進一步進步之前,許多量子加速仍然只是特定演算法的「承諾」,還無法取代你桌上的電腦。

參考資料

  1. What Is Quantum Computing? – Microsoft Azure(什麼是量子計算?-Microsoft Azure)
  2. Quantum Computing Explained – NIST(量子計算解說-NIST(美國國家標準暨技術研究院))
  3. What Is Quantum Computing? – Azure Quantum – Microsoft Learn(什麼是量子計算?-Azure Quantum-Microsoft Learn)
  4. Grover’s Algorithm – IBM Quantum Learning(Grover 演算法-IBM Quantum Learning)
  5. Quantum Algorithms: An Overview – npj Quantum Information(量子演算法綜覽-npj Quantum Information)
  6. Interference – Microsoft Quantum(干涉-Microsoft Quantum)
  7. Shor’s Algorithm – IBM Quantum Learning(Shor 演算法-IBM Quantum Learning)
  8. Shor’s Algorithm – IBM Quantum Documentation(Shor 演算法-IBM Quantum 文件)

延伸閱讀