基于自适应相位匹配量子计算的求核算法
2020-10-10谢旭明段隆振邱桃荣杨幼凤
谢旭明,段隆振,邱桃荣*,杨幼凤
(南昌大学a.信息工程学院;b.图书馆,江西 南昌 330031)
以上的改进策略均不能保证100%的成功概率。该研究提出一种自适应匹配相位角度的策略,并将改进策略应用于粗糙集的核属性求解。通过仿真实验,提出的策略能够在任意核属性占比情况下都能以100%的概率得到核属性。
1 相关研究
1.1 Grover算法
Grover算法是通过一系列的酉变换作用于等权重叠加态直至目标分量量子态的概率幅第一次到达峰值的过程。在这个过程中,目标分量量子态的概率幅被不断增大,非目标分量量子态的概率幅被不断削减。
设待搜索空间有N=2n个元素,所有分量以叠加态存放在n个量子比特中,Grover算法的简要示意图则表示为图1。
如图1所示,G算子包含Ga和Gs两个子算子。Ga算子可以使目标分量实现π的相位翻转。Gs算子随后使所有分量进行均值翻转。在规定次数内,目标分量的概率幅随着G算子的迭代而不断增大。
1.2 粗糙集核属性
1982年Pawlak[12]提出粗糙集理论用于刻画数据的不完备性和不精确性。粗糙集的核属性是粗糙集理论中最关键的概念,是各种属性约简算法的先决条件。粗糙集核属性的定义如下:
设S=(U,A,V,f)是一个粗糙集,对于任意属性子集B⊆A,IND(B)表示由B确定的二元不可区分关系。那么,对于∀a∈A,如果IND(A-{a})≠IND(A),则称a是A的核属性。
2 自适应相位匹配Grover算法
针对现有Grover算法的局限性,提出一种自适应相位匹配量子搜索算法。改进算法的示意图如下:
如图2所示,对应于经典Grover算法,改进算法将迭代次数改为T′,将算子G改为算子G′。下面对T′和G′的确定方法进行详细分析。
2.1 改进算法的迭代次数T′
这里先分析经典Grover算法迭代次数的求解方法,然后结合改进算法的特点给出T′的取值方法。
2.1.1 经典算法的完美迭代次数
经典Grover算法的搜索过程实际可以看作是用一系列的幺正矩阵去与一个每个维度上的值都相同且模为1的N维向量相乘,最后希望得到的结果是不断提升解对应维度上的值和压缩非解维度上的值。单从线性代数的角度上看,假设不要求迭代次数为正整数,那么目标解集是一定可以以100%的概率得到的。为了研究方便,我们假设上面讲的这个迭代次数为完美迭代次数,并结合经典Grover算法,给出定义如下:
定义1设目标分量个数在总分量个数中占比为λ;那么,定义经典Grover算法的完美迭代次数为:
Tpft是根据令经过处理后的叠加态与目标分量的垂直向量成90度夹角(即目标分量的概率幅为1)得到的。但实际情况下,小数次的迭代次数是不可能实现的。从定义1中可以看出随着λ的变化,Tpft有可能为正整数。Tpft为正整数时,那么说明这样的次数是可以执行的。
2.1.2 提出算法的迭代次数
如同经典算法一样,自适应相位匹配量子搜索的迭代次数也是至关重要的。这里先给出一个关于迭代次数的定理,然后确定提出算法的迭代次数。
定理1当且仅当迭代次数t满足t≥Tpft时,存在相位角度φ,使得目标分量的概率幅为1。
证明经典Grover算法的相位角度为π,而相位角度π(π与-π等价)是使得叠加态与目标分量值平面的垂直矢量能产生最大夹角的相位。也就是说,π(或-π)是使得叠加态最快靠近目标分量值平面的相位角度。Tpft是经典Grover算法(即φ=π,-π在产生的夹角大小方面与π等价)在理论上第一次叠加态到达目标分量值平面的迭代次数,但Tpft在绝大多数情况下都是小数,在实际中无法实现。因此,仅当存在整数次迭代次数t,且满足t≥Tpft时,才存在相位角度φ使得叠加态到达目标分量值平面。
证毕。
通过定理1可知,只要满足t≥Tpft,那么就存在相位角度φ使得经过算子处理后的目标分量的概率幅等于1。在算法的设计中,迭代次数越少自然带来的计算复杂度越小,而迭代次数又必须是整数次。因此,改进算法的迭代次数可对Tpft向上取整得到,即T′=CEIL(Tpft),其中CEIL()为向上取整函数。
经典量子搜索的迭代次数是对Tpft四舍五入取整,提出算法迭代次数T′是对Tpft向上取整。因此,提出算法的迭代次数最多比经典量子搜索算法的迭代次数多一次。
2.2 改进算法算子G′
G′算子也包含两个子算子Ga′和Gs′,表达式如公式(1)和公式(2)。