量子那些事儿 关注
手机版

一种改进的双链量子遗传算法及其应用

  1. 云栖社区>
  2. 量子那些事儿>
  3. 博客>
  4. 正文

一种改进的双链量子遗传算法及其应用

雪花又一年 2018-05-15 15:56:32 浏览311 评论0

摘要: 虽然该方法仍属传统遗传算法, 但激发了量子计算原理与遗传算法相结合的研究;Han等人[7]采用量子位编码和量子门更新染色体,提出了遗传量子算法和并行量子遗传算法, 并成功求解了组合优化问题;Yang Jun-an等人[8]在遗传算法中引入多宇宙概念,提出了多宇宙并行量子遗传算法;Wang Ling...

虽然该方法仍属传统遗传算法, 但激发了量子计算原理与遗传算法相结合的研究;Han等人[7]采用量子位编码和量子门更新染色体,提出了遗传量子算法和并行量子遗传算法, 并成功求解了组合优化问题;Yang Jun-an等人[8]在遗传算法中引入多宇宙概念,提出了多宇宙并行量子遗传算法;Wang Ling等人[9]将QGA与SGA融合,提出基于量子计算的混合量子遗传算法;李士勇等人[10]将量子染色体中两条概率幅链均看成描述最优解的基因链,提出了双链量子遗传算法(double chains quantum genetic algorithm,DCQGA),借助量子位相位的周期性,该算法在一定程度上能提高优化性能。本文在文献[10]研究工作的基础上,通过改变量子位概率幅的周期、旋转角度以及变异策略,提出了一种改进的双链量子遗传算法(improved DCQGA,IDCQGA)。该方法可使搜索过程在概率幅的多个三角函数周期上同时进行,改善了原算法的种群多样性、适应性和稳定性,从而进一步提高了算法的搜索能力。

  1 IDCQGA基本原理

  1.1 连续优化问题描述

  若将n维连续空间优化问题的解看做n维空间中的点或向量,则连续优化问题可表述为

  min f(x)=f(x1,x2,…,xn)s.t. ai≤xi≤bi;i=1,2,…,n(1)

  若将约束条件看做n维连续空间中的有界闭集Ω,将Ω中每个点都看做优化问题的近似解,可定义如下评价函数来反映近似解的优劣程度:

  fit(x)=Cmax-f(x)(2)

  其中,Cmax可以是一个合适的输入值,或者是到目前为止优化过程中f(x)的最大值。

  1.2 双链量子遗传算法

  在量子计算中,最小的信息单位用量子位表示。量子位又称量子比特,一个量子比特的状态可表示为

  |φ〉=α|0〉+β|1〉(3)

  其中α和β满足下列归一化条件:

  |α|2+|β|2=1(4)

  把满足式(3)(4)的一对复数α和β称为一个量子比特的概率幅,因此量子比特也可以用概率幅表示为[α,β]T。

  在DCQGA中,直接采用概率幅作为编码。考虑到式(4)的约束性,编码方案如下:

  pi=cos(ti1)sin(ti1)cos(ti2)sin(ti2) …cos(tin)sin(tin)(5)

  其中:tij=2π×rnd,rnd为(0,1)间的随机数,i=1,2,…,m;j=1,2,…,n。m是种群规模,n是量子位数。在DCQGA中,将每一量子位的概率幅看做是上下两个并列的基因,每条染色体包含两条并列的基因链,而每条基因链代表一个优化解。因此,每次迭代两个解同步更新,在种群规模不变的情况下能扩展对搜索空间的遍历性,加速优化进程。
 

 DCQGA使用量子旋转门更新量子染色体的概率幅,其转角步长公式为

  Δθ=-sgn(A)×Δθ0×‖fit max-fit min‖‖fit(X)-fit min‖ (6)

  其中:Δθ0为转角步长初值;fit(X)为评价函数fit在点X的梯度;fti max和fit min分别定义为

  fit max=[max{fit(X1)X11,…,

  fit(Xm)X1m},…,max{fit(X1)Xn1,…,fit(Xm)Xnm}](7)

  fit min=[min{fit(X1)X11,…,fit(Xm)X1m},…,

  min{fit(X1)Xn1,…,fit(Xm)Xnm}](8)

  DCQGA的变异策略为利用量子非门,兑换量子位的两个概率幅,从而使双链同时变异。

  1.3 改进的双链量子遗传算法

  本文针对上述DCQGA提出了三点改进策略。

  1)量子染色体编码方式的改进

  在IDCQGA中,本文在量子位概率幅的三角函数描述中引入一个大于等于1的调整因子,将原来的2π周期改进为多周期描述方式。引进这一参数的直接目的是提高算法收敛的概率。改进后的编码方式为

  pi=cos(cti1)sin(cti1)cos(cti2)som(cti2) …cos(ctin)sin(ctin)(9)

  其中c≥1。

  这种编码方式为每个量子位的相位附带一个大于1的常数因子,从而拓展了概率幅函数的周期。该算法是对DCQGA的推广,当c=1时,即还原为原来算法。假设在优化过程中最优解的某一变量对应的概率幅值为-0.5,以c=2为例,由图1可知,原算法(c=1)有两个相位解:q1=7π/6,q2=11π/6;新算法(c=2)有四个相位解:p1=7π/12,p2=11π/12,p3=19π/12,p4=23π/12。因此,提高了获得最优解的概率。

  2)量子旋转门转角步长函数的改进

  式(6)存在如下不足:若fit(X)=fit min,则‖fit(X)-fit min‖=0,Δθ=∞,从而引起算法震荡。鉴于此,本文提出如下转角步长函数:

  Δθ=-sgn(A)Δθ0 exp-f(X)-f minf max-f min(10)

  上式既能保持与式(5)功能的一致性,也有效克服了原有的缺陷,提高了算法的适应性和稳定性。

  3)基于量子非门的变异策略的改进

  量子非门的作用是使量子位的两个概率幅兑换,这种变异的本质是一种量子比特相位的旋转。设某一量子位幅角为θ,则旋转后的幅角为π/2-θ,幅角正向旋转了π/2-2θ。经分析,实际上这种旋转幅度中的π/2是没有必要的,完全可以替换为其他角度。在IDCQGA中,本文提出了基于单比特量子Hadamard的变异策略,该门在单量子比特上的作用效果为

  12111-1cos(θij)sin(θij)=

  cos(π4-θij)sin(π4-θij)=cos(θij+π4-2θij)sin(θij+π4-2θij)(11)

  其中:i∈{1,2,…,m},j∈{1,2,…,n}。由式(11)可以看出,这种变异策略也是一种旋转。对于第i条染色体上的第j个量子位,转角大小为Δθij=π/4-2θij,增强了种群的多样性。

  2 对比实验

  为验证IDCQGA中改进措施的有效性,考虑如下两个典型函数的极值优化问题,并与DCQGA对比。

  1)BR-Branin 函数

  f(x,y)=x-5.14π2y2+5πy-62+101-18πcos y+10(12)

  其中:x∈[0,15];y∈[-5,10]。

  优化目标为求取函数极小值,式(12)的全局极小值为0.3979,共有两个全局极小值点(-3.142,12.276)和(3.142,2.275),一个与全局极小值点很接近的局部极小值点为(9.425,2.425),局部极小值为0.400 4,其空间分布特征如图2所示。当优化结果误差小于0.000 4时认为算法收敛。

 

 2)RA-Rastrigin函数

  f(x,y)=x2+y2-cos(18x)-cos(18y)(13)

  其中:x,y∈[-1,1]。

  优化目标为求取函数极小值,式(13)全局极小值点为(0,0),全局极小值为-2.000,在可行域内大约有50个局部极小值点,其空间分布特征如图3所示。当优化结果误差小于0.005时认为算法收敛。

  3)Generalized Rosenbrock’s 函数

  f3(X)=∑29i=1[100(xi+1-x2i)2+(1-xi)2](14)

  其中:xi∈[-30,30]。

  优化目标为求取函数极小值,式(14)全局极小值点为(1,1,…,1),全局极小值为0。当优化结果小于0.005时认为算法收敛。

  对于上述函数,分别用IDCQGA和DCQGA优化50次,然后统计每种算法的最优结果、平均结果、收敛次数、平均步数、平均时间作为对比评价指标。三种算法的种群规模均取50,最大优化代数均取500,变异概率均取0.05,转角步长初值均取0.01π。性能对比结果如表1所示。

  表1 IDCQGA、DCQGA算法的性能对比

  函数算法最好结果平均结果收敛次数平均步数平均时间/s

  BR-BraninIDCQGADCQGA0.397 90.397 90.399 10.399 6494655.040 066.440 00.030 30.037 7

  RA-RastriginIDCQGADCQGA-2.000 0-2.000 0-1.994 9-1.993 7484559.220 072.560 00.029 70.031 1

  GeneralizedRosenbrockIDCQGADCQGA0.000 00.000 00.025 30.038 64339138.230 0163.870 00.058 60.059 9

  对比实验结果表明,IDCQGA的优化性能优于DCQGA,从而表明本文提出的改进策略是有效可行的。

  3 结束语

  量子遗传算法是量子计算与遗传算法相结合的产物,目前作为一个新兴的研究方向,受到国内外学者广泛关注。本文针对目前双链量子遗传算法存在的问题,通过实施三种改进策略建立了一种新型的双链量子遗传算法,有效克服了原算法存在的不足,进一步提高了算法的搜索能力。仿真实验结果验证了本文提出的改进算法的有效性。


原文发布时间为:2011-03-03
本文作者:cqc
本文来源:博客园,如需转载请联系原作者。

用云栖社区APP,舒服~

【云栖快讯】诚邀你用自己的技术能力来用心回答每一个问题,通过回答传承技术知识、经验、心得,问答专家期待你加入!  详情请点击

网友评论

雪花又一年
文章1320篇 | 关注29
关注
提供一种性能卓越、稳定、安全、便捷的计算服务,帮助您快速构建处理能力出色的应用,解放计算给服... 查看详情
GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应... 查看详情
基于云安全大数据能力实现,通过防御SQL注入、XSS跨站脚本、常见Web服务器插件漏洞、木马... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
阿里云9.10会员日

阿里云9.10会员日