APP下载

人工鱼群算法研究综述

2012-07-03鲍韦韦张立毅肖志涛

山西电子技术 2012年2期
关键词:鱼群算子人工

邹 康,刘 婷,鲍韦韦,张立毅,肖志涛

(1.天津工业大学电子与信息工程学院,天津 300387;2.天津大学电子信息工程学院,天津 300072;3.天津商业大学信息工程学院,天津 300134)

近年来,人工智能学科飞速发展,学者们通过研究动物群体和人类社会的智能行为,提出了群体智能(Swarm Intelligence)算法。它具备天然的分布式和自组织特征[1],是通过模拟自然界生物群体行为来实现人工智能的一种方法。典型的群体智能算法主要有粒子群算法、蚁群算法、等。

2002 年,李晓磊等[2]成功地将动物自治体的概念引入优化算法,提出了人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)。它采用自下而上的思路,应用了基于行为的人工智能方法,因为是从分析鱼类的活动出发进行寻优,故称为人工鱼群算法。目前,关于AFSA算法的研究已经渗透到多个应用领域,并且得到了很好的应用效果,成为群智能计算领域的研究热点之一。

1 人工鱼群算法的基本原理

在一片水域中,鱼生存数目最多的地方一般就是本水域中富含营养物质最多的地方,依据这一特点来模仿鱼群的觅食等行为,从而实现全局寻优,这就是AFSA的基本思想[2]。基本人工鱼群算法是用来解决连续值域内不受约束的优化问题,在离散域内将行为定义稍加改动也同样适用。

假设有条人工鱼,当前状态为Xi,随机选择人工鱼另一状态为Xj;其中,xi=[xid](i=1,2,L,SN,d=1,2,L,D)是一个D 维向量,xi=[xid](i=1,2,L,SN,d=1,2,L,D)同为一个D 维向量;状态Xi的食物浓度(适应度函数)为Yi=f(Xi),其中f(.)为目标函数;人工鱼个体之间的距离表示为di,j=‖Xi-Xj‖,其感知距离(视野范围)为Visual,移动步长为step,拥挤度因子为δ。算法中,几种行为与寻优命题的解决有着较密切的关系。

(1)觅食行为

设人工鱼当前状态为Xi,在其感知范围内随机选择一个状态Xj,在求极大值问题时,若Yi<Yj,则向该方向前进一步,即Xi/next;反之,再重新随机选择状态Xj,判断是否满足前进条件;这样反复尝试try_number 次后,若仍不满足前进条件,则随机移动一步。其数学表达式为:

式中,Rand为一个(0,1)的随机数。

(2)聚群行为

设人工鱼探索当前邻域内(di,j<Visual)的伙伴数目nf及中心位置状态Xc,如果Yc/nf>δYi,表明伙伴中心有较多的食物且其周围不太拥挤,则朝伙伴中心位置方向前进一步;否则执行觅食行为。其数学表达式为:

(3)追尾行为

设邻域内(di,j<Visual)探索到的食物浓度最大状态为Xmax,如果Ymax/nf>δY,表明Xmax状态具有较高的食物浓度且其周围不太拥挤,则朝Xmax的方向前进一步;否则执行觅食行为。其数学表达式为:

(4)公告板

用来记录最优人工鱼个体的状态。

2 基本人工鱼群算法的改进

2.1 初始化的改进

初始化种群是算法进行搜索的起点。AFSA算法的初始种群生成是随机的,通常情况下可以保证初始鱼群分布均匀,但对于个体的质量不能保证,解群中有一部分远离最优解。

宋潇潇等[3]提出了基于极坐标编码的改进人工鱼群算法。它通过设定编码规则,并将此编码方式运用到三种行为当中,计算出每一个编码母体获得的人工鱼的概率,选择大概率的母体作为算法初始化的起点,有效提高算法的收敛性。宋志宇等[4]利用混沌系统产生混沌变量,并在参数允许范围内随机产生各个人工鱼个体的初始状态。陈广洲等[5]引入了免疫算法中的消亡算子,经算子运算更新,相互比较,摒弃非优个体,将其重新初始化,以此保持种群的多样性。

2.2 算法参数的改进

AFSA算法参数较多,且通常情况下是固定的,δ 设置不合理,收敛效果不明显。在算法后期,随着人工鱼个体逐渐靠近最优点,这时当前较好的解只有一两位元素与最优解不同,所以在其附近仍采用在Visual 与step 范围内觅食的方式寻优是不合理的。

王冬冬等[6]提出了分段优化的思想,令食物浓度η为分界线,大于η 时,为前期过程,采用较大的step和Visual,能使算法较快地得到一个相对较优的解;小于η 时为后期过程,采用较小的step和Visual,得到一个精度更高的解。黄华娟等[7]通过公式(4)和公式(5)自适应减小了步长和拥挤度因子。

其中,k为当前迭代的代数,α∈[0,1]为衰减因子。俞洋等[8]通过公式(6)逐渐减小视野。

Xiao J M 等[9]运用最优适应值变化率K和变化方差σ2作为是否进行参数变化的衡量标准,从而避免算法的退化。

2.3 与其它算法相结合的改进

算法一般在优化初期具有较快的收敛性,而在后期却往往收敛较慢。虽然通过对参数的改进可以解决此问题,但是从计算复杂度、收敛效果及速率等因素来考虑,仅从算法自身改进不足难以达到更高的要求。因此,在AFSA算法中引入其它算法,综合二者的优点,成为AFSA 改进的一个主流趋势。

(1)与粒子群算法相结合

罗德相等[10]将种群分为两部分,一部分运用粒子群算法,一部分运用鱼群算法,将二者比较后的最优值赋予公告板,以此提高收敛速度。

(2)与遗传算法相结合

张梅凤等[11]将变异算子引入鱼群算法,实现人工鱼个体的跳变,从而调整优化群体。曲良东等[12]引入高斯变异和差分进化两种变异算子,通过变异使得劣解得以更新,确保了算法的寻优性。

(3)与禁忌搜索算法相结合

李亮等[13]通过邻域禁忌搜索,构造两点禁忌寻优算子对解空间进行无重复的搜索,以此来跳出局部最优点,确保算法的高效性。

(4)与其它算法相结合

高德芳等[14]提出鱼群-蚁群算法的概念,将蚁群算法融入ASFA 中。

3 鱼群算法的应用

基于鱼群算法的优点,其在很多领域得到广泛应用。如对连续函数进行优化;将算法运用到多用户检测;解决旅行商问题及约束优化问题等。综上所述,AFSA算法在很多领域都展现出了其良好的解决问题能力。

4 总结与展望

目前针对鱼群算法的研究已逐渐趋于成熟,但许多问题仍有待进一步的研究:

首先,AFSA算法的基础理论研究尚待完善。例如算法参数较多,且参数设置也缺乏确切的理论依据,通常依靠经验来设定。

其次,算法在后期收敛速度明显降低,仅仅通过AFSA算法的计算很难得到满意解。如何将其它智能算法与AFSA算法融合,减小甚至克服各自的缺点,构造出创新性并具备实用价值的混合算法是当前研究的热点趋势。

[1]Bonabeau E,Dorigo M,Theraulaz G.Swarm Intelligence:Fromnatural to Artificial Systems[M].New York:Oxford University Press,1999:40-58.

[2]李晓磊.一种新型的智能优化方法——人工鱼群算法[D].浙江大学博士论文,2003.

[3]宋潇潇,孙棣华,解佳.基于极坐标编码的改进人工鱼群算法[J].系统工程与电子技术,2010,32(10):2248-2251.

[4]曲良东,何登旭.一种混沌人工鱼群优化算法[J].计算机工程与应用,2010,46(22):40-42,37.

[5]陈广洲,汪家权,李传军,等.一种改进的人工鱼群算法及其应用[J].系统工程,2009,27(12):105-110.

[6]王冬冬,李哲,梁丽,等.基于改进人工鱼群算法求解多元非线性方程组[C].2009 中国智能自动化会议论文集,2009:163-168.

[7]黄华娟,周永权.改进型人工鱼群算法及复杂函数全局优化方法[J].广西师范大学学报(自然科学版)2008,26(1):194-197.

[8]俞洋,殷志锋,田亚菲.基于自适应人工鱼群算法的多用户检测器[J].电子与信息学报,2007,29(1):121-124.

[9]Xiao J M,Zheng X M,Wang X H,et al.A Mdified Artificial Fish-Swam Algorithm[C].Proceedings of the 6th World Congress on Intelligent Control and Automation,Dalian,2006:3456-3460.

[10]罗德相,周永权,黄华娟.粒子群和人工鱼群混合优化算法[J].计算机与应用化学,2009,26(10):1257-1261.

[11]张梅凤,邵诚,甘勇,等.基于变异算子与模拟退火混合的人工鱼群优化算法[J].电子学报,2006,34(8):1381-1385.

[12]曲良东,何登旭.混合变异算子的人工鱼群算法[J].计算机工程与应用,2008,44(35):50-52.

[13]李亮,迟世春,林皋.禁忌鱼群算法及其在边坡稳定分析中的应用[J].工程力学,2006,23(3):6-10.

[14]高德芳,赵勇,郭杨,等.基于混合鱼群-蚁群算法的模块化产品配置设计[J].设计与研究,2007,34(1):7-10.

猜你喜欢

鱼群算子人工
人工3D脊髓能帮助瘫痪者重新行走?
拟微分算子在Hp(ω)上的有界性
人工,天然,合成
人工“美颜”
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
鱼群漩涡
新型多孔钽人工种植牙
Roper-Suffridge延拓算子与Loewner链
基于改进鱼群优化支持向量机的短期风电功率预测