量子編程迎重大突破!量子計算機領域第一種高級編程語言Silq誕生

迄今爲止,對於我們很多大衆而言,量子計算機依然神祕依然高大上依然可望而不可即。而對於業內人士而言,量子計算機和量子技術的研究已經不是一天兩天了,科學家們的研究不亦樂乎,成果進展也可喜。比如,編程語言領域就迎來了一個重要的突破:第一種高級編程語言 Silq問世。之所以說它是第一種高級編程語言,就是因爲這個編程語言是量子計算機領域的,不是目前的在很低的抽象級別工作的編程語言,也不是我們普通認識學習的編程語言。

 

量子計算機領域的頭號編程語言Silq,誕生於蘇黎世聯邦理工學院的計算機科學界人士之手。據設計這種編程語言的Vechev 教授表示,“與現有編程語言相比,量子編程語言 Silq 能夠使程序員更好地利用量子計算機的潛力,因爲這些代碼更加緊湊、速度更快、更實用,並且更易於理解。”

不過,說起量子編程語言,可能有些關注技術的朋友知道,其實IT巨頭微軟公司曾經在幾年前推出過一款量子計算編程語言Q#,一人客看資料顯示,在2017年,微軟推出量子計算開發套件,分爲windows版本和macOS和linux版本,需要在VS或者VS code上使用。同時,微軟也在GitHub上提供了量子編程語言Q#的demo。

而新出的這款高級編程語言Silq,則更直觀更簡潔,它能讓你抽離在非常低的抽象水平上工作,安全,能避免出錯,能進行自動計算,易於理解算法的作用,它比微軟的量子編程語言Q#更直觀更簡潔,是更高層次的編程語言。經過測試,Silq生成的程序比Q#編程的程序短很多。

Silq這種量子編程語言,其設計主要不是要圍繞硬件的結構和功能,而是更高層次地從程序員的角度,以人想解決問題時的思維方式爲核心,所以並不是必須要求人們理解計算機體系的結構和實現的每一個細節,這個顯然更高級,也更符合以人爲中心的易理解性易用性目標。

學習過編程開發的朋友知道,軟件或程序在運行計算的過程中,都會通過多箇中間步驟來實現計算,而這些勢必會創建中間結果或臨時值。一般情況下,計算機會自動刪除處理掉這些值,然而到了量子計算機領域,這一步會很糟糕。想必和一人客一樣瞭解過量子基本常識的朋友知道,量子糾纏的概念和事實,由於量子糾纏,先前計算的值可能與當前的值相互作用,從而干擾正確的計算,而Silq這款量子編程語言則解決了這個問題,它屬於量子計算機程序優化方面的重要突破。

第一種量子計算機直觀編程語言問世

量子計算機的編程門檻已經越來越低。蘇黎世聯邦理工學院的計算機科學家們設計出的第一種直觀編程語言,能夠像傳統計算機語言一樣簡單、可靠且安全地在量子計算機上進行編程。

ETH 安全、可靠與智能系統實驗室(SRI)計算機科學教授 Martin Vechev 表示,“目前,對量子計算機進行編程仍是困擾研究人員的一大挑戰。正因爲如此,我們纔對蘇黎世理工此次在量子計算機與編程語言發展方面獲得的成果感到無比振奮。”

蘇黎世聯邦理工學院的計算機科學家們開發出第一種量子編程語言,能夠優雅、簡單且安全地解決多種複雜的計算問題。

他補充稱,“我們的量子編程語言—Silq 將幫助程序員們更好地發揮量子計算機中蘊藏的潛力。對程序員們而言,Silq 代碼更加緊湊、速度更快,也更直觀且易於理解”。

據瞭解,本週,Vechev 將在 PLDI 2020 編程語言大會上將 Silq 介紹給量子計算領域的其他專家。爲了促進與該語言相關的討論、採用以及進一步發展,他和他的團隊還在自己的網站 (silq.ethz.ch) 上發佈了 Silq 項目的更多詳細信息。

過去十年以來,量子計算一直備受關注,業界普遍認爲這些根據量子力學原理運行的計算機具有巨大的發展空間。如今,大部分研究人員也認爲,量子計算機終有一天將在某些特定問題中帶來遠超傳統計算機的處理能力。憑藉着糾纏量子態基礎之上,各種信息在特定時間點上的重疊情況,量子計算機在某些方面擁有無與倫比的強大算力,足以解決衆多在傳統計算機上無法在合理時間內解決的問題。

雖然由此衍生出的“量子霸權”理論還沒有得到最終證明,但近期取得的一系列重大技術進步無疑讓我們充滿信心。2019 年夏末,量子計算機已經以遠超頂尖經典計算機的速度解決了一個問題(雖然只是非常具體的特定問題)。

在另一方面同,對於某些特定“量子算法(即計算策略)”,其計算速度雖然已經高於經典算法,但卻還無法發揮量子計算機的全部潛力。更重要的是,目前的量子計算機的錯誤率仍然太高,導致我們很難直接在現有量子硬件上運行這些算法。

更好表達程序員的意圖

要發揮量子計算的力量,除了配合技術之外,還需要創造一種能夠描述量子算法的編程語言。在原則上,算法可以算是解決問題的“祕方”。編程語言負責描述算法,而計算機則在語言代碼的指引下完成必要的計算。

如今,量子編程語言已經與特定硬件緊密聯繫在一起。換句話說,之前的量子編程語言都需要較精確描述底層電路的行爲。但對程序員們來說,這些“硬件描述語言”既麻煩又容易出錯,因爲其中各項編程指令必須非常詳細,用以明確描述量子算法實現過程中需要的全部細節。

Martin Vechev 表示,與現有語言相比,Silq 能夠更好地發揮量子計算機中的潛力。正因爲如此,Vechev 與他的團隊才堅定了開發 Silq 語言的決心。

Martin Vechev, 計算機科學教授

Vechev 研究小組中負責開發監督工作的博士生 Benjamin Bichsel 表示,“Silq 是第一種直觀量子編程語言,其設計目的不再圍繞硬件的結構與功能展開,而更多關注程序員們在解決問題時表達出的意圖 — 換言之,他們不需要了解量子計算機的基本架構與每一個實現細節。”

計算機科學家們將這種從特定計算機類型的細節中抽象得出的計算機語言,稱爲高級編程語言。Silq 可以說是量子計算機領域的第一種高級編程語言。高級語言將更具表現力,能夠用更少的代碼描述更加複雜的任務與算法。這意味着相關代碼將更易於理解,也降低了程序員們的使用門檻。更重要的是,高級語言能夠與多種不同計算機架構配合使用。

通過自動計算消除錯誤

但要論 Silq 給量子編程語言帶來的較大創新貢獻,還在於它消除了長期困擾量子編程的錯誤源問題。一切計算機都需要通過多箇中間步驟以執行計算任務,而這些步驟的存在總會產生對應的中間結果(或者叫臨時值)。

爲了釋放內存空間,傳統計算機會自動刪除這些值。對於這種丟棄多餘臨時值的操作,計算機科學家將其稱爲“垃圾收集”。

在量子計算機當中,由於量子糾纏態的存在,這種處理操作將更加棘手:此前計算得出的值可能與當前值發生交互,從而干擾正常計算。爲此,要想在量子計算機上清除這些臨時值,可能還需要一種更高級的所謂“計算撤銷(uncomputation)”技術。

Vechev 還指出,“Silq 在量子計算機的編程優化方面帶來了一項重大突破;當然,這還只是萬里征途的第一步”。

目前,量子計算技術的實際應用當中仍存在着諸多懸而未決的問題,但隨着直觀編程語言 Silq 的出爐,Vechev 與 Bichsel 希望激勵整個行業進一步開發量子編程語言,並推動新型量子算法在理論與應用方面取得新的成果。

Bichsel 總結道,“我們的四人團隊歷時兩年取得了這項突破,其成功源自語言設計、量子物理學以及具體實現等多種不同專業知識的交相融合。如果我們的創新成果能爲其他研究團隊所認可並帶來一點啓發,那將是對我們努力的較大肯定。”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章