麻省理工學院電腦科學與人工智慧(CSAIL)的科學家開發了一種用於量子計算的新程式語言 —— ,專門用於解決資料糾纏問題,可以幫助開發人員減少誤差並提高資料品質。
與使用位元的傳統計算機不同,量子計算機使用量子位元將資訊編碼為 0 或 1,或同時編碼為 0 和 1。傳統的程式語言並不適用於量子計算機,量子計算機需要一種合適的程式語言,以便開發者利用其能力。而對量子計算機進行程式設計需要了解一種叫做「糾纏」的東西,這是一種,它可以轉化為強大的能量。
Twist 能以程式設計師可以理解的語言,描述和驗證哪些資料在量子程式中被糾纏。這種語言使用了一個叫做「purity」的概念,它強制不存在糾纏併產生更直觀的程式,理想情況下會減少錯誤。例如,程式設計師可以使用 Twist 表示程式作為垃圾生成的臨時資料不會與程式的答案糾纏在一起,從而可以安全地丟棄。
麻省理工學院電氣工程和電腦科學博士生、Twist 相關的一篇的主要作者 Charles Yuan 稱,「我們的語言 Twist 允許開發人員通過明確說明一個量子位元何時不得與另一個量子位元糾纏,來編寫更安全的量子程式。因為理解量子程式需要理解糾纏,我們希望 Twist 為語言鋪平道路,讓程式員更容易應對來自量子計算的獨特挑戰。」
根據介紹,Twist 具有足夠的表現力,可以為著名的量子演演算法寫出程式,並識別其實現中的錯誤。為了評估 Twist 的設計,MIT 的科學家們修改程式,引入了一些對人類程式設計師來說相對微妙的錯誤,並表明 Twist 可以自動識別這些錯誤並拒絕這些程式。MIT 研究人員稱,通過合併 Twist,在量子計算機上執行的程式的執行時間僅增加了 4%。
MIT 方面指出,接下來重要的是使用 Twist 來建立更高階別的量子程式語言。「今天的大多數量子程式語言仍然類似於組合語言,把低階的操作串在一起,沒有注意到像資料型別和函數這樣的東西,以及經典軟體工程中的典型。」
芝加哥大學電腦科學的 Seymour Goodman 教授和 Super.tech 的首席科學家 Fred Chong 稱,量子計算機容易出錯且難以程式設計。通過引入和推理程式程式碼的 purity,Twist 朝著簡化量子程式設計邁出了一大步,它保證了純程式碼中的量子位元不會被不在該程式碼中的位元所改變。