求解矩阵特征值的混合人工鱼群算法
- 格式:pdf
- 大小:321.68 KB
- 文档页数:4
基本人工鱼群算法摘要人工鱼群算法(Artificial Fish-Swarm Algorithm,AFSA)是由李晓磊等在2002年提出的,源于对鱼群运动行为的研究,是一种新型的智能仿生优化算法。
它具有较强的鲁棒性、优良的分布式计算机制易于和其他方法结合等优点。
目前对该算法的研究、应用已经渗透到多个应用领域,并由解决一维静态优化问题发展到解决多维动态组合优化问题。
人工鱼群算法已经成为交叉学科中一个非常活跃的前沿性学科。
本文主要对鱼群算法进行了概述,引入鱼群模式的概念,然后给出了人工鱼的结构,接下来总结出了人工鱼的寻优原理,并对人工鱼群算法的寻优过程进行仿真,通过四个标准函数选取不同的拥挤度因子进行仿真实验,证实了利用人工鱼群算法进行全局寻优确实是有效的。
关键词:人工鱼群算法;拥挤度因子;寻优0 引言动物在进化过程中,经过漫长的优胜劣汰,形成了形形色色的觅食和生存方式,这些方式为人类解决生产生活中的问题带来了不少启发和灵感。
动物不具备复杂逻辑推理能力和综合判断等高级智能,但他们通过个体的简单行为和相互影响,实现了群体的生存和进化。
动物行为具有以下几个特点。
(1)适应性:动物通过感觉器官来感知外界环境,并应激性的做出各种反应,从而影响环境,表现出与环境交互的能力。
(2)自治性:在不同的时刻和不同的环境中能够自主的选取某种行为,而无需外界的控制或指导。
(3)盲目性:单个个体的行为是独立的,与总目标之间没有直接的关系。
(4)突现性:总目标的完成是在个体行为的运动过程中突现出来的。
(5)并行性:各个个体的行为是并行进行的。
人工鱼群算法是根据鱼类的活动特点提出的一种基于动物行为的自治体寻优模式。
1 鱼群模式描述1.1 鱼群模式的提出20世纪90年代以来,群智能(swarm intelligence,SI)的研究引起了众多学者的极大关注,并出现了蚁群优化、粒子群优化等一些著名的群智能方法。
集群是生物界中常见的一种现象,如昆虫、鸟类、鱼类、微生物乃至人类等等。
人工鱼群算法基本思想
首先放置36条鱼,每一条鱼分别位于每个格子的中心;依次对鱼执行觅食行为,确定鱼的下—步位置,36条鱼的下一步位置计算完以后,这个过程称为一轮;再执行下一轮的计算,直到鱼群的位置不再改变,算法结束。
算法的细节说明如下:
(1)格子的中心点有鱼表示当前格子内有一个以格子中心点为圆心半径为20 m的空洞。
(2)鱼的位置只能位于格子的中心点,鱼可以从当前格子走到其他任何—个格子的中心点上。
(3) 36条鱼的位置对应空洞的分布情况,空洞的分布确定后可以计算出波在98条线段上的传播时间(理论时间),进而得到理论时问与观测时间的误差,所以36条鱼的位置对应于—个误差。
当36条鱼的位置对应的空洞分布最逼近于空洞分布的真实情况时,得到的误差应是最小的;当误差最小时,此时鱼群位置被认为是真实的空洞位置。
(4)针对一条鱼而言,若它游到下—步后鱼群位置所对应的误差小于当前鱼群位置所对应误差,那么这条鱼就允许移到下一步。
(5)第i条鱼下一步的位置确定以后,第f+1条鱼的位置在第i条鱼下—步位置的基础上计算出来的,即第f+l条鱼的下一步位置依赖于第f条鱼的下一步位置。
本算法中鱼的行动不是同时进行的,而是依次序进行。
《基于多算法融合的改进人工鱼群算法及其应用》一、引言在现实世界的优化问题中,人工智能算法因其出色的寻优能力得到了广泛应用。
人工鱼群算法作为其中一种仿生优化算法,已在许多领域取得显著成果。
然而,单一算法的应用在处理复杂问题时可能存在局限性。
本文旨在探讨基于多算法融合的改进人工鱼群算法,并探讨其在实际应用中的效果。
二、人工鱼群算法概述人工鱼群算法是一种模拟鱼群行为、进行全局寻优的智能算法。
该算法以人工鱼作为基本单位,通过模拟鱼群的觅食、聚群、追尾等行为,在解空间中搜索最优解。
人工鱼群算法具有并行性、鲁棒性等优点,在函数优化、路径规划等领域得到广泛应用。
三、多算法融合的改进人工鱼群算法为了进一步提高人工鱼群算法的寻优能力和适应性,本文提出了一种基于多算法融合的改进人工鱼群算法。
该算法将多种优化算法与人工鱼群算法相结合,通过相互补充和协同作用,提高算法的全局寻优能力和局部搜索能力。
1. 融合差分进化算法差分进化算法是一种基于差分向量的优化算法,具有较强的全局寻优能力。
将差分进化算法与人工鱼群算法相结合,可以扩大搜索范围,提高全局寻优能力。
在改进的人工鱼群算法中,引入差分进化算法的变异操作,对人工鱼的位置进行随机扰动,以增强全局搜索能力。
2. 融合粒子群优化算法粒子群优化算法是一种基于群体行为的优化算法,通过粒子间的协作与竞争实现寻优。
将粒子群优化算法与人工鱼群算法相结合,可以增强局部搜索能力和收敛速度。
在改进的人工鱼群算法中,引入粒子群优化算法的粒子更新机制,对人工鱼的状态进行更新,以加快收敛速度。
四、应用分析本文将改进的人工鱼群算法应用于两个典型领域:函数优化和路径规划。
通过与经典算法进行比较,验证了改进人工鱼群算法的有效性和优越性。
1. 函数优化应用在函数优化问题中,改进的人工鱼群算法能够快速找到全局最优解,且具有较好的鲁棒性。
与经典的人工鱼群算法相比,改进算法在寻优速度和精度方面均有明显提升。
2. 路径规划应用在路径规划问题中,改进的人工鱼群算法能够根据环境信息自主规划出最优路径。
人工鱼群算法综述人工鱼群改进算法研究综述摘要:人工鱼群算法源于对鱼群运动行为的研究,是一种新型的群体智能随机全局优化算法,人工鱼群算法(AFSA)起步较晚,还存在着许多不足之处。
因此本文主要通过阐述鱼群算法的基本理论的同时,对人工鱼群算法的改进方法进行文献综述,并根据这些改进方法指出了人工鱼群算法未来的改进与研究方向。
关键词:人工鱼群算法算法改进综述1.引言1.1 人工鱼群算法的基本概念人工鱼群算法是李晓磊等[1]人于2002年提出的一种基于动物自治体[2-3]的优化方法,是集群智能思想[4]的一个具体应用,该算法根据水域中鱼生存数目最多的地方就是本水域中富含营养物质最多的地方这一特点来模拟鱼群的觅食行为而实现寻优。
它的主要特点是不需要了解问题的特殊信息,只需要对问题进行优劣的比较,通过各人工鱼个体的局部寻优行为,最终在群体中使全局最优值突现出来,有着较快的收敛速度[5]。
人工鱼群算法主要利用鱼的三大基本行为:觅食、聚群和追尾行为,采用自上而下的寻优模式从构造个体的底层行为开始,通过鱼群中各个体的局部寻优,达到全局最优值在群体中凸显出来的目的[6]。
(1)觅食行为:这是鱼趋向食物的一种活动,一般认为它是通过视觉或味觉来感知水中的食物两或食物浓度来选择行动的方向[6]。
(2)聚群行为:大量或少量的鱼聚集成群,进行集体觅食和躲避敌害,这是它们在进化过程中形成的一种生存方式[6]。
(3)追尾行为:当某一条鱼或几条鱼发现食物时,它们附近的鱼会尾随而来,导致更远处的鱼也会尾随过来[6]。
人工鱼群算法就是通过模拟鱼类的觅食、聚群、追尾等行为在搜索域中进行寻优的。
1.2 人工鱼群算法的行为描述觅食行为:设置人工鱼当前状态,并在其感知范围内随机选择另一个状态,如果得到的状态的目标函数大于当前的状态,则向新选择得到的状态靠近一步,反之,重新选取新状态,判断是否满足条件,选择次数达到一定数量后,如果仍然不满足条件,则随机移动一步[6]。
德州律师人工鱼群算法是根据鱼在水中寻找食物的行为演化而来。
我们知道,在鱼塘里对着某一区域撒下食物,不一会儿就会有大量的鱼儿集中过来,鱼儿在水中一般有觅食,聚群,追尾三种行为,以下是这些行为的描述:(1)觅食行为:鱼一般会呆在食物较多的地方。
一般在水里游的鱼,当它发现食物时,会向其游去。
(2)聚群行为:鱼在水中大多是群聚在一起,这样是为了能够更好的在水中生存,观察鱼群不难发现,鱼群中每条鱼之间都保持有一定的距离,而且它们会尽量保持方向一致,而外围的鱼也都是不断像中心的位置靠近。
(3) 追尾行为:在鱼群中,当一条鱼或者几条鱼发现食物时,其它的鱼也会尾随其快速的游到食物分布较多的地方。
1.人工鱼群算法原理1.1人工鱼群算法具的特点(1)收敛速度较快,可以用来解决有实时性要求的问题;(2)针对一些精度要求不高的情况,可以用来快速的得到一个可行解;(3)不需要问题的严格机理模型,甚至不需要问题的精确描述,这使得它的应用范围得以扩展。
1.2人工鱼群算法常用终止条件(1) 判断连续多次所得的均方差小于允许的误差。
(2)判断一些区域的人工鱼群的数量达到某个比率。
(3)连续多次所获取的值均不得超过已寻找的极值。
(4)迭代次数到达设定的最大次数1.3人工鱼群算法的基本流程人工鱼群算法演化到具体计算技术,具体流程如下:为两个体之间的距离,xp(v1,v2……vn)个体的当前位置,visual一只鱼的感知距离。
@拥挤度因子。
(1)觅食人工鱼当前位置为Xi,在可见域内随机选择一个位置Xj(d(ij) <=visual),如xj优于xi向xj前进一步,否则随机移动一步。
如出现不满足约束则剪去。
不变,else =随机(0,1)}。
(2)聚群:xi可见域内共有nf1条鱼。
形成集和KJi,,if KJi不为空,then(xjk属于kji),若:(FCc为中心食物浓度,FCi为Xi点食物浓度)则:向中心移动:X(i+1,k)=不变,当Xik=X(center,k)时,Xik=随机(0,1),当Xik!=X(center,k)时,若:FCc/n-[论文网]f1<@FCi则:进行觅食。
一种融合K-means算法和人工鱼群算法的聚类方法吕少娟;张桂珠【摘要】Aiming at the problems of K-means clustering being subject to local optimum and sensitive to initial value,and the problems of artificial fish swarm algorithm having high convergence rate,being insensitive to initial values and self-organising behaviour,we propose a clustering method which combines K-means and artificial fish swarm algorithm.The algorithm first slightly improves the standard artificial fish swarm algorithm with self-adaptive strategy:i.e.in early iteration of artificial fish swarm algorithm it uses the fixed visual perspective,with the increase of iteration times,is adopts the self-adaptive decreasing visual perspective value.Based on this,it integrates K-means algorithm to artificial fishes ofthe improved artificial fish swarm algorithm,part of the artificial fishes randomly generated will go through the iteration of K-means once after finishing each iteration in artificial fish algorithm.Experimental results prove that the new algorithm is obviously superior to the particle swarm optimisation,K-means and the improved AFSA,and it will be effectively applied in data clustering.%针对K-means易收敛于局部最优以及对初始值敏感和人工鱼群算法收敛速度快,对初始值不敏感及自组织行为的问题,提出一种K-means和人工鱼群算法融合的聚类方法。
混合变异算子的人工鱼群算法502008,44(35)ComputerEngineeringandApplications计算机工程与应用混合变异算子的人工鱼群算法曲良东,何登旭QULiang-dong,HEDeng-xu广西民族大学数学与计算机科学学院,南宁530006CollegeofMathematicsandComputerScience,Guan野iUniversityforNationlities,Nanning530006,ChinaQuLiang-dong.HEDeng—xu.Artificialfish-schoolalgorithmbasedonhybridmutationoperators.ComputerEngineeringandApplications。
2008.44(35):50—52.Abstract:AfteranalyzingthedisadvantagesofArtificialFish-SchoolAlgorithm(AFSA),thispaperpresentsahybridartificialfish-schoolalgorithmbasedONGaussmutationanddifferentialevolutionmutation.ByaddingmutationoperatorstoAFSAinevo-lutionprocess,theabilityofAFSAtobreakawayfromartificialfishstochasticmovingwithoutadefinitepurposeorheavygettingtogetherroundthelocaloptimumsolutionisgreatlyimprove.TheproposedalgorithmCallgreatlyimprovetheabilityofseekingtheglobalexeeUentresultandconvergencepropertyandaccuracy.Severalcomputersimulationresult8showthattheproposedal-gorithmissignificantlysuperiortooriginalAFSA.Keywords:ArtificialFish—SchoolAlgorithm(AFSA);Gaussmutationoperator;differentialevolutionmutationoperator摘要:在分析基本人工鱼群算法存在不足的基础上,提出了基于高斯变异算子与差分进化变异算子相结合的人工鱼群算法,该算法克服了人工鱼漫无目的随机游动或在非全局极值点的大量聚集,显著提高了求解质量和运行效率.通过仿真实验测试验证。
1引言在自然科学的研究中,特征值理论及其应用已经渗透到许多学科领域内,如解决数学物理方程、差分方程、Markov过程等问题[1-2]都涉及到矩阵特征值的求解问题。
目前,关于矩阵特征值的研究主要有两方面:(1)特征值分布理论的研究;(2)特征值近似值求解问题的研究。
为了解决第一个问题,数值代数给出了一系列估计特征值分布区域的定理。
对于一般复矩阵,Gerschgorin圆盘定理、Ky Fan定理、Ostrowski定理等都可以从矩阵本身的数据出发,给出一些几何图形去覆盖特征值的分布区域,从而得到了特征值所在的区域范围[3]。
对于矩阵特征值近似值的求解问题,许多学者已经做了大量的研究工作,常用的方法有变换法和幂法等。
变换法可以直接对矩阵进行处理,但计算速度慢;幂法只能求极端特征值,且算法的稳定性依赖于特征值的分布情况[4]。
1999年华人女学者涂晓媛博士将该方法引入到计算机动画的创作中,利用动物形态、习性和行为模型成功地制作了“人工鱼”,用计算机动画实现了“人工动物”共有的基本特征—生物力学、运动、感知和行为,被学术界称为“Xiaoyuan’Fish”[5]。
在2002年李晓磊[6]等人提出了一类群智能优化算法,即人工鱼群算法(Artificial Fish School Algorithm,AFSA)。
该算法具有良好的全局搜索能力,并具有对初值、参数选择不敏感、鲁棒性强、简单、易实现等优点。
与遗传算法,粒子群算法等其他单一群智能算法一样,AFSA也具有自己的不足。
其中一个不足就是相对于AFSA的全局搜索能力,它的局部搜索能力较差,收敛速度较慢。
针对这一不足,该文把具有强局部搜索的Hooke-Jeeves模式搜索方法[7]作为AFSA的一个局部搜索算子,提出一种混合人工鱼群算法,并用此混合算法来求解矩阵特征值。
实验表明,与AFSA相比,该混合算法能在更短的时间内求出更精确的解。
2矩阵特征值的分布理论2.1关于矩阵特征值的定义设矩阵A=(aij)∈C n×n,如果存在λ∈C,且X≠0满足AX=λX,则λ称为方阵A的特征值,X为对应λ的特征向量。
定义1设矩阵A=(aij)∈C n×n,称Ri=nj=1Σj≠i|aij|为矩阵A的第i行半径,以aii为圆心,Ri为半径的圆称为矩阵的第i行圆盘si,即si={λ∈C|λ-a ii≤Ri}。
求解矩阵特征值的混合人工鱼群算法黄华娟,周永权,韦杏琼,罗德相HUANG Hua-juan,ZHOU Yong-quan,WEI Xing-qiong,LUO De-xiang广西民族大学数学与计算机科学学院,南宁530006College of Mathematics and Computer Science,Guangxi University for Nationalities,Nanning530006,ChinaE-mail:hhj-025@HUANG Hua-juan,ZHOU Yong-quan,WEI Xing-qiong,et al.Hybrid artificial fish school algorithm for solving matrix puter Engineering and Applications,2010,46(6):56-59.Abstract:Based on the distribution about eigenvalues of matrix,the approximately distributed region of matrix eigenvalues is de-terminated,using hybrid artificial fish school algorithm to solve approximate eigenvalues of matrix.Several experimental results show that the proposed hybrid artificial fish school algorithm is efficient in solving the matrix’s eigenvalues and can reach a certain precision.Key words:matrix;eigenvalues;circular disc theorem;hybrid artificial fish school algorithm摘要:根据矩阵特征值的分布理论,通过确定矩阵特征值的分布区域,用混合人工鱼群算法来求解任意数值矩阵特征值的近似值。
实验结果表明,这种基于混合人工鱼群求解矩阵特征值的算法,可达到一定的精度,能够有效地获得任意矩阵的特征值。
关键词:矩阵;特征值;圆盘定理;混合人工鱼群算法DOI:10.3778/j.issn.1002-8331.2010.06.016文章编号:1002-8331(2010)06-0056-04文献标识码:A中图分类号:TP18基金项目:国家自然科学基金(the National Natural Science Foundation of China under Grant No.60461001);广西自然科学基金(the Natural Sci-ence Foundation of Guangxi of China under Grant No.0832082);国家民委科研基金(No.08GX01);广西民族大学科研项目启动基金资助项目。
作者简介:黄华娟(1984-),女,硕士,主要研究方向:计算智能及其应用;周永权(1962-),男,博士,教授,主要研究方向:计算智能、神经网络及应用;韦杏琼(1983-),女,硕士,主要研究方向:计算智能及其应用;罗德相(1980-),男,硕士,主要研究方向:计算智能及其应用。
收稿日期:2008-09-23修回日期:2008-12-22定义2设矩阵A =(a ij )∈Cn ×n,称R i ′=nj =1Σj ≠i|a ij |为矩阵A 的第j 列半径,以a ii 为圆心,R i ′为半径的圆称为矩阵的第j 列圆盘s i ′,s i ′={λ∈C |λ-a ii ≤R i ′}。
2.2Gerschgorin 圆盘定理设矩阵A =(a ij )∈Cn ×n,则A 的所有特征值λ1,λ2,…,λn(可相重)都落在复平面上的n 个圆盘s i (A )={λ∈C |λ-a ii ≤R i },i =1,2,…,n 的并集中,并且若A 的n 个圆盘中有k 个圆盘构成一个连通域G ,与其余n-k 个圆盘互不相交,则A 中有且仅有k 个特征值落在G 内。
从Gerschgorin 圆盘定理[8]可以得出以下两个推论[3]:推论1孤立的G 氏圆盘中含有且仅含有一个特征值,而k 个连通的G 氏圆盘中恰含有k 个特征值,而不保证每个圆盘都一定会含有A 的特征值;推论2如果A 的n 个圆盘两两互不相交,则A 有n 个互异的特征值,且每一特征值恰好在孤立的圆盘内。
3求解矩阵特征值的混合人工鱼群算法3.1基本人工鱼群算法人工鱼群算法其主要原理是模拟自然界中鱼的觅食、聚群和追尾行为以及鱼群之间的相互协助从而达到全局寻优的目的,其数学模型描述如下:假设在一个n 维的目标搜索空间中,有N 条组成一个群体的人工鱼,每条人工鱼个体的状态可表示为向量X =(x 1,x 2,…,x n ),其中x i (i =1,2,…,n )为欲寻优的变量;人工鱼当前所在位置的食物浓度表示为Y =f (X ),其中Y 为目标函数;人工鱼个体之间的距离表示为d i ,j =‖X i -X j ‖;visual 表示人工鱼的感知范围,step 为人工鱼移动的步长,δ为拥挤度因子;try-number 表示人工鱼每次觅食最大的试探次数。
3.1.1行为描述在每次迭代过程中,人工鱼主要是通过觅食、聚群和追尾等行为来更新自己,从而实现寻优,具体的行为描述如下:(1)随机行为(AF-Random ):指人工鱼会在其视野visual 内随机的移动,当发现食物时,会向食物逐渐增多的方向快速的移去。
(2)觅食行为(AF-prey ):指鱼循着食物多的方向游动的一种行为,人工鱼X i 在其视野内随机选择一个状态X j ,分别计算它们的目标函数值进行比较,如果发现Y j 比Y i 优,则X i 向X j 的方向移动一步;否则,X i 继续在其视野范围内随机移动选择状态X j ,判断是否满足前进条件,反复尝试try-number 次之后,仍没有满足前进条件,则随机移动一步使得X i 到达一个新的状态。
(3)聚群行为(AF-swarm ):指每条鱼在游动过程中尽量向临近伙伴的中心移动并避免过分拥挤的一种寻优行为。
人工鱼X i 搜索其视野内的伙伴数目nf 及中心位置X c ,若Y c /nf >δY i ,表明伙伴中心位置状态较优且不太拥挤,则X i 朝伙伴的中心位置移动一步,否则执行觅食行为。
(4)追尾行为(AF-follow ):指鱼向其可视域范围内的最优方向移动的一种行为。
人工鱼X i 搜索其视野内的所有伙伴中函数值最优的伙伴X j ,如果Y j /nf >δY i ,表明最优伙伴的周围不太拥挤,则X i 朝此伙伴移动一步,否则执行觅食行为。
3.1.2行为选择根据所要解决的问题性质,每条人工鱼对当前所处的环境进行评价,从而选择一种合适的行为来执行。
如对于求最大值问题,最简单的就是先模拟执行聚群、追尾等行为,然后评价行动后的值,选择其中的最大者来实际执行,缺省的行为方式为觅食行为。
最终,大量人工鱼会聚集在几个局部极值的周围,这有助于获取全局极值域,而值较优的极值区域周围一般会聚集大量的人工鱼,这有助于获取全局极值,从而达到了寻优的目的。
3.2Hooke-Jeeves 方法Hooke-Jeeves(HJ )方法[7]是Hooke 和Jeeves 在1961年提出的一种直接搜索方法。
该方法收敛速度快,具有很强的局部收敛性,但收敛结果的优劣依赖于初值的选取。
HJ 直接搜索法的具体步骤如下:(1)设初始点和初始步长分别为x (1)和d ,e 1,e 2,…,e n 为坐标向量,加速因子和计算精度分别为α>0和ε>0。
令y (1)=x (1),k =j =1;(2)若f (y (j )+de j )<f (y (j )),则称为实验成功,令y (j +1)=y (j )+de j ,转(3);否则,若f (y (j )+de j )≥f (y (j )),成为实验失败,此时,若f (y (j )-de j )<f (y (j )),令y (j +1)=y (j )-de j ,转(3);若f (y (j )-de j )≥f (y (j )),y(j +1)=y (j ),转(3);(3)若j<n ,令j =j +1,返回(2);否则j=n ,若f (y (n +1))≥f (x (k )),转(5);若f (y(n +1))<f (x (k )),则转(4);(4)令x (k +1)=y(n +1),y (1)=x (k +1)+α(x (k +1)-x (k )),k =k +1,再令j =1,返回(2);(5)若d ≤ε,则计算结束,取x *≈x (k );否则,令d=d /2,y (1)=x (k ),x(k +1)=x (k ),k =k +1,再令j =1,返回(2)。