第1章 量子计算物理基础
1.1 量子算法
随着电路集成度的不断提高,量子效应开始影响电子的正常运动,经典计算机硬件的发展面临瓶颈,摩尔定律将会失效。作为突破当前计算极限的重要技术之一,量子计算成为世界各国紧密跟踪的前沿学科之一。自诺贝尔物理学奖获得者 Richard Philips Feynman 提出量子计算的概念后,相关的研究被不断推进。量子计算的并行性、指数级存储容量和指数加速特征展示了其强大的运算能力[1,2]。
1994 年 Shor[3]提出了分解大数质因子的量子算法,并吸引了众多研究者的目光。大数质因子分解的难度确保了 RSA 公钥密码体系的安全,该问题至今仍属于NP(non-deterministic polynomial, 非确定多项式)难题,在经典计算机上需要指数时间才能完成。但是 Shor 算法表明,在量子计算条件下,这一问题可以在多项式时间内得到解决。它仅需几分钟就可以完成用 1600 台经典计算机需要 250 天才能完成的 RSA-129 问题(一种公钥密码系统),使当前公认为*安全的、经典计算机不能破译的公钥密码系统 RSA 可以被量子计算机容易地破译。这就意味着目前广泛应用于政府、军事以及金融机构等重要方面的 RSA 公钥密码体系的安全性可能面临着致命的威胁。Shor 算法的基本思想是:*先利用量子并行性通过一步计算获得所有的函数值,并利用测量函数得到相关联的函数自变量的叠加态,然后对其进行快速傅里叶变换。其实质为:利用数论相关知识将大数质因子分解问题转化为利用量子快速傅里叶变换求函数的周期问题。
1996 年,Grover 提出 Grover 量子搜索算法,该算法适宜于解决在无序数据库中搜索某一个特定数据的问题。在经典计算中,对待这类问题只能逐个搜索数据库中的数据,直到找到为止,算法的时间复杂度为 O(N)。而 Grover 量子搜索算法利用量子并行性,每一次查询可以同时检查所有的数据,并使用黑箱技术对目标数据进行标识,成功地将时间复杂度降低到O( N) 。现实中有许多问题,如*短路径问题、图的着色问题、排序问题及密码的穷举攻击问题等,可以利用 Grover量子搜索算法进行求解。用 Grover 量子搜索算法,可以仅用 2 亿步代替经典计算机的大约 3.5×1016 步,破译广泛使用的 56 位数据编码标准 DES(一种被用于保护银行间和其他方面金融事务的标准)。
自 Shor 算法和 Grover 量子搜索算法提出以后,量子计算方法表现出的独特计 算方式以及在信息处理方面展现的巨大潜力引起了研究者的广泛关注。以这两种算法为基础,产生了大量的讨论并有很多改进的算法被提出。Grover 量子搜索算法提出不久后有研究者提出量子态不必翻转,只需旋转一个适当的角度便可以获得与 Grover 量子搜索算法等同的效果[4] 。Long 等[5] 提出了量子搜索的相位匹配条件。Grover 量子搜索算法在搜索过程中没有使用具体问题的特殊结构信息,为了在搜索中利用问题的结构信息,Hogg[6]提出了基于结构的搜索算法——约束满足算法。为了能使 Grover 量子搜索算法在连续变量的全局优化问题中运用,Bulger等[7] 给出了一种用 Grover 量子搜索算法实现纯适应的搜索 (pure adaptive search,PAS) 算法,称为 Grover 适应搜索。
同时量子算法对算法设计领域产生着深刻影响。如何将量子计算强大的存储和计算优势引入到现有的算法体系中,成为广泛关注的焦点。而智能算法向来是算法研究领域的一个热点,量子智能计算将量子理论原理与智能计算相结合,利用量子并行计算特性很好地弥补了智能算法中的某些不足,如加快算法的收敛速度及避免早熟现象等。
目前,已有的量子智能算法有(包括但不限于以下算法):量子退火算法、量子进化算法、量子神经网络、量子贝叶斯网络、量子小波变换、量子聚类算法等。
这些算法的共同点都是应用了量子计算的机制或是受到量子机制的启发,按照某种符合量子力学行为特点的方式进行算法设计,有鲜明的量子计算的特点,或多或少延续了量子计算的优势。但是,由于量子计算设备的发展相对滞后,目前看来,这些算法并未能在真正的量子计算机上运行检验。但是通过模拟量子计算的过程,与传统的智能算法比较,这些量子智能算法广泛地展现出了较强的竞争力。
从算法功用的角度,本书将智能算法分为两大类:一类以优化为目的,称为智能优化算法;另一类以学习为目的,称为智能学习算法。以此为基础,本书将量子退火算法、量子进化算法等统称为量子优化算法;将量子神经网络、量子贝叶斯网络、量子小波变换、量子聚类算法等统称为量子学习算法。并将在第 2 章和第 3 章对这两类算法进行简单介绍。
1.2量子系统中的叠加、相干与坍缩
在经典数字计算机中,信息被编码为位链(bit),1bit 信息就是两种可能情况中的一种:0 或 1,假或真,对或错。例如,电容器的板极间的电压可以代表 1bit 信息:带电的电容表示 1,而放电的电容表示 0。不同于经典计算模式,在量子世界中,微观粒子的状态是不可确定的,系统以不同的概率处于不同状态的叠加之中。
展开