Ⅰ 如何用IT業者話來講解量子計算的原理和過程
電子計算機中的數據是以二進制存儲的,而量子計算機存儲的是四進制數。
為什麼這樣說?
電子計算機中的寄存器具有兩個可以相互轉換的穩定狀態,人們利用這兩種狀態分別表示0和1。因此,電子計算機存儲的基本數據單元是bit也就是一位二進制數0或1。
量子計算機中的寄存器具有【兩對】兩個可以相互轉化的穩定狀態,這兩對狀態可以分別表示兩位二進制數。量子計算機中的一個基本數據單元就是一位四進制數。
可能聽起來比較繞,可以嘗試抽象到面向對象的思想中:
把「電子計算機的bit」看作一個類,它具有一個屬性,這個屬性是bool類型的。
而「量子計算機的bit」類有兩個屬性,兩個屬性同樣都是bool類型。這是什麼概念?
電子計算機中1Kb的數據在量子計算機中相當於10byte
1Mb相當於100byte
1Gb相當於1000byte
而現在絕對算的上是「大數據」的1Pb數據量僅僅相當於量子計算機中的0.1Mb
媽媽再也不用擔心我的硬碟不夠大了……
當我們在計算機下編程時,不管是使用何種語言,最終都要轉化為機器碼進行運算。也就是對寄存器中的二進制數進行運算。
下面出一道程序題:a=1,b=0,c=0,d=1; 求 a+b, c+d 的值。在電子計算機中要這樣做:
x=a+b;
y=c+d;而在量子計算機中,一個「量子計算機byte」有兩個屬性,可以把一個量子byte對象看做是一個向量。上面那道題就變成了:x=(a,b), =y(c,d);求x+y解:z = x+y;在此時,一次量子計算相當於兩次電子計算。在電子計算機中需要計算次的問題在量子計算時只需要n次!
看到這里只要是懂點演算法的同學就應該精神了,這就是說,那些「難解問題」現在都成了線性的,隨著n的增加,運算量不再呈指數級飆升,而僅僅是線性增加!
突然發現許多從前認為不可能的事變得很近。比如應用廣泛的TSP旅行商問題,如果能夠使用量子計算機解決,就能隨時規劃一條拼車線路,駕駛員可以在上班路上在不增加路程的前提下順便帶上幾名乘客,或者為快遞員找到最快捷最節能的快遞路徑。而這僅僅是在一類問題下的應用。