2013年7月16日 星期二

商用量子計算機

Article published on p. 4, July issue, Science Report (科技報導)

報導說美國航太總署最近買了量子計算機 (quantum computer) [1]。說是商用,其實有點早,買家是美國航太總署NASA,是個跑在前沿的研究機構。但是這麼早出現可以遞交的機器,是早的令人驚訝。交付的公司是家總部在加拿大的公司 D-Wave [2]。這家公司是除了大學及研究機構外,致力於量子計算機的領先公司。

真正商用的量子計算機,專家預測5~10 內會問世 [3]

至去年為止,在有些實驗室做的量子計算機原型只有7個量子位元(q-bit);而所計算的,只不過是分解21的質因數這麼簡單的問題。現在一下子變成128 q-bit了。量子計算的難處之一是維持量子位元於相關狀態 (coherent state)。量子位元數量較多時,量子計算機的穩定性和可靠性就可以大幅提高。所以雖然只是從7個量子位元提昇至128個量子位元,但是在準確性和穩定性上卻是里程碑式的躍昇。

傳統的計算機記憶的位元是二進位的 0 1,可以標記為 |0> |1>兩種狀態 (state)。量子位元記憶的狀態可以是 |0> |1> 的任意疊加 (superposition),可以寫成 a |0> + b |1> [3],這是一種量子狀態 (quantum state)。其中a 絕對值的平方是測量到這個量子位元為狀態 |0>的機率; b 絕對值的平方是測量到這個量子位元為狀態 |1> 的機率。二者的和為 1,在複數平面上 a b 畫出來就是個單位圓。在數學上,一位單位圓可以映射成一條實數線,所以一個量子位元基本上儲存的資料遠不是一個傳統位元可以比擬的。這樣儲存資訊的方式首先就讓一位量子位元的資訊儲存容量變大很多。另外也因為其量子狀態的特性,量子計算機容許新的、很有效率的演算法 (algorithm)

量子計算機最常讓人稱道的例子是它在質因素分解的效率遠勝於傳統電腦。受限於傳統位元的儲存方式,對一個大數 N 之質因素分解的最佳演算法時間正比於 O(e1.9 (log N)1/3 (log log N)2/3),是次指數型 (sub-exponential) 的時間長度,基本上,是隨著數目大小 N 的成長而指數成長;而如果用量子計算機,則可以用肖爾演算法 (Shor’s algorithm) [4],將時間大幅降低為 O((log N)3),是個多項式時間 (polynomial time),也就是說,只隨著數目大小 N 的成長而次方成長。從我們數學的直覺,多項式時間當然會比指數型時間短很多。

這個進步馬上威脅到我們每天不知不覺在使用的加解密系統公鑰基礎設施 (PKIPublic Key Infrastructure) [5]。我們每天在網路連線、送郵件、打手機、提款、看受數位權限管理的內容等,都會用到此安全系統。這個安全系統其工作原理很簡單,就是將兩個約500 位元的質數相乘成一個 1024 位元的大數 (以十進位來算,大概是 10 31 次方的大數),以此大數當成加密的鑰匙,稱為公鑰 (public key),任何人都可以知道並取用來加密資料。而資料解密的演算法需要知道原先的那兩個質數,稱為私鑰 (private key)。以電子郵件來打比方,公鑰就是電子郵件住址,任何人都可以知道並寄信件到這個住址;私鑰好比個人的帳戶密碼,只有擁有者才知道並用以開啟進去看信件內容。這個加/解密方法之所以安全有效在於兩個數目相乘很容易,但要將一大數分解成兩個質因數很難,一個普通的電腦可能要幾年才能完成。但是如果量子計算機真正上路,大數的質因數分解變得簡單、快速,這個沿用多年的方法就變得不安全而需有新的方法來替代。

量子計算機也不是什麼都快,它最主要的應用在於解界錯誤量子多項式時間 (BQP; bounded error quantum polynomial time) [6] 之類的問題,也就是說解題時間在量子計算機上是多項式時間,這類問題可以由數學分析清楚界定。像前述的質因數分解的問題,或者蛋白質摺疊 (protein folding) [7] 等錯綜複雜的問題。像蛋白質摺疊的問題以前都是利用超級電腦群集 (super computer cluster) 才有辦法計算,因為用傳統位元計算所需的計算資源龐大。之所以會有錯誤是因為量子世界的計算是機率 (probabilistic) 的,而不是決定論的 (deterministic),而且維持量子位元在相關狀態也不容易,所以可能會有錯誤產生。但這個錯誤的機率會隨著量子位元的成長而急速限縮。現在看起來好像量子計算機應用有限,其主要原因是其演算法及程式撰寫需要對量子力學深入的理解,這不是一般電腦工程師所熟悉的領域。發展新應用需要伴隨著硬體環境的成長,也需要重新培養人才。D-wave網站就提供開發者協助以讓業界開始準備、熟悉。

傳統的位元是以電晶體的開關或電容上的電荷的有無來表示 0 1的狀態。量子位元則是以約瑟芬生接合 (Josephson Junction) [8] (1973年的物理諾貝爾獎得獎作品) 來儲存量子位元。基本上是兩個超導體鈮合金 (Niobium; Nb) [9] 中間夾以氧化鋁 (AlO),形成約瑟芬生接合 [2],用以儲存其量子位元。由於超導體需要在極低溫下才能運行,所以必需提供近乎絕對零度的環境,這是目前對於量子計算機推廣的一大障礙。但是由於量子計算機在某些方面應用明顯的有特殊表現,它仍然能首先將切入利基市場。譬如在 2011 D-Wave 就賣了一台 128 位元的量子計算機給洛克希德馬丁公司 (Lockheed Martin) [10],而洛克希德馬丁公司是全世界知名的軍火公司,其用途也就不言而喻了。此外 Google 最近也買了一台並且參與了研究 [11]

對於量子計算機製造晶片所需的工藝流程,除了超導合金材料之外,台灣的半導體代工業是優而為之。而量子計算機往高集積度、多量子位元的發展方向,更是半導體每日的例行公式。其所需的量子及固態物理的基礎科學,台灣物理界發展蓬勃。當台灣的 IT 產業走到瓶頸,這是一個可以考慮的新出路。

References:
[10]: http://www.dwavesys.com/en/pressreleases.html#lm_2011


沒有留言:

張貼留言