目標是一個由完全隨機的1和0組成的無窮無盡的流。在計算機科學家的聚會上說「量子至上」這個詞時,人們的眼睛可能會翻白眼。這個短語指的是量子計算機將很快跨越一個閾值,在這個閾值中,量子計算機將相對輕鬆地執行對經典計算機來說極其困難的任務。直到最近,人們還認為這些任務在現實生活中幾乎沒有什麼用處,因此對此不屑一顧。
但是現在有傳言說谷歌的量子處理器即將達到這個目標,即將到來的量子優勢可能最終會有一個重要的應用:生成純粹的隨機數。隨機性對於我們使用計算和通信基礎設施所做的幾乎所有事情都是至關重要的。特別是,它被用來加密數據,保護從日常對話到金融交易到國家機密的一切。
真正的、可驗證的隨機性——把它看作是一串數字所具有的屬性,它使我們無法預測序列中的下一個數字——是極其難以獲得的。
一旦量子計算機顯示出它們的優勢,這種情況可能會改變。這些最初的任務只是為了展示技術的威力,也可能產生真實的、經過認證的隨機性。「我們對此非常興奮,」加州大學聖巴巴拉分校物理學家、谷歌量子計算項目負責人約翰·馬提尼斯說。「我們希望這是量子計算機的首次應用。」
隨機性和熵
隨機性和量子理論就像雷電一樣密不可分。在這兩種情況下,前者都是後者不可避免的結果。在量子世界中,系統常常被說成是狀態的組合——處於所謂的「疊加」狀態。當你衡量這個系統時,它會「崩潰」成其中一種狀態。雖然量子理論可以讓你計算你測量時發現的概率,但特定的結果基本上是隨機的。
物理學家一直在利用這種聯繫創造隨機數生成器。這些都依賴於某種量子疊加的測量。雖然這些系統足以滿足大多數人的隨機性需求,但它們可能很難生成純的隨機數——很難向懷疑論者證明這些隨機數生成器確實是隨機的。最後,一些最有效的驗證隨機性的方法需要使用多個相隔很遠的設備進行非常精細的設置。
量子計算機晶片的照片,一個紅色金屬板與一個較小的銀板安裝在頂部。最近一項關於如何從單個設備(量子計算機)中提取隨機性的提議利用了所謂的抽樣任務,這將是量子優勢的首次測試之一。為了理解這個任務,假設你有一個裝滿瓦片的盒子。每塊瓦片上都有幾個1和0蝕刻在上面——000、010、101等等。
如果只有3位,就有8個可能的選項。但是盒子裡的每個貼有標籤的瓦片都可以有多個副本。可能有50塊標記為010的瓷磚和25塊標記為001的瓷磚。瓦片的分布決定了隨機取出某個瓦片的可能性。在這種情況下,取出標記為010的瓦片的可能性是取出標記為001的瓦片的兩倍。
抽樣任務涉及到一種計算機算法,它的作用相當於把手伸進一個盒子,盒子裡有一定的瓦片分布,然後隨機抽取其中一塊。分布中指定的任何瓦片的概率越高,算法輸出該瓦片的可能性就越大。當然,一個算法不會從字面意義上的袋子裡取出瓦片。相反,它將隨機輸出一個二進位數,例如,50位長,然後給出一個指定每個可能的50位輸出字符串的期望概率的分布。
對於經典計算機來說,隨著字符串中比特數的增加,任務的難度呈指數級增長。但對於量子計算機來說,這項任務預計仍將相對簡單,無論涉及5位還是50位。量子計算機從它所有的量子比特開始——量子位——在一個特定的狀態。假設它們都從0開始。正如經典計算機使用所謂的邏輯門對經典位進行操作一樣,量子計算機也使用量子等效門(稱為量子門)來操作量子位。
但是量子門可以把量子位元變成奇怪的狀態。例如,有一種門可以將一個量子位元從初值0開始疊加成0和1。如果你要測量量子位元的狀態,它會隨機塌縮成0或1,概率相等。更奇怪的是,同時作用於兩個或兩個以上量子位元的量子門會導致量子位元彼此「糾纏」。在這種情況下,量子位元的狀態變得交織在一起,因此量子位元現在只能用一個量子態來描述。
如果你把一堆量子門放在一起,然後讓它們作用於一組特定序列的量子位元,你就創建了一個量子電路。在我們的例子中,要隨機輸出一個50位的字符串,你可以構建一個量子電路,把50個量子位放在一起,疊加成狀態,捕捉你想要重新創建的分布。
當測量量子位元時,整個疊加會隨機摺疊成一個50位元的串。它變成任意給定的概率由量子電路指定的分布決定。測量量子位元類似於蒙住眼睛伸入盒子中,從分布中隨機抽取一個瓦片。
德克薩斯大學奧斯汀分校的計算機科學家斯科特·阿倫森說,隨機數的產生可能是「量子計算機的第一個技術上可行的應用」。這是怎麼得到隨機數的呢?至關重要的是,量子計算機採樣的50位串將有大量的熵,熵是無序或不可預測性的量度,因此也是隨機性的量度。「這實際上可能是一件大事,」提出新協議的德克薩斯大學奧斯汀分校計算機科學家斯科特·阿倫森說。「這並不是因為它是量子計算機最重要的應用——我認為遠非如此——而是因為它看起來可能是量子計算機的第一個應用,在技術上是可行的。」
阿倫森生成隨機性的協議相當簡單。經典的計算機首先從一些可信的源中收集一些隨機比特,然後使用這種「種子隨機」來生成量子電路的描述。隨機位決定量子門的類型和它們作用於量子位元的順序。經典計算機將描述發送給量子計算機,量子計算機實現量子電路,測量量子位,並返回50位的輸出位串。在此過程中,它從電路指定的分布中隨機取樣。
現在一遍又一遍地重複這個過程——例如,每個量子電路重複10次。經典的計算機使用統計測試來確保輸出字符串有大量的熵。阿倫森已經證明,在某些看似合理的假設下,這些問題是很難計算的,沒有哪臺經典計算機能夠在量子計算機從一個分布中隨機抽取樣本的時間附近產生這樣的熵。檢查之後,經典計算機將所有50位的輸出字符串粘貼在一起,並將其全部輸入一個著名的經典算法。「它產生的長串幾乎完全隨機。
量子門
阿倫森的協議最適合大約50到100個量子位元的量子計算機。當量子計算機中的量子位的數量超過這個閾值時,即使是經典的超級計算機也很難使用這個協議。這就是利用量子計算機生成可驗證隨機性的另一種方案。它使用了一種現有的數學技術,但其名稱令人生畏:無活板門爪函數。加州大學伯克利分校計算機科學家烏梅什瓦茲拉尼說,「這聽起來比實際情況糟糕得多。」
再想像一個盒子。這一次,我們不再伸入並提取一個字符串,而是放入一個n位的字符串,將其稱為x,然後彈出另一個n位的字符串。該框以某種方式將輸入字符串映射到輸出字符串。但是這個框有一個特殊的屬性:對於每個x,都有另一個輸入字符串y生成相同的輸出字符串。
換句話說,存在兩個惟一的輸入字符串——x和y——盒子返回相同的輸出字符串z。用計算機科學的話說,盒子是一種功能。這個函數很容易計算,也就是說,給定x或y,就很容易計算z,但如果只給定x和z,那麼即使是量子計算機,也不可能找到y。
如果你有內部消息,也就是所謂的活板門,你就能抓住那隻』爪子『。瓦茲拉尼和他的同事們不僅想利用這些功能讓量子計算機產生隨機性,而且還想驗證量子計算機的行為,嗯,量子力學——這對於相信隨機性至關重要。
該協議從一個量子計算機開始,它將n個量子位放到所有n位字符串的疊加中。然後,經典計算機發送一個描述量子電路的描述,指定要應用於疊加的函數——一個無活板門爪函數。量子計算機實現了這個電路,但對活板門一無所知。在這個階段,量子計算機進入一種狀態,其中一組量子位元處於所有n位串的疊加狀態,而另一組則持有將函數應用於此疊加的結果。這兩組量子位相互糾纏。
量子計算機然後測量第二組量子位元,隨機地將疊加量摺疊成某個輸出z。然而,第一組量子位元摺疊成兩個n位串x和y的相等疊加量,因為它們都可以作為導致z的函數的輸入。經典計算機接收輸出z,然後做兩件事之一。大多數情況下,它要求量子計算機測量其剩餘的量子位。這將以50%對50%的概率將重疊摺疊成x或y,這等價於隨機得到0或1。
有時,為了檢驗量子計算機的量子性,經典計算機要求進行特殊的測量。測量及其結果的設計使得經典計算機在只有它才能訪問的活板門的幫助下,能夠確保回答其查詢的設備確實是量子的。瓦茲拉尼和他的同事已經證明,如果該裝置在不使用塌縮量子位元的情況下給出了特殊測量的正確答案,那就相當於在不使用活板門的情況下計算出了爪子。當然,這是不可能的。瓦茲拉尼說:「這個協議是在一臺不受信任的量子計算機裡創建一個防篡改的量子比特。
這個防篡改的量子位元在每次詢問中提供一個真正隨機的信息位元,這樣的查詢序列可以用來創建長而隨機的位串。但是它有一個明顯的缺點,用50或70個量子位元是行不通的。阿隆森目前正在等待谷歌的系統,他說:「他們將要推出的東西是否真的好到足以實現量子霸權,這是一個大問題「。如果答案是肯定的,那麼來自單個量子設備的可驗證量子隨機性即將出現。我們認為這是有用的,是一個潛在的市場,這是我們想要考慮提供給人們的東西。