量子計(jì)算除了硬件還要軟件!盤(pán)點(diǎn)2021年誰(shuí)最流行

量子計(jì)算機(jī)有望將功耗從100倍降低到1000倍,因?yàn)樗鼈冞m宜在超低溫度下運(yùn)行,在該溫度下,處理器將作為超導(dǎo)體工作(即它可以在幾乎沒(méi)有電阻的情況下導(dǎo)電)。另一方面,量子計(jì)算機(jī)可以加速機(jī)器學(xué)習(xí)過(guò)程,將數(shù)千年的學(xué)習(xí)時(shí)間減少到幾秒鐘?;趦蓚€(gè)可能值0或1的量子比特(Qubits),量子計(jì)算機(jī)雖然不遵守牛頓定律,但是量子定律允許它們具有同時(shí)出現(xiàn)0和1的概率。
由于量子計(jì)算機(jī) (QC) 蘊(yùn)藏著巨大的商業(yè)潛力,谷歌和IBM等科技巨頭正在為沒(méi)有QC的用戶提供學(xué)習(xí)如何使用不同量子編程語(yǔ)言編程和操作量子電路的機(jī)會(huì):
量子編程語(yǔ)言
量子編程語(yǔ)言是將想法落地為由量子計(jì)算機(jī)執(zhí)行的指令的基礎(chǔ)。根據(jù)《Nature Reviews》的說(shuō)法,量子編程語(yǔ)言可用于:
管理現(xiàn)有的物理設(shè)備
預(yù)測(cè)量子算法在可能運(yùn)行設(shè)備上的執(zhí)行成本
驗(yàn)證量子計(jì)算的概念(量子位、疊加、糾纏)
測(cè)試和驗(yàn)證量子算法及其實(shí)現(xiàn)結(jié)果
當(dāng)前的量子編程語(yǔ)言和編譯器主要集中在優(yōu)化由量子門(mén)組成的低級(jí)電路上。量子門(mén)是量子電路的基石,它們類似于可逆邏輯門(mén),例如Fredkin門(mén)、Tofffoli 門(mén)、交互門(mén)和開(kāi)關(guān)門(mén)。然而,最小的經(jīng)典可逆門(mén)必須使用三位,而最小的量子門(mén)只需使用兩位。

大多數(shù)量子編程是用3種語(yǔ)言完成的:
命令式量子編程語(yǔ)言

命令式編程語(yǔ)言是由要執(zhí)行的分步指令組成,用以實(shí)現(xiàn)所需的結(jié)果。經(jīng)典計(jì)算機(jī)中的命令式語(yǔ)言包括C、JavaScript、Pascal、Python等。最流行的量子命令式語(yǔ)言有:
1.QCL:量子計(jì)算語(yǔ)言,最早實(shí)現(xiàn)的量子編程語(yǔ)言之一,它在語(yǔ)法和數(shù)據(jù)類型方面類似于C語(yǔ)言。
2.QMASM:Quantum Macro Assembler,2016 年發(fā)布,是一種專用于量子退火的低級(jí)語(yǔ)言。QMASM的意義在于,它使程序員不必了解特定系統(tǒng)的硬件細(xì)節(jié),且允許在低抽象級(jí)別上編寫(xiě)程序。
3.Silq:最初于2020年發(fā)布,Silq是一種用D語(yǔ)言編寫(xiě)的高級(jí)編程語(yǔ)言,在github上擁有482顆星和10位貢獻(xiàn)者,并在2021年定期更新。
其他命令式Q語(yǔ)言包括Quantum偽代碼、Q|SI>、Q語(yǔ)言、qGCL和Scaffold。
函數(shù)式量子編程語(yǔ)言

函數(shù)式編程語(yǔ)言不依賴于逐步指令,而是依賴于數(shù)學(xué)函數(shù),這意味著可以使用數(shù)學(xué)變換將輸入轉(zhuǎn)換為輸出。函數(shù)式語(yǔ)言不如命令式語(yǔ)言流行,因?yàn)樗鼈儾恢С至骺刂疲ɡ缪h(huán)語(yǔ)句)或條件語(yǔ)句(例如 if/else語(yǔ)句)。使用它們的好處在于:
?
1.少出錯(cuò)
1)編寫(xiě)和審查功能代碼的程序員表示更容易發(fā)現(xiàn)錯(cuò)誤,因?yàn)榭呻[藏的漏洞更少。
2)報(bào)告的功能性錯(cuò)誤更容易修復(fù)。?
2.可嵌套函數(shù)
3.評(píng)估方便:
1)延遲表達(dá)式的求值,按照需要給出結(jié)果值
2)避免重復(fù)評(píng)估
?
量子計(jì)算機(jī)的頂級(jí)編程語(yǔ)言是:
?
1.QML:發(fā)表于2007年,一種基于嚴(yán)格線性邏輯的類Haskell量子編程語(yǔ)言,它可以集成可逆和不可逆的量子計(jì)算。
2.Quantum Lambda Calculus:它基于1930年引入的經(jīng)典λ演算,并于1996年首次定義用于量子計(jì)算。它使用高階函數(shù)(λx.x^3),因此它比標(biāo)準(zhǔn)的量子計(jì)算模型更強(qiáng),例如作為量子圖靈機(jī)或量子電路模型。
3.QFC和QPL:在語(yǔ)義上QFC和QPL是等效的。但是,在QFC中,量子程序是使用流程圖語(yǔ)法表示的,而在QPL中,量子程序的句法結(jié)構(gòu)是使用文本表示法來(lái)表示。
?
其他函數(shù)式語(yǔ)言包括LIQUi|>和Quipper。
多范式語(yǔ)言
還有一些特定領(lǐng)域的多范式語(yǔ)言,例如Microsoft的Q#和XanduAI的Strawberry Fields。
量子軟件開(kāi)發(fā)套件
無(wú)論開(kāi)發(fā)者使用命令式、函數(shù)式還是多范式語(yǔ)言來(lái)編寫(xiě)量子算法,都需要量子軟件來(lái)創(chuàng)建和操作量子程序,并且需要SDK在原型量子設(shè)備和模擬器上運(yùn)行量子電路,這些運(yùn)行量子程序的軟件環(huán)境通常是使用開(kāi)源Python語(yǔ)言。
量子編程算法
編程量子計(jì)算機(jī)的目的是解決量子物理學(xué)的問(wèn)題??梢跃幊痰牧孔铀惴òǎ?/p>
?
1、代數(shù)和數(shù)論算法,例如因式分解和高斯和;
2、近似和模擬,例如量子模擬、zeta函數(shù)和結(jié)不變量;
3、機(jī)器學(xué)習(xí)算法,例如聚類、二元分類和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
量子編程的挑戰(zhàn)
量子計(jì)算機(jī)編程的難點(diǎn)在于:
?
1、制定通用QC語(yǔ)言的難點(diǎn);
2、量子力學(xué)中的不完備性和隱藏變量;
3、量子計(jì)算機(jī)仍處于起步階段,只能處理 <100 位量子比特,因此還不足以運(yùn)行復(fù)雜的量子算法。
?
但是,開(kāi)源SDK的可用性使社區(qū)能夠?yàn)榫幊烫魬?zhàn)找到解決方案,并為量子計(jì)算找到更多實(shí)際應(yīng)用場(chǎng)景。
文:阿拉米拉·朱曼·哈賈爾
編譯:慕一
編輯:王珩
注:本文編譯自“AI Multiple?”,文章中的信息或所表述的觀點(diǎn)意見(jiàn),均不代表量子前哨同意或支持。