首頁/ 遊戲/ 正文

MIT 釋出量子程式語言 Twist,旨在填補量子軟體的空白

MIT 釋出量子程式語言 Twist,旨在填補量子軟體的空白

作者 | RINA DIANE CABALLAR

譯者 | 王強

策劃 | 冬梅

麻省理工學院計算機科學與人工智慧實驗室(CSAIL)的一個研究小組建立了一種新的量子計算程式語言,名為 Twist。Twist 的設計目標是讓開發者更容易識別哪些資料是糾纏在一起的,從而建立錯誤更少、更容易除錯的量子計算程式。

Twist 專案地址:

https://spectrum。ieee。org/Quantum-programming-language-twist

Twist 的基礎在於識別量子糾纏。量子糾纏是一種物理現象,指的是量子計算機內兩塊資料的狀態聯結在一起。“當你操作處於糾纏狀態的一塊資料時也可能會影響另一塊。你可以用這種特性來實現強大的量子演算法,但它也讓你寫的程式很難直觀推理,並容易引入微妙的錯誤。”上面這段話來自麻省理工學院 CSAIL 計算機科學博士生、Twist 論文的主要作者 Charles Yuan,這篇論文發表在《ACM 程式語言》雜誌上。

Charles Yuan

說:“Twist 提供了一些特性,讓開發者可以確定哪些資料是糾纏的,哪些不是。”“在程式中加入關於糾纏的資訊後,你就可以檢查量子演算法的實現是否正確。”

該語言的特性之一是一個型別系統,使開發者能夠指定他們程式中的哪些表示式和資料片斷是純粹的。據 Yuan 說,一個純粹的資料片斷是沒有糾纏的,因此不存在可能由糾纏造成的錯誤和不直觀的效果。Twist 還加入了純度斷言運算子來確認一個表示式不存在與任何其他資料的糾纏關係,與之搭配的還有靜態分析和執行時檢查,可以用來驗證這些斷言。

為了評估這種語言,該團隊用 Twist 為一組著名的量子演算法編寫了一些程式,並在量子模擬器上執行了它們。“我們的實驗表明,執行這些執行時檢查的開銷不超過執行基本程式的 3。5%,我們認為這是相當低的數字,相比語言給你的安全保證來說是一個很好的權衡,”

Charles Yuan

說。

該團隊還在一些程式中引入了一些小錯誤,並發現 Twist 可以檢測到這些錯誤並拒絕錯誤的程式。“我們希望,當人們使用我們的語言或為他們的特定用例設計新的量子語言時,他們可以考察一下我們的工作,並認可純度這個想法和將糾纏作為一種特性的設計,因為這將給他們帶來更多信心,讓他們確認自己的程式是正確的,而不必執行大量昂貴的模擬和測試,”

Charles Yuan

說。

當許多研究人員專注於開發高效和最佳化的量子硬體時,Twist 旨在填補量子軟體的空白。麻省理工學院副教授、Twist 論文的共同作者 Michael Carbin 說:“與我們看到的機器學習和其他高效能計算應用類似的是——在硬體發展的每一個新階段,我們都會得到一個新的系統和很多潛在的新能力——如果我們能充分利用硬體能力,也許就能獲得許多不可思議的機會。但幾乎每次都是軟體上的問題讓人們難以利用硬體能力,也很難在不同的軟體系統中部署和廣泛使用這些硬體。”“我們正在做的工作是奠定一些基礎,並試圖找出一些可能提升這些型別裝置可程式設計性的核心抽象。”

然而,該團隊在構建 Twist 時面臨的挑戰之一是缺乏一個關於量子程式特徵的標準。“多年來,人們已經開發了一些核心演算法來解決個別複雜的任務,如整數因式分解等,但我們如何為它建立一個完整的軟體生態系統卻依舊是個問號,”

Charles Yuan

說。“有了 Twist,我們就能夠圍繞我們對要在量子計算機上執行的任務的最佳共識來構建語言,並讓程式語言對這些任務儘可能具有表達力。”

談到侷限,Twist 只能告訴你一個數據是否與其他資料糾纏在一起,但不能告訴你它們是如何糾纏在一起的。”袁說:“它們糾纏的具體方式將決定一個量子演算法是否正確,但資料糾纏的方式有無數種。”給出這種更精細的細節是一個真正的挑戰,這也是我們未來需要做的事情。”

該團隊現在正在開發另一種語言,它建立在 Twist 的基礎上,目標是應對其他量子現象(如相位和疊加)。但他們希望 Twist 將為創造更好的量子程式鋪平道路。

Charles Yuan

說:“對於一位試圖實現量子演算法的開發者來說,他們需要語言中內建的工具來告訴他們程式中正在發生一些由糾纏引發的事情。”如果我們能夠構建一系列核心語言原則和特性,讓開發者可以推理糾纏現象,我們就可以減輕糾纏帶來的認知負擔,並讓開發者寫出更符合直覺的程式。”

原文連結:

https://spectrum。ieee。org/quantum-programming-language-twist

開啟App看更多精彩內容

相關文章

頂部