糾錯與雜訊
表面碼(surface code)
真實的量子位元很嘈雜:它們會漂移、翻轉,頻率高到根本無法直接撐完一段長計算。解決辦法是把一個「好」量子位元所攜帶的資訊,攤開存放到許多物理量子位元上,這樣錯誤在累積成災之前就能被發現並撤銷。表面碼是目前最實用的實現方式。你可以想像量子位元鋪在一張平整的二維網格上,像棋盤上的一顆顆珠子。一部分珠子負責承載資料;其餘的是「輔助」量子位元,機器不斷用簡單的奇偶校驗去「戳」它們,只問一句:「你和你緊挨著的鄰居們意見一致嗎?」關鍵在於,每次校驗只牽涉到緊貼在一起的少數幾個相鄰量子位元,而這種局部、肩並肩的連線方式,恰恰是真實硬體真正造得出來的。
這些奇偶校驗絕不會洩露資料本身(那會讓它塌縮),但它們能揭示出錯誤落在何處的「指紋」。根據這一組「意見不合」的模式,一套經典的解碼演算法會推斷出最可能出了什麼錯,並加以糾正。它最大的吸引力在於容錯能力:即便每一次物理操作大約每一百次就失敗一次(一個接近 1% 的閾值),表面碼依然能正常運作,而這差不多正是優秀硬體開始達到的水準。只要把錯誤率壓在這個閾值之下,你就能透過把網格做得更大,把邏輯錯誤率壓到你想要的任意之低。
代價在於成本。「把網格做得更大」意味著要用大量物理量子位元去保護一個可靠的「邏輯」量子位元,往往是數百到數千個,外加在即時運行解碼器的快速經典電腦。正是這份開銷,成為大規模容錯機器至今尚不存在的主要原因,也是我們仍停留在小型、嘈雜裝置這一 NISQ 時代的原因。表面碼是通往糾錯計算的領先路線圖,而不是你今天就能一鍵打開的功能。
約 1% 這個數字是一個閾值,而不是保證:只有當你的硬體保持在它之下時才有幫助,而且每個邏輯量子位元所需的物理量子位元開銷依然很大。
又稱
另見