糾錯與雜訊

容錯(fault tolerance)

想像你要抄寫一封很長的手寫信,可你手頭的每支筆都會蹭花一點墨,橡皮擦也會蹭髒紙面,連你的老花眼鏡都會讓幾個字看不清。如果不小心,你每修正一個錯誤,都可能多帶出兩個新錯,錯誤像滾雪球一樣累積,最後整頁變成一團亂碼。容錯就是把工作安排好的本事,讓任何一處差錯——哪怕是改錯過程本身出的差錯——都無法層層放大、毀掉全局。在量子計算機裡,這一點尤其要緊,因為量子位元時刻都在漂移、退相干,而你用來檢測和修正這些錯誤的機器,本身又是由不完美的量子位元和不完美的閘搭成的。

說得更確切些,容錯設計會用一種量子糾錯碼,把每個脆弱的邏輯量子位元編碼到許多物理量子位元上,然後小心地執行每一步操作——閘、測量,尤其是糾錯檢查——使得任何一個出故障的部件,最多只能產生少量、可以糾正的錯誤,絕不會引發洪流。閾值定理把這一點講得很具體:只要你物理硬體的錯誤率保持在某個臨界值之下(對於流行的表面碼,大致每步操作約 1%),你就能透過增加更多物理量子位元,把邏輯錯誤壓到任意低,從而可靠地執行任意長的計算。代價是極高的開銷——按今天的估計,保護單個邏輯量子位元往往要用上成百上千個物理量子位元。

這正是把實驗室示範和一台真正的計算機分開的那道分界線,而我們還沒有完全跨過去。我們身處 NISQ 時代:機器只有幾十到幾百個帶雜訊的物理量子位元,還沒有能執行有用演算法的大規模容錯邏輯量子位元。近期實驗已經展示出一些基礎構件——編碼出的邏輯量子位元、隨著碼增大而改善的錯誤率——但一台足夠大、能真正去執行 Shor 演算法破解現實世界 RSA 金鑰的完整容錯計算機,目前還不存在。

容錯是我們正在逼近的工程目標,而不是已經完成的成就——對任何聲稱今天的量子計算機能在沒有容錯的情況下可靠執行長演算法的說法,都要持懷疑態度。

又稱
fault-tolerant quantum computationFTQC容错量子计算容錯量子計算