您現在的位置是:首頁 >人工智能 > 2022-01-26 15:27:47 來源:
研究人員開發了一種用于量子計算的新語言
量子計算。與使用比特的傳統計算機不同,量子計算機使用量子比特將信息編碼為0或1,或兩者同時編碼。再加上來自量子物理學的各種力量,這些冰箱大小的機器可以處理大量信息——但它們遠非完美無缺。就像我們的普通計算機一樣,我們需要有正確的編程語言才能在量子計算機上正確計算。
對量子計算機進行編程需要了解一種叫做“糾纏”的東西,這是一種用于各種量子比特的計算乘數,可以轉化為強大的能量。當兩個量子位糾纏在一起時,一個量子位上的動作可以改變另一個量子位的值,即使它們在物理上是分開的,這引起了愛因斯坦對“遠距離幽靈動作”的描述。但這種效力同樣是弱點的來源。在編程時,丟棄一個量子位而不注意它與另一個量子位的糾纏會破壞另一個量子位中存儲的數據,從而危及程序的正確性。
麻省理工學院計算機科學與人工智能(CSAIL)的科學家旨在通過創建自己的量子計算編程語言Twist來解開謎團。Twist可以通過經典程序員可以理解的語言來描述和驗證量子程序中糾纏了哪些數據。該語言使用了一個稱為純度的概念,它強制不存在糾纏并產生更直觀的程序,理想情況下錯誤更少。例如,程序員可以使用Twist表示程序作為垃圾生成的臨時數據不會與程序的答案糾纏在一起,從而可以安全地丟棄。
雖然新興領域可能會讓人感覺有點浮華和未來感,但腦海中浮現出巨大的金屬機器的圖像,但量子計算機具有在經典無法解決的任務中實現計算突破的潛力,例如密碼學和通信協議、搜索以及計算物理和化學。計算科學的主要挑戰之一是處理問題的復雜性和所需的計算量。經典的數字計算機需要非常大的指數位數才能處理這樣的模擬,而量子計算機可能會使用非常少量的量子位來做到這一點——如果有正確的程序的話。
“我們的語言Twist允許開發人員通過明確說明何時不得與另一個量子位糾纏來編寫更安全的量子程序,”麻省理工學院博士CharlesYuan說。電氣工程和計算機科學專業的學生,??也是一篇關于Twist的新論文的主要作者。“因為理解量子程序需要理解糾纏,我們希望Twist為語言鋪平道路,使程序員更容易應對量子計算的獨特挑戰。”
袁和博士克里斯麥克納利一起寫了這篇論文。隸屬于麻省理工學院電子研究實驗室的電氣工程和計算機科學專業的學生,??以及麻省理工學院助理教授邁克爾卡賓。他們在上周于費城舉行的2022年編程原理研討會上介紹了這項研究。
解開量子糾纏
想象一個木箱,它的一側伸出一千根電纜。您可以將任何電纜從包裝盒中拉出,也可以將其完全推入。
在你這樣做一段時間后,電纜會形成一個位模式——零和一——取決于它們是在里面還是在外面。這個盒子代表了經典計算機的內存。該計算機的程序是關于何時以及如何拉電纜的一系列指令。
現在想象第二個外觀相同的盒子。這一次,你拉一根電纜,看到它出現時,其他幾根電纜被拉回了里面。顯然,在盒子內部,這些電纜不知何故相互糾纏在一起。
第二個框是量子計算機的類比,理解量子程序的含義需要理解其數據中存在的糾纏。但是檢測糾纏并不簡單。你看不到木箱,所以你能做的最好的就是嘗試拉動電纜并仔細推理哪些是糾纏的。同樣,今天的量子程序員不得不手動推理糾纏。這就是Twist的設計有助于按摩其中一些交錯部分的地方。
科學家們設計的Twist具有足夠的表現力,可以為著名的量子算法編寫程序并識別其實現中的錯誤。為了評估Twist的設計,他們對程序進行了修改,以引入某種對于人類程序員來說相對不易察覺的錯誤,并表明Twist可以自動識別錯誤并拒絕程序。
他們還測量了程序在運行時方面的實際執行情況,與現有的量子編程技術相比,它的開銷不到4%。
對于那些擔心量子在破解加密系統方面的“骯臟”名聲的人來說,袁說,量子計算機在多大程度上能夠在實踐中實現其性能承諾,目前還不是很清楚。“在后量子密碼學方面正在進行大量研究,這些研究之所以存在,是因為即使是量子計算也不是萬能的。到目前為止,人們已經開發出一套非常具體的應用程序,其中量子計算機可以優于傳統計算機。”
重要的下一步是使用Twist創建更高級別的量子編程語言。今天的大多數量子編程語言仍然類似于匯編語言,將低級操作串在一起,沒有注意數據類型和函數等東西,以及經典軟件工程中的典型內容。
“量子計算機容易出錯且難以編程。通過引入和推理程序代碼的‘純度’,Twist通過保證純代碼中的量子位不能被更改,朝著更容易量子編程邁出了一大步由代碼中沒有的位組成,”芝加哥大學計算機科學SeymourGoodman教授、Super.tech首席科學家FredChong說。