那首先,量子計算機和傳統電子計算機到底有什么區別呢?我們從最基本的原理看:手機、電腦、超級計算機的運算都是由芯片控制的。指甲蓋大小的芯片上要容納十億甚至數十億的晶體管,每個晶體管都是納米級別的“開關”電路。高壓通電,表示1,低壓不通,表示0。這種介于導電和不導電之間的材料就叫半導體,所以現在的電子工業又叫半導體工業。那由這些簡單的“開關”可以構成10種邏輯門電路:與門、或門、非門、與或門、與非門、與或非門等等。這種二進制的命令,叫機器語言,只能做簡單運算,需要再加上每個硬件配屬的匯編語言,C++、JAVA、Python(爬蟲)等高級語言等進行更復雜的計算。簡單來說,就是用一層比一層復雜的控制,讓計算機在二進制的基礎上,進行各種運算。
那傳統計算機最底層的“小開關”最早是用電子管,體積非常大,你像世界上第一臺計算機里面裝了18000個電子管,占地170平米,重量30噸。后來升級為硅材料制作的晶體管,而且越做越小,目前主流的芯片是10納米、7納米級別,而最先進的CPU已經用上了5nm的工藝。
哎!說到這里,學計算機、軟件的同學應該非常熟悉了。歸根結底,傳統計算機最根本電路其實和我們墻上開關的性質是一樣的,它的開關數量越多,運算能力就越強?!度w》里面用最簡單粗暴的人列計算機為我們揭示了這個原理。你像有一個著名的“摩爾定律”:每過18個月,集成電路上元器件的數量就會增加一倍,運算能力也翻倍。所以,對于傳統計算機來說:在同樣大小的芯片上,你光刻的精度越高,能容納的晶體管越多,芯片的運算速度就越快。
但是:晶體管并不是能無限縮小的。因為你再小也不能小過原子的直徑吧,已知硅原子的直徑大約是0.22納米,考慮到原子之間的距離,理論上極限至少是0.5納米。而在實際應用中,在5納米以下時,晶體管就有些“關不住”電子了,電子可以不受晶體管的約束,四處亂跑。簡單說就是:因為距離太近,這個小開關失靈了,這個現象在量子力學中有一個專業名詞叫“量子隧穿”。所以由此可見:在可預見的未來,傳統的電子計算機一定是有它的技術天花板的,摩爾定律事實上已經失效了。即使用石墨烯等新材料替代,也會遇到同樣的瓶頸。如果想要突破這種限制,就得依靠技術思路完全不一樣的量子計算機了。
這量子計算機有多重要呢?舉個大家熟悉的例子,《三體》里面有這樣一個情節:三體人通過智子干擾科學家的對撞試驗,使得人類無法進一步探究微觀粒子內部的秘密,也就無法研制出量子計算機。200年后,即使人類造出采用核聚變的太空艦隊,依然用的是電子計算機。面對三體人利用物質強相互作用力原理制造出的水滴,人類龐大的恒星艦隊瞬間被無情團滅。所以如果兩個文明的基礎科學存在代差,結果就是:毀滅你,與你何干!你像科技大咖吳軍在他的《全球科技通史》里面就說過:人類文明的進步取決于兩條線——能量和信息。一方面是能量利用效率的提高,另一方面就是信息處理效率,前者要想獲得突破,目前公認的最大希望是核聚變反應堆,而后者的關鍵就是量子計算機。其實你從歷史上看:人類社會進步的本質就是出現了一種新的制度來組織協調更多的民眾,讓從烏合之眾變為組織力更高的團體。
你像我們的智人祖先為什么能在個體不占優勢的情況下戰勝比自己更強壯、更聰明的尼安德特人呢?因為智人擁有效率更高的信息傳播手段:由家庭構成小部落,并演化出了信仰體系,使得群體中更多的人相信虛構出來的東西,大家可以團結一心,突破150的鄧巴悉數,所以數以萬計的智人可以被共同的信仰組織起來修建像金字塔、萬里長城這樣的建筑。而尼安德特人因為信息傳播能力有限,最多只能組成15到20人的小團體,當然不是我們祖先的對手啦。當然我這扯得有點遠啦,延伸到今天的話題就是:無論對于當下科技的進步,還是人類文明的未來發展,量子計算機在一定程度上是起決定作用的。
下面呢,我就從最基本的原理來解釋一下量子計算機。那上面我說過:電子計算機的單個運算元件是晶體管,而量子計算機的運算元件,是電子、原子、光子這種有能量、有“行為”的微觀粒子,統稱為量子。那電子計算機是通過電路的開關來表示0和1,而量子計算機是利用粒子的自旋方向、偏振方向等“行為”來表示0和1。比如順時針旋轉代表1,逆時針旋轉代表0。而且這個量子到底是1還是0,是處于一種隨機狀態,我們都知道:量子力學里面有一個著名的“測不準定律”,薛定諤的貓,你無法判斷它到底是死的還是活的,只能說生死各占50%。所以上面我們說的量子是0還1的問題,就只能通過大量實驗,最后得出統計結果:0和1各占50%。那另外再補充一個很有趣的知識點:如果在量子計算機運算的過程中,加入了人為的觀察,無論是直接觀察還是利用儀器間接觀察,量子都會失去0或1的隨機狀態,變成1或者0,那量子計算的前提就不存在了。這也是量子力學最讓人覺著“玄學”的地方:人對過程的觀察,會直接導致實驗失敗,更有甚者,沒有科學素養的“玄學家”,趁機武斷的說這證明了“人的意念力”,看我發功。
那如果從科學史的角度看:我們現在對量子力學的認知程度,就相當于17世紀的人們通過觀察總結,歸納出了開普勒三定律,但完全不知道這些天體為什么要這么運行。直到牛頓推導出萬有引力定律,用公式揭示了這種現象背后的本質。所以現在量子測不準“定律”其實是一種更宏大的物理學體系的表象。我們現在僅僅可以利用量子的這些特性來研究量子通信、量子計算機、量子傳感器等技術,但知其然而不知其所以然,無法用一套公式完美解釋這些量子力學現象,畢竟這是愛因斯坦窮盡畢生之力也沒有做到的事,所以目前人類對量子力學的研究其實只是皮毛。那些研究量子力學的科學家,比如玻爾,他就說過:如果誰在學習量子力學時不覺得困惑,說明他根本就沒懂。咱們國家現在量子通信的領軍人物潘建偉也說過:自己不懂量子力學。當然這些科學家的不懂量子力學不是一般意義上的不懂,而是不明白量子世界為何會是這個樣子。那扯遠啦,如果大家對量子力學感興趣,我推薦一本量子力學的科普讀物《上帝擲骰子嗎》。
那再回到我們今天的話題—量子計算機。我們都知道,要想提高電腦的性能無非三個辦法:第一個是增加儲存容量,就是加硬盤,2T、3T、10T,存更多的游戲電影;第二個是提高存儲數據的速度,就是上DDR4 4000赫茲以上的內存,上固態,3000MB每秒的固態;第三個是提高運算速度,就是用更好的CPU,認準英特爾i9,AMD線程撕裂者。
那傳統計算機在儲存數據方面,最基本的單位是比特,用0或1表示,兩個比特就有00、01、10、11四種可能,但只能保存一個可能性?,F在我用量子存儲,那可就不同啦。因為在未觀測前,量子的狀態不確定,可能是1,也可能是0,量子處于0和1 共有的狀態,這個就叫量子的“疊加態”。那1個量子比特就能儲存0/1兩種可能,2個量子比特就是2的平方:00、01、10、11四種可能;3個量子比特就是2的三次方,八種可能。以此類推:N個量子比特,就能保存傳統比特2N次方倍的數據,而且每增加一個量子比特,存儲能力就乘2。理論上:只要300個量子比特就能數清宇宙所有的原子。
那上面說的是量子計算機在存儲方面的優勢,而在運算方面,傳統計算機由于是“開關電路”的模式,一次只能輸入一個數據,通過運算只能得出一個確定的結論。下面我舉一個實際例子說明:比如公共場所的監控攝像頭拍到了1萬個人臉,我們要在這其中找到10名犯罪嫌疑人,那傳統計算機就需要將1萬張照片和10目標一一比對,需要10萬次比對,也就是10萬次計算。如果計算機只有2個核心,等效要算5萬次。所以我們現在電腦、手機的CPU基本都是4核、6核、8核了,就是為了可以同時進行多個運算,提高并行處理問題的能力。
而量子計算機可就不一樣了:1萬張人臉,我只要14個量子比特就能儲存16384個數據。每個人臉轉化為量子數據后,相當于一組量子比特。而另一邊的一組有10個目標,也轉換為一組量子比特,理論上,我只要設計好算法,這兩組量子比特,只要一次計算,就可以找到10個配對的目標。當然啦,因為量子計算機算出的結果不能直接讀取,只能多算幾次,統計最大概率的結果,由此再得出確定的結論。
所以相比傳統計算機,量子計算機相當于將10萬次的運算濃縮到一次,但是這個一次運算,需要多次取樣,排除干擾再選取結果。但即使這樣,也比傳統計算機快了萬倍,而且隨著量子比特的增加,量子計算機的速度甚至沒有上限。像我們的“九章”,它計算“高斯玻色取樣”問題的速度比目前最快的日本超級計算機“富岳”快一百萬億倍。也就是說,超級計算機需要一億年完成的任務,“九章”只需一分鐘。
講到這里,很多朋友就要說啦:這么逆天的計算機,用來打游戲豈不爽歪歪。哎,少年好想法,中科大量子信息國家實驗室歡迎你!那我上面說的這些內容,其實只是用最通俗易懂的語言把量子計算機的基本原理給大家解釋了一下,而關于量子計算機的具體設計方案、制造難度,還有大家最關心的,這貨未來能干嘛,能給我們帶來怎樣的變化,我們下期接著聊。

