面向傳統程序員的量子計算

新指南幫助初學者在IBM的量子計算機上運行量子算法。

量子計算機也許有一天能夠快速解決普通計算機無望解決的問題,但與全球普通程序員的數量相比,量子程序員的數量幾乎爲零。現今,位於新墨西哥州的美國洛斯阿拉莫斯國家實驗室的一組量子計算專家創建了一本初學者指南,名爲《面向初學者的量子算法實現》(Quantum Algorithm Implementations for Beginners)。 該指南於2022年3月問世,現可在美國計算機協會的網站上免費獲取,其宗旨是指導未來的量子程序員掌握基礎知識。該新指南講解了量子計算和量子編程的基礎知識,包括量子算法。

其目的是在IBM公開可用的量子計算機的雲端,幫助量子程序員新手準備實現量子算法。

傳統計算機通過切換晶體管的開關狀態來表示數據1或0,而量子計算機使用的是量子位(qubits)。 由於量子物理學的“非典型”特徵,量子位可以疊加狀態存在,同時爲1或0。 這實際上允許每個量子位同時執行兩個計算。 當許多量子位鏈接在一起,即在量子計算機中糾纏時,其計算能力將呈指數級提升。

目前,量子計算機是嘈雜的中級量子(NISQ)平臺,這意味着,其量子位的數量最多隻有幾百個,同時還充滿錯誤。儘管如此,人們普遍認爲量子處理器能夠提升量子位的數量和質量。最終,它們會獲得量子優勢,解決即便是最強大的傳統超級計算機都無法解決的問題。

量子編程雖然始於20世紀90年代,但迄今形成的社區規模仍然很小。“量子計算機編程似乎是一項重大的挑戰,需要量子力學和相關學科的多年訓練。”該指南的資深作者、研究科學家安德烈•洛霍夫(Andrey Lokhov)說,“此外,該領域由物理學和代數標記法主導,有時會給主流計算機和經過數學訓練的科技人員帶來不必要的入門障礙。”

現在,洛霍夫和他的同事希望新指南能夠爲“未來的量子計算革命”鋪平道路,他還說:“我們相信,我們的指南填補了量子計算領域中的空缺,向非量子計算專業的計算機科學家、物理學家和工程師介紹量子算法,並在現實世界量子計算機中實現。”

“傳統算法可描述爲需要在傳統計算機上執行的指令序列,與之非常相似,量子算法可表示爲多個步驟,每個步驟都需要在量子計算機上執行。”洛霍夫說,“不過,術語‘量子算法’常用於包含固有量子運算的算法,例如量子疊加或量子糾纏,計算能力非常強大。”

爲了在量子計算機上執行這種量子運算,量子程序被表示爲描述基本運算序列的電路,作用於一組量子位的基本運算也稱爲“門”。量子編程與傳統編程之間的一個重大區別在於量子力學的一個核心原則,即當測量量子程序的結果時,該過程本身是概率性的,或受隨機變化影響。

“量子編程與傳統編程大相徑庭,我們指南採用簡單直接的代數解釋量子編程的基本原理,能夠讓人容易理解迷人的量子力學原理。”洛霍夫說,“我們收到了來自很多科學家的積極反饋,他們是該領域的初學者,藉助我們的指南,他們能夠快速熟悉量子編程的基礎知識。”

新指南爲立即開始實現和運行量子算法提供了所需最少的必要知識。其中包含20個標準量子算法,包括整數因式分解的肖爾算法和數據庫搜索的格羅夫算法。

“此外,我們的材料涵蓋了大量成功的量子-經典混合算法,例如量子近似優化算法,以及用於驗證量子算法性能的傳統工具,如量子層析。”洛霍夫說,“因此,該指南綜合概述了量子算法、經典算法和混合算法,這些算法是量子計算領域的基礎。”

然後,該指南指導量子程序員如何在IBM公開可用的量子計算機(例如5量子位IBMQX4)的雲端實現這些算法。指南討論了算法實現的結果,並解釋了在模擬器運行和在真實硬件運行之間的區別。

洛霍夫指出,目前爲了證明新的量子算法是有效的,需進行數學證明。對比之下,在傳統計算中,很多有效算法是通過啓發試探發現的,即通過反覆試驗和試錯,或者通過寬鬆的定義規則,理論證明的出現則晚得多。希望隨着更多的量子程序員開始獨立實驗,能夠遊刃通過類似的方式發現新的量子算法。

“我們相信,新指南將有助於向更多的科學家介紹量子計算,並邀請他們未來使用量子位更多的量子計算機進行實驗。”洛霍夫說。

作者:Charles Q. Choi