博客專欄

        EEPW首頁 > 博客 > 引入純度和類型注釋、捕捉編程錯誤,MIT推出低開銷量子編程語言Twist

        引入純度和類型注釋、捕捉編程錯誤,MIT推出低開銷量子編程語言Twist

        發布人:機器之心 時間:2022-02-08 來源:工程師 發布文章

        研究者希望 Twist 為創建更多有助于編程人員更易面對量子計算挑戰的語言鋪平道路。


        與使用比特的傳統計算機不同,量子計算機使用量子比特(qubit)將信息編碼為 0 或 1,或同時編碼。再加上量子物理學的助力,這些冰箱大小的機器可以處理巨量的信息,但量子計算機遠遠稱不上完美。就像經典計算機一樣,我們需要合適的編程語言在量子計算機上進行計算。

        對量子計算機進行編程需要了解糾纏(entanglement),它是用于各種量子比特的計算乘子,可以轉化為強大的能量。當兩個量子比特糾纏時,一個量子比特上的行為可以改變另一個量子比特的值,即使這兩個量子比特在物理上是分離的,從而引出愛因斯坦的名言「鬼魅般的超距作用」。

        但是,這種能力同樣導致了弱點。在編程時,如果丟棄一個量子比特時沒有考慮到它與另一個量子比特的糾纏,則會破壞另一個量子比特中存儲的數據,進而危及程序的正確性。

        近日,MIT CSAIL 和 RLE(電子學研究實驗室)的研究者在論文《Twist: Sound Reasoning for Purity and Entanglement in Quantum Programs》中創建了一種被稱為 Twist 的量子計算編程語言。Twist 可以通過一種經典計算機編程人員理解的語言來描述和核實哪些數據在量子程序中被糾纏。Twist 語言引入了一種被稱為純度(purity)的概念,這種概念導致糾纏強制缺失,生成了更直觀易懂的程序,并且在理想情況下 bug 更少。

        舉例而言,編程人員可以使用 Twist 來說明:一個程序生成的臨時垃圾數據不與該程序的答案糾纏在一起,因此可以安全地丟棄這些數據。

        微信圖片_20220208192824.png

        論文地址:https://dl.acm.org/doi/pdf/10.1145/3498691

        論文一作、MIT CSAIL 編程系統組(Programming Systems Group)的博士生 Charles Yuan 表示,「通過顯式地說明一個量子比特何時不得與另一個糾纏,Twist 編程語言使得開發人員可以編寫更安全的量子程序。并且,因為理解量子程序需要事先了解糾纏,我們希望 Twist 為創建更多有助于編程人員更易面對量子計算獨特挑戰的語言鋪平道路。」

        微信圖片_20220208192827.png

        未來的重要一步是使用 Twist 創建更高級的量子編程語言。當前,大多數量子編程語言仍然屬于匯編語言,將低級操作串在一起,沒有注意到數據類型、函數以及經典軟件工程中的典型事物等。

        對于這項工作,芝加哥大學計算機科學教授、Super.tech 首席科學家 Fred Chong 說道,「量子計算機容易出錯,并且編程起來很難。通過引入程序代碼中的純度并對它進行推理,Twist 語言保證純凈代碼中的量子比特無法被非代碼中的比特所改變,進而朝著更容易的量子編程邁出了一大步。」

        技術概覽

        本文中,研究者將純度形式化為一個實現量子程序中糾纏推理的核心工具。就一個純凈的表達式而言,它的評估不受不屬于它的量子比特測量結果的影響,這意味著在計算中不與任何其他表達式產生糾纏。然后,他們提出了首個以類型系統為特征的語言 ——Twist,用于對純度做合理推理。這種類型系統使開發者可以使用類型注釋識別純凈的表達式。

        Twist 還引入了純度斷言操作符(assertion operator),說明量子門輸出中沒有糾纏。為了合理地檢查這些斷言,Twist 組合使用了靜態分析和運行時驗證。

        研究者使用量子遙傳(quantum teleportation)協議展示了純度值和 Twist,以及糾纏的力量和門傳送等技術的構建塊。量子遙傳協議通過傳送兩個經典信息比特,將一個量子比特中存儲的信息傳送到任意距離之外的接收器。下圖 1 展示了一個用于遙傳延遲測量變體的量子電路,它將要被傳送的量子比特 q^1 作為輸入。

        微信圖片_20220208192830.png

        下圖 2 展示了圖 1 中量子電路的程序,它作為一個函數接受量子比特 q^1 并返回傳送的輸出,其中助手(helper)bell_pair 分配了一個貝爾對(Bell pair)。

        微信圖片_20220208192835.png

        下圖 3 展示了圖 2 中的遙傳程序,使用 Twist 編寫,并且純度帶有類型注釋。在 Twist 程序中,每個量子表達式都是純凈或混合的類型。其中,純凈表達式不受其他量子比特測量影響,而混合表達式可能受到其他量子比特測量的影響。

        微信圖片_20220208192838.png

        下圖 4 展示了 teleport 函數的實現,利用 Twist 的純凈斷言來可靠地返回一個純凈輸出。該程序執行兩個步驟以驗證 q^3 沒有與程序中的任何其他量子比特糾纏在一起。

        微信圖片_20220208192839.png

        最后,研究者對 Twist 的類型系統進行評估,并在模擬中分析了一組基準量子程序,證明了 Twist 可以表達量子算法,捕捉編程錯誤,并支持現有量子編程語言不支持的程序,同時產生的運行時驗證開銷低于 3.5%

        微信圖片_20220208192848.jpg

        更多細節內容請參考原論文。

        參考鏈接:https://techxplore.com/news/2022-01-language-quantum.html

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 日喀则市| 犍为县| 资源县| 洛阳市| 昌江| 大庆市| 西峡县| 朝阳区| 呼图壁县| 杂多县| 武清区| 西藏| 广安市| 菏泽市| 南汇区| 若尔盖县| 全南县| 巴彦县| 富顺县| 武川县| 嘉义县| 建平县| 常德市| 盐池县| 隆林| 高安市| 广汉市| 通海县| 寿阳县| 沅江市| 沈丘县| 蕉岭县| 长宁县| 漯河市| 东平县| 龙江县| 新乐市| 博湖县| 涟源市| 翼城县| 宁蒗|