一、量子计算机是可以改变世界的东西?
计算,是人类在这个世界的根本需求。
我们从心算、纸笔计算,再到用上诸如算盘之类的工具,再到现在的电子计算机。我们所得到的的数字越来越精确,我们对这个世界的了解越来越多,我们所能改变的也就越来越多。从茅草屋,走进水泥房再到遍布全世界的200米高的摩天大楼,从偏隅某个山谷,再迁移到各个大洲,进而眺望星辰大海。
这是我们计算能力不断提升的过程。算力推动生产力,让世界逐步变成现在的样子。
算力,制约着改变世界的潜力。
举个例子,现代社会信任和秩序的基石,是密码学。所有的合同、账户、个人资料等等都是在网络上经过加密,解密不断的运行反复。而密码学之所以有效,不是因为它不可以破解,而是因为以现在的算力来说,破解它的时间太长,使得破解它变得没有意义。
而当量子计算机出现,它的算力能够将破解一个密码的时间从原先的50年,变成30s,那这个世界会是这个怎样的样子?
再聚焦一点。比特币,而它本质上是基于密码学的一种记账手段。如果量子计算机真的实现了,那么比特币是不是就崩盘了?
这些问题时间终究会给出答案。如果量子计算机变成现实,改变的不仅仅是市值11600亿人民币人比特币那么简单。
二、计算机是什么?
计算,抽象的看,就是输入,运算,输出。
计算机的基于某种硬件,以及某种物理硬件上的规则应用。
当计算抽象的输入、运算、输出,映射到到物理系统里面,就是具体的初态、演化、模态。
电子计算机是基于经典电磁学,而量子计算机,而是基于量子力学。
而一个计算机的能力大小,则是我们利用相应的物理规则,去操控这个物理系统的初态、演化、和末态。
从电子计算机再到量子计算机,实际上是从经典电磁规则的应用切换到量子力学的应用,并且,为了和这套规则适配,底层的物理硬件也同样需要迭代替换。
对于经典电子计算机来说,底层的物理硬件可以是老式的电子管,也可以是今天使用的晶体管。
而对于量子计算机来说,不同的公司还有不同的方案。例如IMB公司选择的是超导电路方案,而微软公司,选择的就是拓扑量子计算的方案。除此之外,实验室里面还有用光子实现的方案,用量子阱的实现方案。
三、经典电子计算机的瓶颈
提升算力,有两种方式,增加信息容量和提升运算速度。
其一,增加信息容量
无论是那种类型的计算机,这都是在操纵比特。
比特越多,则信息存储空间越大,计算上就更具有优势。
举个例子,如果双手是个计算机的话,因为我们只有十根手指,所以信息的容量就是10。我们只能做10以内的计算。而如果我们把双手双脚都给加上,信息容量变成了20,我们就可以进行20以内的计算,计算能力翻了一倍。
增加比特数目,对应到计算机系统,有两种方式:
其一:依靠追加物理资源的方式。我们在一个元器件上放上更多的比特,也就是1G变成2G,2G变成16G。但这是种笨办法,经典元器件的体积已经做的足够小了,换句话说,我们没有办法把元器件做的更小以容纳更多的比特。
其二:优化解码方式。拿双手来说,本来一根手指就代表1,那现在如果左手的手指代表10,右手的手指代表1,也即是一个进位操作。这样我们的计算能力就变成了55。
再换种编码方式,如果把右手的拇指代表1,右手的食指代表2,右手的中指代表4,这样计算的话,我们的信息容量就变成了2的十次方,也就是1023.
同理来讲,因为比特就是0和1的两种状态。对于经典计算机来说,如果它又N个比特,所以它的信息容量上限就是2的X此房。
可以看出,对于经典电子计算机来说,增加比特数,以及把二进制作为编码手段,已经是增加比特数的所有方法了。
其二,提升信息处理速度
传统电子计算机也是采取增加处理器的办法。
单个高频的处理器,肯定要比低频的处理器每秒的运算速度要快。而单个高频的处理器,就是要上更多的元件,处理器芯片上的密度如果太高,又会引发能耗和散热的问题。
那么只有追加物理资源来提升信息处理的速度,一个CPU上面,集成了很多信息模块处理器。
很显然,这种方式也是有物理瓶颈的。
四、量子计算机的突破
其一、在增加比特数目方面,量子比特的容量是电子比特的n次方倍。
基于量子特性,量子计算机采用的是优化编码方式,即量子二进制编码。
在量子力学的规律中,量子是处在叠加状态的,也就是既可以是1,也可以是0.
一个量子比特,有两种状态,既是0也是1;
两个量子比特,就有4种状态,00,01,10,11;
三个量子比特,就有8种化妆台,001,010,100,110,101,011,111,000,
对应的,一个电子比特,就是1种状态,0或者1;
2个电子比特,就是2种状态;
3个电子比特,则是3种状态;
如果量子比特和电子比特的数目都N,则量子比特的信息容量是电子比特的2的n次方倍。
其二、在提升信息处理速度的方面,减少物理资源、提升速度
其一、在经典电子计算机其中,问题的增加是线性级别的,而解决问题需要的计算能力确实指数级别的。
对于量子计算机来说,因为量子是叠加态可以并行演化,解决问题的速度与效率也是指数级别的,跟得上问题难度的增长。
其次,量子因为还有个纠缠状态,即同生同死,所以在数据同步方面,具有很大的优势。
例如有10个地方的数据,都需要+1,如果用到经典计算机,需要耗费大量的资源去进行时间上的同步,而对于量子计算机来说,只要把这10个地方的量子比特做纠缠,然后随机+1就可以了。
五、量子计算机是如何计算的?
计算机中,存在着两个区域,即数据存储区和指令区域。
例如计算2+4=6.
如果是传统计算机中,先把2和4二进制化分别存储到数据库当中,在把加号二进制化,存储到指令区域。
对于指令区域来说,为什么知道这个加号代表了加号呢?那是因为所有的运算都是依靠改变电流实现的。这些通过电流改变的硬件条件,编织成了一个对照表,例如1.3A的电流,对应的是加号,加号择时001.每次运算的时候,只要把数据取的数据和指令区域的指令对照起来就可以了。
附注:我们说的硬件不兼容,则是硬件上面的指令区不兼容,例如在同一个加法运算,在硬件A当中是001,在硬件B当中是002。
而在量子计算机当中,2+4的运算,需要3个比特,当2+4这个问题输入到系统是,就会把代表2的010和代表4的100叠加起来,它们的概率都变成了100%,其余的6种状态择时0%。此时数据去的存储就成功了。
接下来是指令区,如果我们发现把电流设置到0.1A,系统能让2和4的50%叠加态发生变化,最后变成6的概率是100%,这就完成了2+4=6的运算。
这和经典电子计算机相比,量子计算机是没有中间过程的。
例如1+2+3+4,经典计算机需要把1+2=3存储下来,再去继续相加,而量子计算机可以把这几个数字全部叠加在一起,只需要改变一次系统状态,就能演化最终的结果。
六、量子计算读取最终结果
相比经典电子计算机,它的读取结果是可以得到一组特定的输出状态。
而对于处在叠加态的量子比特,需要根据一定的规则把把它坍缩换成经典状态。
这个特定的规则,则是反复计算。同样的输入,我们反复计算得到坍缩成不同的计算结果,然后利用统计学反向求得概率,最终得到正确答案。
那这里会有个问题是,如何保证正确结果是对的?
因为利用量子计算机所解决的问题,很可能答案是唯一的,我们无法对比参照确定它是否是正确的。
在这其中的解决办法是,增加冗余信息。
量子计算的结果坍缩成经典电子状态,最终读取都是靠统计学的求的概率。而增加冗余信息,就是本来用1个比特来表示一份信息,现在用3个比特来表示,最终按照少数服从多数的原则,能把错误结果给纠正回来。这就是其中一种办法。
七、量子计算机真能做出来吗?
算力=物理系统+算法,量子计算机是否能做出来,这个问题其实可以拆分成两个问题,
第一、物理系统
决定一个计算机是否能实现的关键是能否找到和量子力学完美匹配的物理系统。像之前提到过的经典电子计算机,它所采用的就是电子管、晶体管。而对于量子计算机来说,很多公司有很多方案。而在这些方案当中,哪儿些是好的,是否有可以量化衡量的标准呢?是有的。
1、初始能力:即清零的能力,对应到量子计算机当中就是初始化。在物理系统中,需要把比特处于同一种状态,在现在的物理系统下,其实是减很难的事情;
2、扩展能力,即增加跟多的链子比特;
3、可控能力,即对于量子基础设计时候的精确程度;
4、稳定能力,是否能让量子比特处于可控的坍缩、叠加状态;
5、被测量能力:略。
以上,可以综合成一个能力,即量子比特的数量。
第二、算法
量子计算的特性在于并行处理,算法必须能够匹配量子力学的物理系统,才能把这个量子计算机的潜力发挥到极致。
拿破解密码来举例,有个叫肖恩的发明了一种量子解密的方法,叫做肖恩算法,用来破解RSA协议的时候特别有用。
除此之外,还有种量子算法叫做Grover算法,应用在无序的数据库中进行搜索的量子算法。它能带来搜索速度的提升,但是十分有限,只能带来平方根级的程度,还没有达到指数级的加速、
例如说本来需要10000年的运算,加上平方根级的加速,需要155小时,如果是指数级的加速,则需要38秒;
另外,比特币的挖矿基础其实就是基于无序数列找到需要的数据,Grover算法能带来提升,但是十分有限。所以就算量子计算机已经开始实用,比特币的基础也不会被破坏。