Ⅰ 如何用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旅行商问题,如果能够使用量子计算机解决,就能随时规划一条拼车线路,驾驶员可以在上班路上在不增加路程的前提下顺便带上几名乘客,或者为快递员找到最快捷最节能的快递路径。而这仅仅是在一类问题下的应用。