是什麼讓量子計算如此難以解釋?
作者 | Scott Aaronson
譯者 | Sambodhi
策劃 | 劉燕
直到我們開始討論這些計算機的潛在應用,才需要理解它們背後的物理原理。
你也許聽說過,量子計算機是一臺神奇的超級機器,它通過嘗試不同平行宇宙中所有可能的答案,將很快治癒癌症,遏制全球變暖。15 年來,在我的博客(https://www.scottaaronson.com/blog/)和其他地方,我一直在抨擊這種“卡通化”的觀點,試圖解釋我所看到的更爲微妙而又具有諷刺意味的真相。作爲一名量子計算研究者,我將此視爲一項公共服務,幾乎也是我的道義責任。
隨着企業和政府多年來投入了數十億美元,科技也發展到了可編程的 50 量子比特設備,(在某些人爲設計的基準上,)這確實能讓世界上最大的超級計算機與之競爭,而關於量子計算機的令人髮指的炒作只會愈演愈烈。正如加密貨幣、機器學習和其他時尚領域一樣,有了錢就有了叫賣的人。
然而,在思考時,我理解了它。事實上,即使你把所有的壞動機和貪婪都去掉,量子計算也很難在沒有數學基礎的情況下,用簡單而誠實的方式來解釋。量子計算領域的開拓者 Richard Feynman,在談到爲他贏得諾貝爾獎的量子電動力學工作時,曾經說過,如果能用幾句話來描述它,它就不值得獲得諾貝爾獎。
但是這並不能阻止人們嘗試。自 1994 年 Peter Shor 發現量子計算機能夠破解保護互聯網交易的大部分加密技術以來,人們對於這種技術的興奮已經不僅僅是出於求知慾。實際上,一般將這一領域的發展看作是一個商業或技術故事,而非一個科學故事。
假如一位商業或技術記者能如實地告訴讀者:“看,在它的背後有那麼多深奧的量子概念,但是你要明白,底線就是:物理學家將要製造出更快的計算機,它將完全改變一切。”
但問題是量子計算機並沒有完全改變這一切。
沒錯,它們總有一天會在幾分鐘之內解決某些我們認爲在經典電腦上花費的時間要比宇宙的年齡還要長的問題。但是,也有很多其他的重要問題,大多數專家認爲,量子計算機如果能解決的話,也只能起到有限的作用。
而且,儘管谷歌和其他公司最近發表了可信的聲明,說他們已經實現了人爲的量子加速,但這只是針對特定的、深奧的基準(我幫助開發的基準)。在破解密碼和模擬化學這樣的實際應用中,量子計算機的體積和可靠性足以勝過傳統計算機,但這可能還有很長的路要走。
但是,一臺可編程的計算機怎麼可能只對某些問題更快呢?我們知道哪些問題嗎?而且在這種情況下,“大而可靠”的量子計算機又意味着什麼呢?要回答這些問題,我們需要深入探討。
先說量子力學吧。還有比這更深奧的東西嗎?我們都知道,疊加的概念很難通過日常語言來表達。所以,很多作者選擇了一種簡單的方法並不奇怪。他們說,疊加的意思是“同時存在”,因此量子比特,或者稱量子位,只是一個可以“同時爲 0 和 1”的比特,而經典比特只能是其中的一個。他們還說,量子計算機將會利用量子比特,在疊加狀態下,嘗試所有可能的解,以達到它的速度,也就是同時或平行。
因此,我認爲量子計算普及所犯的根本性錯誤,也是造成其他錯誤的原因之一。現在,量子計算機已經可以通過一次嘗試所有可能的答案,來快速解決類似的旅行推銷員的問題,而幾乎所有專家都認爲他們無法做到這一點。
但問題在於,要讓計算機發揮作用,在某些時候你需要查看它並讀取輸出。但是,如果你看到所有可能答案的平等疊加,按照量子力學的規則,你只能看到並讀到隨機答案。如果這就是你想要的答案,你可以自己選一個。
疊加的真正意義在於“複數線性組合”。在這裡,我們所說的“複數”並不是“複雜”的意思,而是指一個實數加一個虛數,而“線性組合”則是指各種倍數的狀態加在一起。
所以,一個量子比特是一個複數位,它有一個稱爲振幅的複數,附加於它是 0 的可能性,還有一個不同的振幅,附加於它是 1 的可能性。這些振幅與概率有密切關係,因爲某些結果的振幅離零越遠,看到這個結果的機會就越大;確切地說,概率等於距離的平方。
但振幅不是概率。它們遵循不同的規則。舉例來說,如果對一個振幅的某些貢獻是正的,而其他貢獻是負的,那麼,這些貢獻可以進行破壞性干擾並相互抵消,從而使振幅爲零,相應的結果將永遠不會被觀察到;同樣,它們也可以進行建設性干擾,並增加一個特定結果的可能性。
設計量子計算機算法的目的是,設計一種建設性和破壞性的干擾模式,以便對於每個錯誤的答案,對其振幅的貢獻相互抵消;而對於正確的答案,貢獻則相互加強。假如,也只有你能把這些安排好,當你看的時候,你將會有很大的概率看到正確的答案。棘手的問題是,如何在沒有預先知道答案的情況下做到這一點,並且要比使用經典計算機要快得多。
視頻地址:https://youtu.be/jHoEjvuPoB8
27 年前,Shor 展示瞭如何在整數分解問題上做到這一切,破解了大部分網上交易中廣泛使用的保用密碼。我們現在還知道如何在某些其他問題上做到這一點,但是,這些問題只能通過特殊的數學結構來解決。這不僅僅是一次嘗試所有可能答案的問題。
更難的是,如果你想誠實地討論量子計算,你就必須掌握計算機科學的理論概念詞彙。常常有人問我,量子計算機會比今天的計算機快多少倍。一百萬倍?十億?
這個問題忽略了量子計算機的重點,即實現更好的“縮放行爲”,或者運行時間與 n 的函數關係,即輸入數據的比特數。這可能意味着在一個問題上,最好的經典算法所需的步驟數隨 n 呈指數增長,而解決這個問題的步驟數只隨 n 的平方增長,在這種情況下,對於小的 n 來說,用量子計算機來求解,實際上要比用經典算法來求解,速度要慢,代價要大。量子加速只有當 n 增長時纔會首次出現,然後最終占主導地位。
但是,我們怎麼知道沒有經典的捷徑——一個傳統的算法會有類似量子算法的縮放行爲?儘管這一問題常常被大衆所忽視,但它是量子算法研究的核心,因爲量子算法研究的困難往往不在於如何證明量子計算機可以迅速完成某些工作,而在於令人信服地證明傳統計算機不能。
事實證明,難以證明問題很難,就像著名的 P/NP 問題所表明的那樣 (這個問題簡單地說就是:是否所有問題都可以用快速檢驗法快速解決)。它不只是一個學術問題,更是一個點點滴滴的問題:在過去的幾十年中,當經典算法具有相似的性能時,猜想中的量子加速就一再消失。
請注意,在解釋了這一切之後,我仍然沒有提到構建量子計算機的真正困難。總之,問題出在了退相干上,這意味着量子計算機及其環境——附近的電場、溫暖的物體,以及能記錄下量子比特信息的其他事物——之間不需要的相互作用。這樣做的結果就是過早地“測量”量子比特,並將其坍縮到肯定爲 0 或肯定爲 1 的經典比特。
這一問題的唯一已知解是量子糾錯:20 世紀 90 年代中期提出的一種方法,它把量子計算中的每一個量子比特巧妙地編碼成幾十甚至數千個物理量子比特的集合狀態。但是,現在研究者們開始讓這種錯誤糾正機制在真實世界中起作用,而且,真正起作用還需要更長的時間。當你讀到關於 50 或 60 個物理量子比特的最新實驗時,重要的是要了解這些量子比特並未進行糾錯。除非它們得到修正,否則我們不會有超過幾百個量子比特的規模。
當某個人理解了這些概念,我就會說他已經做好了開始閱讀的準備,也許還會寫一篇文章介紹量子計算的最新進展。在不斷區分現實與炒作的鬥爭中,他們會明白該問些什麼問題。瞭解這些東西的確是有可能的,畢竟它不是火箭技術,它僅僅是量子計算。
原文鏈接:
https://www.wired.com/story/what-makes-quantum-computing-so-hard-to-explain/
每週精要上線移動端,立刻訂閱,你將獲得
InfoQ 用戶每週必看的精華內容集合:
資深技術編輯撰寫或編譯的全球 IT 要聞;
一線技術專家撰寫的實操技術案例;
InfoQ 出品的課程和技術活動報名通道;
“碼”上關注,訂閱每週新鮮資訊