在打造強大量子計算機方面,近期出現的一系列技術進步令人振奮。近日,蘇黎世聯邦理工學院的計算機科學家們又在程式語言領域取得重要突破:他們推出的「量子語言」成為第一種面向量子計算機的直觀程式語言,且與傳統計算機語言一樣優雅、簡單且安全。
量子計算機的編程門檻已經越來越低。蘇黎世聯邦理工學院的計算機科學家們設計出的第一種直觀程式語言,能夠像傳統計算機語言一樣簡單、可靠且安全地在量子計算機上進行編程。
ETH 安全、可靠與智能系統實驗室(SRI)計算機科學教授 Martin Vechev 表示,「目前,對量子計算機進行編程仍是困擾研究人員的一大挑戰。正因為如此,我們才對蘇黎世理工此次在量子計算機與程式語言發展方面獲得的成果感到無比振奮。」
他補充稱,「我們的量子程式語言— Silq 將幫助程式設計師們更好地發揮量子計算機中蘊藏的潛力。對程式設計師們而言,Silq 代碼更加緊湊、速度更快,也更直觀且易於理解」。
據了解,本周,Vechev 將在 PLDI 2020 程式語言大會上將 Silq 介紹給量子計算領域的其他專家。為了促進與該語言相關的討論、採用以及進一步發展,他和他的團隊還在自己的網站 ( silq.ethz.ch ) 上發布了 Silq 項目的更多詳細信息。
過去十年以來,量子計算一直備受關注,業界普遍認為這些根據量子力學原理運行的計算機具有巨大的發展空間。如今,大部分研究人員也認為,量子計算機終有一天將在某些特定問題中帶來遠超傳統計算機的處理能力。憑藉著糾纏量子態基礎之上,各種信息在特定時間點上的重疊情況,量子計算機在某些方面擁有無與倫比的強大算力,足以解決眾多在傳統計算機上無法在合理時間內解決的問題。
雖然由此衍生出的「量子霸權」理論還沒有得到最終證明,但近期取得的一系列重大技術進步無疑讓我們充滿信心。2019 年夏末,量子計算機已經以遠超頂尖經典計算機的速度解決了一個問題(雖然只是非常具體的特定問題)。
在另一方面同,對於某些特定「量子算法(即計算策略)」,其計算速度雖然已經高於經典算法,但卻還無法發揮量子計算機的全部潛力。更重要的是,目前的量子計算機的錯誤率仍然太高,導致我們很難直接在現有量子硬體上運行這些算法。
要發揮量子計算的力量,除了配合最新技術之外,還需要創造一種能夠描述量子算法的程式語言。在原則上,算法可以算是解決問題的「秘方」。程式語言負責描述算法,而計算機則在語言代碼的指引下完成必要的計算。
如今,量子程式語言已經與特定硬體緊密聯繫在一起。換句話說,之前的量子程式語言都需要精確描述底層電路的行為。但對程式設計師們來說,這些「硬體描述語言」既麻煩又容易出錯,因為其中各項編程指令必須非常詳細,用以明確描述量子算法實現過程中需要的全部細節。
Martin Vechev 表示,與現有語言相比,Silq 能夠更好地發揮量子計算機中的潛力。正因為如此,Vechev 與他的團隊才堅定了開發 Silq 語言的決心。
Vechev 研究小組中負責開發監督工作的博士生 Benjamin Bichsel 表示,「Silq 是第一種直觀量子程式語言,其設計目的不再圍繞硬體的結構與功能展開,而更多關注程式設計師們在解決問題時表達出的意圖 — 換言之,他們不需要了解量子計算機的基本架構與每一個實現細節。」
計算機科學家們將這種從特定計算機類型的細節中抽象得出的計算機語言,稱為高級程式語言。Silq 可以說是量子計算機領域的第一種高級程式語言。高級語言將更具表現力,能夠用更少的代碼描述更加複雜的任務與算法。這意味著相關代碼將更易於理解,也降低了程式設計師們的使用門檻。更重要的是,高級語言能夠與多種不同計算機架構配合使用。
但要論 Silq 給量子程式語言帶來的最大創新貢獻,還在於它消除了長期困擾量子編程的錯誤源問題。一切計算機都需要通過多個中間步驟以執行計算任務,而這些步驟的存在總會產生對應的中間結果(或者叫臨時值)。
為了釋放內存空間,傳統計算機會自動刪除這些值。對於這種丟棄多餘臨時值的操作,計算機科學家將其稱為「垃圾收集」。
在量子計算機當中,由於量子糾纏態的存在,這種處理操作將更加棘手:此前計算得出的值可能與當前值發生交互,從而干擾正常計算。為此,要想在量子計算機上清除這些臨時值,可能還需要一種更高級的所謂「計算撤銷(uncomputation)」技術。
Bichsel 解釋道,「Silq 是第一種能夠自動識別並清除掉這些無用值的程式語言」。計算機科學家們之所以能夠實現這項目標,靠的正是對經典程式語言的深刻理解:他們的自動算術方法將僅使用不存在任何特殊量子去處的編程命令 — 用 Vechev 與 Bichsel 的原話來描述,即「qfree」命令。
Vechev 還指出,「Silq 在量子計算機的編程優化方面帶來了一項重大突破;當然,這還只是萬里征途的第一步」。
目前,量子計算技術的實際應用當中仍存在著諸多懸而未決的問題,但隨著直觀程式語言 Silq 的出爐,Vechev 與 Bichsel 希望激勵整個行業進一步開發量子程式語言,並推動新型量子算法在理論與應用方面取得新的成果。
Bichsel 總結道,「我們的四人團隊歷時兩年取得了這項突破,其成功源自語言設計、量子物理學以及具體實現等多種不同專業知識的交相融合。如果我們的創新成果能為其他研究團隊所認可並帶來一點啟發,那將是對我們努力的最大肯定。」