量子計算。這個詞在科幻小說和大眾媒體中很常見,和「量子糾纏」、「量子隱形傳態」一樣。但它到底是什麼?
量子計算是非常非常線性代數的——因此,對於日常的技術愛好者來說,沒有太多的資源。本文將以數學為重點,為量子計算提供一種現實的方法,不僅關注理論,還關注硬體和現實世界的實現,以及對所有人的未來意義。
量子位和疊加
要理解量子位是什麼,首先需要理解位是什麼。你的計算機以比特為單位運行,比特可以是0,也可以是1。位能夠表示大量的數據——計算機運行的所有程序都存儲在非常非常長的位串中。比特在物理上是用電晶體來表示的,其中通過柵極的電子表示1,不通過柵極的電子表示0。計算機晶片中包含了數萬億的超小型電晶體(信息是由電子表示的,這就是計算機晶片不能變得更小的原因)。
量子位元是完全不同的,因為它們不局限於0或1的狀態,它們可以介於0或1之間。這種現象被稱為疊加,只存在於量子。量子位可以是任何表現出量子行為的東西,比如光子。
一個處於疊加狀態的量子位,當被測量時,會變成兩個確定的狀態(0和1)中的一個,它落入0或落入1的概率是由它的疊加所決定的。如果量子位處於相等的疊加狀態,則一半在狀態0,一半在狀態1。因此,當被測量時,量子位元會以50%的機率落入狀態0,以50%的機率落入狀態1。如果量子位處於,比如說,75%的狀態0和25%的狀態1,當測量100次時,量子位將進入狀態0大約75次,狀態1大約25次。
為了理解疊加,我們必須把狀態看作波,而不是相互排斥的類。想像兩種音樂形式,我們稱之為音樂A和音樂B。你可以用100%音量播放音樂A,也可以用100%音量播放音樂B,或者你可以同時用50%音量播放兩種音樂。
因為量子位元在被測量時,會變成兩種確定狀態中的一種,所以不可能測量一個量子位元的真實概率狀態。然而,它是可能的近似值。如果一個量子位在0中佔25%,在1中佔75%,那麼通過測量它1000次——比如測量0的結果是239次,測量1的結果是761次——量子物理學家可以近似出量子位所處的狀態。關鍵字是近似。
疊加是一種真實存在的現象——著名的雙縫實驗表明,某些量子,如電子或光子,處于波態,當它們通過兩個狹縫時,會在屏幕上顯示出幹涉圖樣。
在硬體方面,構建量子位的主要挑戰是它們的概率性質(它們不是確定性的),這意味著它們的狀態可以很容易地根據外力改變。量子位元之所以難以維持,正是因為它們如此強大——它們的許多可能狀態很難控制超過幾秒鐘。將量子門應用於執行操作可能經常會由於意外錯誤地處理量子位而導致門錯誤。量子位元可以是任何東西,從光子到電子再到某些分子,只要它們表現出量子行為即可。
多量子位系統和糾纏
一個處於00狀態的2量子位系統的第一個量子位處於0狀態,第二個量子位處於0狀態。狀態10的2量子位系統的第一個量子位在狀態1,第二個在狀態0。
由於疊加,2-量子位系統不僅僅局限於確定性(0或1)狀態——它們可以處於疊加狀態。一個兩量子位系統在相同的疊加狀態下是四分之一在00狀態,四分之一在01狀態,四分之一在10狀態,四分之一在11狀態。這意味著當系統被測量時,它有相同的機會降落在四個確定的2-量子位狀態之一。
糾纏是一個常用的流行詞,它令人困惑。阿爾伯特·愛因斯坦把它稱為「鬼魅般的遠距離作用」,因為人們可以把它解釋為違反了他的狹義相對論。
當兩個糾纏的量子位元A和B處於任意疊加狀態時,當鮑勃測量量子位元A處於狀態1時,即使不測量量子位元B, 鮑勃也立即知道處它於狀態1。當鮑勃測量B時,它處於狀態1。如果Bob測量量子位A處於0狀態,那麼量子位B也將處於0狀態。更令人驚奇的是,當A和B相距數萬億光年時,這種現象仍然會發生——距離不是糾纏的一個因素。
這看起來像是巫術,但它已經被證實是真的——糾纏是真實發生的事情。然而,當我們觀察它的量子位系統時,糾纏就不那麼令人困惑了。如果一個包含量子位元a和B的雙量子位元系統處於糾纏態,它們的狀態可能是一半在00,一半在11。這樣,無論系統測量到什麼,兩個量子位元總是相同的。一個糾纏系統也可以是一半在01,一半在10,其中兩種狀態總是相對的。
狀態不是00就是11——兩個量子位永遠是一樣的。愛因斯坦和其他物理學家在糾纏中發現了錯誤,因為它似乎違反了愛因斯坦的狹義相對論,該理論認為,沒有任何物體的速度可以超過光速。如果愛麗斯有一個量子比特A,鮑勃有一個量子比特B(兩者都是糾纏在一起的),並且鮑勃走了數十億光年遠,那麼愛麗斯的量子比特的測量結果就和鮑勃的完全一樣,所以對愛麗斯的量子比特的任何改變都會影響鮑勃的量子比特的狀態。一些人認為量子位元「同意」事先選擇的狀態,但這似乎不符合概率量子位元的隨機性。沒有人真正知道,因為不可能找到精確的量子比特的概率狀態,因為測量一個量子比特會迫使它進入兩個確定性狀態之一。這個問題仍在爭論中。
為什麼量子位元更優越?
在一些計算問題上,比如資料庫搜索和因式分解(我們很快就會討論到,這可能會破壞你的網際網路加密),量子位元的速度比普通位元要快得多。
重要的是要認識到量子位元可以比位元容納更多的信息。一個比特所包含的信息量與一個量子位相同——它們都只能包含一個值。然而,必須使用4位原來儲存與兩個量子位元相同數量的資訊。一個兩量子位系統在相同的疊加狀態下可以保存四種狀態的值,而在傳統的計算機上,至少需要4位才能保存這些值。8位需要存儲與3個量子位相同數量的信息,因為3個量子位系統可以存儲8種狀態——000、001、010、011、100、101、110和111。這種模式仍在繼續。
下圖直觀地展示了量子位元的計算能力。x軸表示用來容納一定數量信息的量子位的數量。藍線的y表示需要容納與量子位數量(x軸)相同數量的信息的位的數量。紅線的y表示需要容納與x軸上的量子位相同數量信息的量子位的數量。(y=x)
想像一下量子計算可以提供的指數級加速!一個千兆字節(8E+09位)的信息可以用log(8E+09)/log(2) = 33(從32.9位四捨五入)量子位來表示。
量子計算機也擅長分解數字——這就引出了RSA加密。保證媒體和其他網站安全的安全協議被稱為RSA加密。它依賴於這樣一個事實:在當前的計算資源中,分解一個只有一個解的30位數字m需要非常、非常長的時間——即p乘以q,其中p和q都是大素數。然而,m除以p或q在計算上要容易得多,而且由於m除以q會返回p,反之亦然,因此它提供了一個快速的密鑰驗證系統。
一種被稱為Shor算法的量子算法在分解數字時顯示出指數級的加速,有一天它可能會打破RSA加密。但是不要相信這些炒作——在寫這篇文章的時候,量子計算機所能分解的最大的數字是21(3和7)。量子計算機分解30位數字甚至10位數字的硬體還沒有開發出來。即使有一天量子計算機真的打破了RSA加密,一種新的安全協議BB84依賴於量子特性被證明是安全的量子計算機。
那麼量子計算機會完全取代傳統的個人電腦嗎?
量子計算雖然發展非常迅速,但仍處於初級階段,研究只能由谷歌、微軟和IBM這樣的大公司半競爭性地進行。許多用於加速量子計算的硬體目前還無法使用。量子未來有幾個障礙,其中一個主要障礙是解決門錯誤和保持量子比特狀態的完整性。
然而,考慮到過去幾年發生的大量創新,在我們的有生之年,量子計算取得巨大進步似乎是不可避免的。此外,複雜性理論表明,在一些情況下,經典計算機的性能比量子計算機更好。IBM量子計算機開發人員表示,量子計算可能永遠不會完全消除經典計算機。相反,在未來,我們可能會看到一種混合晶片,它在某些任務上依賴於量子電晶體,而在其他任務上依賴於經典電晶體,這取決於哪一個更合適。