量子計(jì)算機(jī)如果普及了?
量子編程做的是量子運(yùn)算,而非邏輯運(yùn)算,無(wú)法使用C語(yǔ)言。那么有了量子編程以后還有必要用C語(yǔ)言嗎?請(qǐng)聽(tīng)我慢慢道來(lái)。
量子計(jì)算機(jī)為什么快愛(ài)因斯坦說(shuō):“上帝不會(huì)仍骰子。”可量子就像一枚在空中旋轉(zhuǎn)的骰子,同時(shí)具有多種狀態(tài),直到骰子落地,才能確定它的狀態(tài)。量子相互關(guān)聯(lián),單個(gè)量子的狀態(tài)很難確定,但在量子的共同作用下物質(zhì)表現(xiàn)出穩(wěn)定的特性。量子計(jì)算機(jī)把多個(gè)邏輯組合疊加到量子比特中,并按照量子相干量子糾纏等原理進(jìn)行量子運(yùn)算,獲得確定的結(jié)果。相比依次進(jìn)行邏輯運(yùn)算的傳統(tǒng)計(jì)算機(jī),量子計(jì)算機(jī)實(shí)現(xiàn)了大規(guī)模并行運(yùn)算因而運(yùn)算速度大為提高。
量子編程的語(yǔ)言微軟,IBM,谷歌等一些大佬們?cè)缫验_(kāi)始研究量子編程了。2017年微軟發(fā)布了Q#語(yǔ)言。這是一款用于量子編程的語(yǔ)言,可在Visual Studio2017上開(kāi)發(fā),并可在量子計(jì)算機(jī)模擬器上執(zhí)行,還可以被C#等語(yǔ)言調(diào)用,甚至可以轉(zhuǎn)換成Python。和傳統(tǒng)邏輯門(mén)(And, Or, Xor, Not…)相比,Q#的量子門(mén)有阿達(dá)馬,泡利門(mén)(X,Y,Z),相位偏移,互換等。作為一名傳統(tǒng)程序員,我也不太懂這些,就不裝了。反正只要知道用這些東東對(duì)量子比特做運(yùn)算,一次就可以完成無(wú)數(shù)次邏輯運(yùn)算就可以了。
量子編程會(huì)取代傳統(tǒng)編程嗎傳統(tǒng)編程可以看成是1位元量子編程,目前,大部分的量子編程語(yǔ)言都可以轉(zhuǎn)換成傳統(tǒng)編程語(yǔ)言執(zhí)行(當(dāng)然啦,速度就談不上了)。而傳統(tǒng)編程語(yǔ)言則無(wú)法用于量子編程。但量子計(jì)算機(jī)只適用于一些特定算法的超大規(guī)模運(yùn)算,比如,超大規(guī)模遍歷搜索,素?cái)?shù)分解之類(lèi)。如果用量子計(jì)算機(jī)進(jìn)行簡(jiǎn)單計(jì)算,反而要比傳統(tǒng)計(jì)算機(jī)慢許多。如果把傳統(tǒng)計(jì)算機(jī)比作做槍炮,那量子計(jì)算機(jī)就是核彈。有了無(wú)堅(jiān)不摧的核彈還需要槍炮嗎?答案是不言自明的。