# 斯科特·阿倫森：量子計算

> 理論電腦科學家談量子計算的原理與算力邊界、量子優越性的意義及該領域的常見誤解。

- 原標題：#72 – Scott Aaronson: Quantum Computing
- 期數：第 72 期
- 釋出日期：2020-02-17
- 嘉賓 / 主題：斯科特·阿倫森
- 網頁版：https://lex.qiaomu.ai/tw/ep/scott-aaronson/
- 官方頁面：https://lexfridman.com/scott-aaronson/
- 精讀字數：約 7638 字（閱讀約 17 分鐘）

> 本文為 lex.qiaomu.ai 基於原始訪談的 AI 改寫中文精讀，非官方翻譯；引用請註明出處並連結網頁版。

1950年，圖靈在哲學期刊《心智》（Mind）上發表了一篇論文。開頭兩句話，他就把"機器能思考嗎"這個問題扔掉了。

他說這個問題太模糊，沒法討論。然後換了一個：能不能編出程式，讓人分不出它是機器還是人。這就是後來所謂的圖靈測試。

Scott Aaronson 把這個動作稱作 Q 變 Q'。面對一個無解的哲學謎題 Q，去找一個能用數學或實驗推進的科學問題 Q'，它只抓住 Q 的一部分，但它能往前走。圖靈測試就是這麼造出來的。

## 圖靈和維特根斯坦在同一個教室裡吵過架

1939年，圖靈在劍橋聽過維特根斯坦的一門課。課程記錄留了下來，Aaronson 說那是他讀過最迷人的文獻之一。

維特根斯坦在課上反覆說，形式系統這類東西完全不重要，跟現實生活有什麼關係。圖靈的回答是：如果你用一個不一致的形式系統去設計一座橋，橋可能會塌。

Aaronson 說，圖靈當時已經在想幾十年後的事。形式系統會進入計算機，會在真實世界裡做事。維特根斯坦還在爭論形式系統有沒有意義，圖靈已經看到它要被拿來幹什麼。

圖靈沒把這門課上完。半路退課，去了布萊切利園。從哲學思辨一步跨到真實工程，這個跨度大得離譜。

這解釋了 Aaronson 對哲學的態度。他自己去哲學會議，喜歡和哲學家聊天，但不肯當職業哲學家。原因很實在：哲學處理的是你能問出的最大的問題，可這些問題往往幾千年沒有進展。數學和科學不一樣，它們能拿出具體的東西。

有意思的是，電腦科學家並不比別的科學家更迴避哲學。圖靈兩篇最著名的論文裡就有一篇發在哲學期刊上。只是大部分科學家太忙了，手上堆著一大把看起來能回答的問題，沒空去啃那些看起來永遠答不出來的。

## 自由意志可以變成一道能算的題

Aaronson 寫過一篇文章叫《量子圖靈機裡的幽靈》，他說這是自己寫過最瘋的東西。在裡面他試著給自由意志做了同樣的替換。

哲學上討論自由意志，特別容易卡在詞義裡：什麼叫自由，有沒有和決定論相容的自由意志，這些定義能糾纏幾百年。他建議換個問法：一個人的行為，在多大程度上可以被預測，前提是不破壞他的大腦、不在測量過程中把他拆掉？

問題一換，就掉進了一堆實打實的東西里。大腦的計算基質是什麼？在神經元這個抽象層級上理解它就夠了嗎，還是要下沉到分子層面，甚至量子層面？

然後是一個思想實驗。假設有一臺腦掃描器，你走進去，它就能寫出你以後會寫的每一篇論文、會有的每一個念頭，包括你現在關於這臺機器的這個念頭。

拉普拉斯妖那樣的東西不太讓人焦慮，因為沒人見過它。但這臺機器如果真能演示出來，感覺完全不同。它會把"自由意志"從一個形而上學問題變成一個經驗問題：這臺機器可能嗎？如果不可能，是物理定律或者大腦的什麼性質擋住了它？

Aaronson 順手把量子力學的老答案也擺了出來。1920年代愛丁頓那批人就已經注意到，大腦裡鈉離子通道的行為是混沌的，由帶隨機項的微分方程描述。這些隨機項最終來自分子層面的量子事件，再被蝴蝶效應放大。哪怕你知道某人大腦的完整量子態，你頂多能算出他做這件事或那件事的機率。

但這還不夠。如果你造出一臺機器，能算出你所有可能行為的機率，然後發現你真做了其中有10%機率的那件事、而且比例正好是10%，那種被剝奪感一點都不比被確定性預測好多少。

真正微妙的地方在於測量本身。測量一個量子態是個破壞性操作，粒子在被測之前處在許多位置的疊加里，一測就被定死到某個位置。那麼，為了把人預測得足夠準，是不是必須做精確到會永久改變這個人腦的測量？還是說，只需要在神經元這種宏觀層級上裝一堆奈米機器人就夠了？

到這裡，討論已經變成一個有對錯、有進展方向的問題了。

## 量子力學其實是一套推廣了的機率論

物理學家花了幾代人把量子力學講得無比複雜。Aaronson 提供了一個偷懶的辦法：把它當成機率規則的推廣。

你會說今天有30%的機率下雪，不會說負30%的機率下雪，更不會說根號下負1的機率下雪。可量子力學的核心發現就是，世界是由振幅描述的，振幅像機率，但不是機率。它可以是正數、負數，甚至可以是複數。

所謂量子疊加，就是給測量時可能看到的每一種結果都分配一個振幅。看的時候，振幅按絕對值的平方變成機率。

雙縫實驗是這套規則最乾淨的演示。電子穿過兩條縫打到後面的螢幕上，有些位置它永遠到不了。可你把其中一條縫堵上，它反而能出現在那些位置。原因是到達某個點的振幅是所有可能路徑的振幅之和，兩條縫的振幅一個正一個負，正好抵消。少一條路，反而多一種可能。

Aaronson 說這就是量子力學的全部把戲：疊加、振幅、干涉。量子計算機就是想拿這套東西去解某些問題，比已知的任何經典演算法都快。

量子位元的意思是一個位元同時有取0的振幅和取1的振幅。往下走一步，事情就變得離奇了：如果你有1000個量子位元，量子力學明明白白地告訴你，你需要為這1000個位元的每一種可能配置分配一個振幅，也就是2的1000次方個振幅。

把2的1000次方個複數寫下來是什麼概念？放不進整個可觀測宇宙。

## 量子計算機並沒有在並行嘗試所有答案

幾乎所有科普文章都在這裡翻車。它們先講上面那段，然後說：所以量子計算機就是同時嘗試所有可能的答案。

聽起來太好了，好到不像是真的。因為它確實不是真的。

你可以很容易地製造出一個覆蓋所有可能答案的疊加態，哪怕有2的1000次方個答案。麻煩在於，計算機要輸出結果，你終究得去看它。而你一去測量這個疊加態，量子力學告訴你，你只會看到一個隨機的答案。

如果你只想要一個隨機答案，自己隨便挑一個就行了，何必費這麼大勁。

量子演算法的全部功夫，在於編排干涉的模式。你要讓每一個錯誤答案對應的路徑裡，一部分振幅為正、一部分為負，整體上互相抵消；而通往正確答案的那些路徑，振幅方向一致，互相加強。

所以設計量子演算法，本質上就是在設計干涉。Aaronson 用的詞是 choreograph，編排。

## 資訊的定義在1948年就定好了

資訊是這一切的核心。經典位元是0或1，這個基本單位來自夏農1948年的論文。量子資訊的單位是量子位元，也就是任何能被維持在0和1疊加態、並被操控的物件。

物理上怎麼實現？路有很多條，正在並行推進。Google 那臺機器用的是超導路線：小小的線圈，電流可以在兩種能量狀態之間流動，一種代表0，一種代表1。把線圈冷卻到略高於絕對零度，大概百分之一度，它就超導了，電流能處在兩種狀態的疊加里。另一條路線是單個原子核，它的自旋可以順時針、逆時針，或者兩者的疊加。

就像當程式設計師不需要懂電晶體一樣，寫量子程式也不需要懂量子位元的物理實現。你關心的是邏輯。

不過今天有個例外。所有能造出來的量子計算機都很吵，量子位元遠遠不完美，底層確實會干擾到上層。我們希望去的地方叫糾錯量子計算機，那裡量子位元真的表現得像完美的抽象量子位元，想維持多久就維持多久。到那時候，邏輯才真正和硬體脫鉤。

## 退相干才是真正的敵人

問題比"噪聲"更具體。真正的麻煩叫退相干，1990年代人們剛開始想這件事的時候就意識到了。

退相干的含義是量子位元和外部環境之間發生了不想要的相互作用。為什麼這要命？因為一旦關於"這個位元是0還是1"的資訊洩漏出去，被記錄到房間裡的輻射、空氣分子、連著裝置的電線裡，效果就等同於被測量了。狀態坍縮了，或者說，它和環境糾纏在一起了。

從盯著這個位元的人的角度看，它的量子態消失了。

所以做量子計算，必須把量子位元隔離得極其誇張，同時又必須讓它們彼此精確地相互作用，好告訴它們該幹什麼。怎麼把一個東西和整個宇宙隔開，同時還對它下精確指令？這問題大得嚇人。1990年代確實有重量級的物理學家和電腦科學家斷言，物理定律根本不允許你把量子位元控制到這個精度。

改變這一切的是1990年代中後期的一個發現：量子糾錯和量子容錯理論。它的結論是，你不需要把量子位元隔離得完美，你只需要隔離得非常好。哪怕每個量子位元都以某個速率往環境裡洩漏資訊，只要這個速率足夠低，你就能把真正關心的資訊用很聰明的方式編碼到多個量子位元的集體狀態裡。持續監控，發現洩漏，糾正它，從剩下的位元里把資訊恢復出來。

用不可靠的零件，造出可靠的量子計算機。這句話從1990年代一直管到現在，成了整個領域的工程綱領。

但糾錯有個代價，而且這個代價很大。它給量子位元的數量加了一層開銷。現在已知的糾錯碼，想用肖爾演算法分解大數、破解RSA，需要幾千個邏輯量子位元，而每個邏輯量子位元自己又要用幾千個物理量子位元來編碼。這麼一乘，就是幾百萬個物理量子位元。量子計算機到現在還沒破解密碼，原因就在這裡。

眼下的階段，物理學家 John Preskill 給它起了個名字，叫 NISQ，含噪中等規模量子時代。可以理解成量子計算機的真空管時代。相當於電晶體的那種東西還沒發明出來，那會對應真正的糾錯，或者某種達到同樣效果的東西。但至少，靠著這些噪聲裝置，人類第一次做到了經典計算機難以模擬的事情。

## 量子霸權證明了什麼，又沒證明什麼

量子霸權這個說法是 Preskill 在2012年提出來的，其實不太準確，也有人不喜歡，但目前沒有更好的替代。它的意思很簡單：人類第一次能用量子計算機，在一個定義明確的任務上，比任何已知的經典演算法跑得都快。

這裡說的"定義明確"，跟"有用"是兩碼事。任務可以是完全人造的，但必須有對錯，而且對錯要能不依賴這臺裝置本身來判斷。

"比經典演算法快"這幾個字也有講究。任何量子計算機能做的事，經典計算機最終都能做，因為經典計算機可以把整個量子態的全部振幅存下來，然後做線性代數把它更新下去。區別只是指數級的慢。量子計算機並沒有跑到圖靈的定義之外，它改變的只是"高效可計算"的範圍。

Google 那臺機器有53個量子位元。2的53次方大約9千萬億。他們做的是取樣問題，不是分解大數那種有唯一正確答案的問題。取樣問題的目標是輸出某個機率分佈裡的一個樣本，輸出有很多很多種合法可能，同一臺機器跑兩次大機率給出不同結果。而某些輸出會明顯比別人更可能被吐出來。

做法聽起來幾乎有點隨意：讓量子位元按一段隨機選定、但精確記錄下來的順序相互作用。這段隨機線路會讓某些輸出的振幅因為相消干涉變小，另一些因為相長干涉變大，於是機率分佈出現了偏斜。所有輸出都指數級地不可能，只是有些比別人更不可能。

怎麼驗證？Google 用的是線性交叉熵基準。你拿著量子計算機吐出來的樣本，用經典計算機去算這些樣本本該有的機率，看它們是不是高於平均值。

麻煩在於，這個驗證本身要做2的53次方的計算，在經典計算機上極其昂貴。據說勉強能跑在全球最大的超級計算機、橡樹嶺國家實驗室的 Summit 上。

這類實驗裡，人們反而不想要100個量子位元。因為到了100個，就算做成了，也驗證不了。53這個數字，是讓地球上最大的經典計算機出點汗、勉強還能跟上的位置。再往上走，這類取樣實驗就失去意義，得換別的玩法。

最後一個問題是，憑什麼確定經典計算機做不到同樣的事？答案是不知道，至少不能確定。這牽涉到複雜度理論裡 P 對 NP 那個量級的問題。我們沒法證明不存在快速的經典演算法。但我們能給出一種證據，方式是"甩鍋"：我沒法證明這個問題難，但如果它容易，那麼一堆你以為更難的東西也就容易了。這就是歸約，是理論電腦科學和密碼學從1970年代用到現在的老套路。

Aaronson 說，這種歸約證據還不夠令人滿意，怎麼把它做得更好是這個領域最大的開放問題之一。

## 破解RSA需要數百萬個物理量子位元

總統候選人 Andrew Yang 發過一條推，說因為量子計算，沒有程式碼是破不了的。Aaronson 的評價是：太早了。換個說法就是，錯了。

情況是這樣。二十六年前肖爾（Peter Shor）的發現，是量子計算成為一個獨立領域的起點。如果有一臺全尺寸量子計算機，你可以高效地找出大數的質因數、計算離散對數，還有另外幾個非常特殊的問題。這些問題不是 NP 完全問題，我們比較確定它們不是。但不巧的是，網際網路上大部分的公開金鑰加密，就是建立在這些問題很難的假設上。

肖爾證明的是，一旦有了可擴充套件的量子計算機，這個假設就不成立了。

但先別慌，兩件事要說清楚。

第一，量子霸權離威脅公鑰密碼學還差得極遠。Google 那臺53個物理量子位元的機器，和破解密碼需要的數百萬個物理量子位元、而且是質量高得多的量子位元，根本不是一個量級。不過手裡有秘密需要保密二十年的人已經在擔心了，理由也說得過去：情報機構很可能現在就在大量抓取資料，指望著等量子計算機可用了再回頭解密。

第二，已經有別的公鑰密碼體制，即使有了量子計算機也不知道怎麼破。這個領域叫後量子密碼學。目前最有希望的是格基密碼。美國正在辦一場競賽，要制定後量子密碼的標準，這是讓每個瀏覽器、每臺路由器都升級的第一步。過程會很長，但已經開始了。

Aaronson 的結論是，肖爾演算法確實戲劇性，但等網際網路遷移到後量子密碼，我們基本又回到原點。這個應用不太可能持續地改變世界。

## 真正可能改變世界的，是模擬化學

那什麼才是？Aaronson 說，目前已知的、最大的實際應用，就是模擬量子力學本身。用它去了解化學反應、設計新的化學過程、新材料、新藥、新太陽能電池、新超導體。

規模需要多大？這是個非常當下的問題。未來十年，人們會搶著去找那些用100到200個量子位元就能做出來的有用模擬。那可能是量子計算第一個真正落地的應用，也可能證明它太難，非要容錯不可。

但十年內最有希望的，肯定不是拿肖爾演算法去破密碼，那需要的糾錯太多。最有希望的，是做一個能讓材料學家、化學家、核物理學家知道點他們原本不知道的東西的量子模擬。這種事可能只要成功一兩次，就能改變價值數十億美元的產業。

舉一個具體的例子：今天製造化肥的方式，還是基於一個世紀前的哈伯-博施法，它背後是一個沒人真正搞懂的多體量子力學問題。如果能設計出更好的造化肥方法，那就是幾十億美元。

至於規模，Aaronson 說他更願意引用別人的研究而不是自己的直覺。微軟有個小組幾年前做過估算，說哪怕只有一百個量子位元，也能對造化肥那個化學反應學到一點新東西。但麻煩在於，他們說的是一百個量子位元加上大約一百萬層量子門。也就是一百個近乎完美的邏輯量子位元。而未來十年真正難的地方在於：用100到200個吵吵鬧鬧的物理量子位元，能做什麼？

突破可能從三個方向同時來。把量子位元本身做得更好，這方面的保真度過去一二十年已經提升了好幾個數量級。設計開銷更低的糾錯碼，甚至在完整遞迴糾錯之前，先用各種誤差緩解策略榨出一點加速。還有就是讓模擬量子化學和材料的量子演算法本身更高效，這些演算法比起五年前已經高效太多了。Aaronson 說他希望，因為人們足夠在乎，那些嚇人的數字會降下來。

## 量子機器學習裡有多少泡沫

量子計算有點像加密貨幣或者深度學習：核心是真東西，真到革命性的程度，正因為這個核心，它外圍裹了一大圈胡說八道。

Aaronson 認為，人們最常走偏的地方，是不去盯著那個躲不開的問題：你到底有沒有比經典計算機快？

有人因為量子霸權不實用就否定它。諷刺的是，同一批人又會說，我們關心的是有用的應用，比如交通路徑最佳化、金融最佳化。聽著挺好，但整套說辭都押在沒人追問一句話上：經典計算機做同樣的事能有多快？

那些公司和投資人最興奮、科普媒體最熱炒的應用領域，是機器學習、人工智慧、最佳化。問題在於，從最開始我們就知道，哪怕你有一臺完美的容錯可擴充套件量子計算機，這些問題上能拿到的加速也很有限。

有個著名的量子演算法叫 Grover，它能解決機器學習最佳化裡很多問題，包括 NP 完全問題。但代價是，它需要的步驟大約只是經典計算機的平方根。平方根加速很重要，很了不起，可它算不上指數級加速，跟肖爾演算法那種遊戲規則改變者的量級也差得遠。粗略地說，它在理論上大約能把你能處理的最佳化問題的規模翻倍。

因為平方根聽起來太無聊，很多人就開始發明各種啟發式演算法，因為沒人真正理解它們，你就可以把自己的期待投射上去，說不定它能指數加速呢，你又證明不了它不能。這套東西做了非常多，而支援造量子計算機的理由，有相當一部分已經壓在了這些地基極不牢靠的東西上。

會不會有一天，機器學習上真的出現指數級加速？Aaronson 說可能會。

2016年，Kerenidis 和 Prakash 提出了一個推薦取樣演算法，比任何已知的經典演算法都快指數級。這基本就是 Netflix 那個問題：根據使用者偏好的稀疏資料，給他們推薦產品。當時很多人興奮，他也興奮。

他手下有個18歲的本科生叫 Ewin Tang，非常聰明，正找題目做。他給了她一個題目：能不能證明這個加速是真的，能不能證明任何經典演算法都需要指數級更多的資料訪問？

這不是 P 對 NP 那種量級的問題，很可能證明得出來。她做了一年，沒做出來，然後搞清楚了為什麼沒做出來：那個命題是假的。存在一個經典演算法，效能和這個量子演算法差不多。她把那個量子機器學習演算法給"去量子化"了。隨後幾年，一批別的量子機器學習演算法也陸續被去量子化。

這是科學上的一個反向的進步，而且很漂亮。有人會說這是好事，因為研究量子計算順帶發現了新的經典演算法，有溢位效應。但如果你想的是量子加速，就得非常小心。這個領域現在是開放的：去找那個真正能給機器學習帶來大幅加速的例子。Aaronson 自己在想，也讓學生和博士後在想，但不能假裝這些加速已經成立了。問題恰恰出在太多公司和記者在假裝。

## 關於意義的三個答案

Lex 最後問了一個很俗的問題：生命的意義是什麼，什麼給你的生活帶來充實、目的和幸福。

Aaronson 給了三個答案。

> 一是試著發現世界的新東西，把它們分享出去，也去了解別人發現了什麼。二是我的朋友、家人、孩子、學生，我身邊的人。三是在我能做到的時候，試著讓世界變好一點點。（斯科特·阿倫森）

他說讓他沮喪的是自己做不到更多，世界正在面對氣候危機、重新抬頭的威權主義，還有一堆別的問題。但他會努力去抵抗那些他厭惡的東西，能抵抗多少算多少。

Lex 追問什麼讓他微笑。他先笑了一下，說"你這個問題本身"。

## 給讀者的行動建議

這場對話裡，比量子位元的各種數字更耐用的，是一套判斷資訊的方法。

- 看到任何量子計算的新聞，先問一句：它比經典計算機快嗎？如果通篇不提這個對比，多半是在講一個聽起來很美但沒被驗證的故事。
- 警惕"量子計算機能同時嘗試所有答案"這類表述。它是最常見、也最徹底的誤讀。真正的機制是編排干涉，讓錯誤答案互相抵消。
- 區分三個完全不同的里程碑：量子霸權（已經做到，用的還是噪聲裝置）、有用的量子模擬（未來十年最有希望）、破解公鑰密碼（需要數百萬物理量子位元，還早得很）。別把三者混為一談。
- 如果你所在的組織有需要保密二十年以上的資料，現在就該瞭解後量子密碼，別等到量子計算機成熟那天再動手。美國已經在制定相關標準。
- 對量子機器學習的宣傳保持預設懷疑。先看有沒有平方根以上的加速證據，再看有沒有人試著把那個演算法"去量子化"過一次。
- 碰到那些糾纏了幾千年、怎麼問都問不出答案的大問題，試著學圖靈，把它改寫成一道能算、能測、能證偽的題。哪怕只抓住原問題的一角，也比在詞義裡打轉強。
