基本人工鱼群算法

合集下载

人工鱼群算法1

人工鱼群算法1

人工鱼群算法实例
• 然后先进行追尾活动,每条鱼Xi都查看在自己可视域范围内 (即距离小于visual,visual根据搜索空间的大小而定)的 其它鱼,从中找到适应函数值最小的一个Xj ,其适应度函 数值记为Yj,Xj周围可视域内的其它个体数量记为nf,若 Yj*nf<δ*Yi (δ为拥挤度因子,此处取1),则表明Xj周围 “食物”较多且不太拥挤,这时Xi对每一个自己和Xj的不同 的位重新随机取值(例如Xi为1001,而Xj为1100,那么就 对Xi的第2,4位重新随机取值),从而向Xj靠近。追尾活动 若不成功,则进行聚群行为,每条鱼都先找出自己周围可 视域内的其它鱼,形成一个小鱼群,然后找出这群鱼的中 心点,这里中心点的确定方法是,若鱼群中半数以上的鱼 在第i位上取1,则中心点的第i位也为1,否则为0,接 着采用和前面相同方法查看中心点的“食物”是否较多, 是否拥挤,据此决定是行为(AF-follow)指鱼向其可视区域 内的最优方向移动的一种行为。人工鱼Xi搜 索其视野内所有伙伴中的函数最优伙伴Xj, 如果 Yj/ nf > δYi,表明最优伙伴的周围不太 拥挤,则Xi朝此伙伴移动一步,否则执行觅 食行为。
算法介绍 伪代码
• • • • • • • • •
算法介绍 代码
function [XXnext] = gmjprey(XX,Try_number,Visual,Step) pp=0; for j=1:Try_number XXj=XX+rand*Step*Visual; if(maxf(XX)<maxf(XXj)) XXnext=XX+rand*Step*(XXj-XX)/norm(XXj-XX); pp=1; break end end if(~pp) XXnext=XX+rand*Step; end

鱼群算法的介绍

鱼群算法的介绍
定义:视野范围visual=2.5,步长step=0.3,拥挤因子 δ =0.125,迭代次数为 100次,人工鱼的个数为50只。
无审视环节的实验效果图:公告板得 到的结果是(0.046247,0.005745) , f(x,y)max=0.9996。
有审视环节的实验效果图:公告板显 示的结果:(-0.023021,0.007922), f(x,y)max=0.9999。
2、聚群行为:搜寻视野范内的同伴,判断视野范围内的鱼群 中心的食物量是否比当前自己拥有的食物量多。如果多则往鱼群中心方 向移动,少则执行觅食行为。
3、追尾行为:搜寻视野范围内的同伴,找出拥有食物量最多 的个体。并判断拥有食物量最多的个体的周围是否有太多的鱼。如果少 则说明值得往食物量最多的鱼方向移动,如果太多则说明不值得向食物 量最多的鱼方向移动,还是自己找食物好(即执行觅食行为。)。(这 里的多和少是有拥挤因子决定的。)
如果 且Yv1<Yv2,表明伙伴Xv2的状态具有较高的食物浓度并且其周围不太拥挤,朝伙伴Xv2的方 向前进一步;否则执行觅食行为。如果 也执行觅食行为。
2.4 随机行为
随机行为:随机行为的实现比较简单,就是在视野中随机选择一个状态,然后向该方向移动,其实 它是觅食行为的一个缺省行为。根据所要解决的问题性质, 对人工鱼当前所处的环境进行评价,从 而选一种行为。较常用的评估方法是:选择各行为中使得向最优方向前进最大的方向,也就是各行 为中使得人工鱼的下一个状态最优的行为,如果没有能使下一个状态优于当前状态的行为,则采用 随机行为。
先提一下鱼群算法里面的各种参数: 1、visual 表示人工鱼的感知距离(即视野范围)。 2、step 表示人工鱼移动的最大步长。 3、 δ 表示拥挤因子 4、try—number是人工鱼在觅食行为中的移动次数。 5、friend—number表示人工鱼数量。

人工鱼群算法及其应用研究

人工鱼群算法及其应用研究

人工鱼群算法及其应用研究人工鱼群算法及其应用研究人工鱼群算法是近年来兴起的一种基于群体智能的优化算法,其灵感来源于鱼群觅食行为。

该算法通过模拟鱼群的觅食行为,以求解复杂的优化问题。

随着计算机技术的发展,人工鱼群算法受到广泛关注,并在多个领域得到应用。

本文将介绍人工鱼群算法的基本原理、应用情况以及存在的问题。

一、人工鱼群算法的基本原理人工鱼群算法中,鱼被模拟成具有觅食行为的个体,每条鱼都有一定的感知范围和特定的行为规则。

在觅食过程中,鱼会根据周围环境的信息对个体与群体的行为进行调整。

个体的行为规则包括觅食、逃避、追逐和交配等行为。

觅食行为主要包括鱼群个体的聚集和分散。

在算法中,每条鱼可以表示为一个解,将每个解表示为一个向量,向量的每个元素表示解的一个变量。

算法根据目标函数的值来评估每条鱼的适应度。

同时,算法会根据适应度值和鱼群中的信息进行个体的移动和调整。

通过多次迭代,鱼群逐渐趋于最佳解。

二、人工鱼群算法的应用研究人工鱼群算法在各个领域的应用研究日趋广泛。

以下将介绍几个典型的应用案例:1.优化问题求解人工鱼群算法在数学优化问题中有着广泛的应用。

例如,对于线性规划问题,可以将每个变量看作一条鱼进行建模,通过人工鱼群算法进行求解。

此外,该算法还被应用于网络流优化、组合优化、约束优化等多个领域的问题求解中,取得了较好的效果。

2.图像处理人工鱼群算法在图像处理中具有较强的适用性。

例如,在图像分割中,人工鱼群算法可以通过调整参数来达到图像分割的最佳效果。

此外,该算法还能够用于图像去噪、图像压缩等多个图像处理任务中。

3.路径规划人工鱼群算法在路径规划问题中的应用也较为广泛。

例如,对于无人驾驶车辆的路径规划问题,可以将人工鱼群算法应用于规划车辆的最短路径,并考虑到实时交通状况进行调整。

此外,该算法还可用于无线传感器网络中的路径规划问题、机器人的运动路径规划等多个领域。

三、人工鱼群算法存在的问题虽然人工鱼群算法在诸多领域有着广泛的应用,但也存在一些问题亟需解决。

人工鱼群算法(AFSA)及其简单应用举例

人工鱼群算法(AFSA)及其简单应用举例

+ 2.2 AFSA基本概念 + 假设在一个n维的目标搜索空间中,有N条组成一 + 个群体的人工鱼,每个人工鱼个体的状态可表示为 + 向量X=(x1,x2,……xn),其中xi(i=1,……n)为欲寻 + 优的变量:人工鱼当前所在位置的食物浓度表示为 + Y=f(X),其中Y为目标函数;人工鱼个体间距离表示 + 为 d=||Xi-Xj ||; visual表示人工鱼的感知范围,step + 为人工鱼移动步长,δ为拥挤度因子;trynumber + 表示人工鱼每次觅食最大试探次数。
6
8 10
x1
AFSA 迭 代 20次 8
+ 1.2 人工生命
+ 具有某些生命基本特征的人工系统。包括两方面 的内容:
+ 1、研究如何利用计算技术研究生物现象;
+ 2、研究如何利用生物技术研究计算问题。
+
+ 我们关注的是第二点。
+
如何利用生物技术研究计算问题是人工生命
研究的重要方向,现已有了很多源于生物现象的计
算技巧, 例如人工神经网络是简化的大脑模型,遗
+ 2.4 具体算法步骤 + 鉴于以上描述的人工鱼群行为,每条人工鱼探索 + 它当前所处的环境状况和伙伴的状况,从而选择一 + 种行为来实际执行,最终人工鱼集结在几个局部极 + 值周围。一般情况下,在讨论求极大问题时,拥有 + 较大的适应值的人工鱼一般处于值较大的极值域周 + 围,这有助于获取全局极值域,而值较大的极值区 + 域周围一般能集结较多的人工鱼,这有助于判断并 + 获取全局极值。具体的人工鱼群算法步骤如下:

人工鱼群算法的分析及改进

人工鱼群算法的分析及改进

1、引入动态调整策略
在AFSO算法中,随着迭代次数的增加,鱼群的全局最优解可能逐渐偏离真正 的最优解。这是由于在寻优过程中,鱼群可能会陷入局部最优陷阱。为了解决这 个问题,我们引入了动态调整策略,即根据算法的迭代次数和当前的最优解,动 态地调整鱼群的搜索范围和搜索速度。
2、增加随机扰动
在AFSO算法中,鱼群通常会向当前的全局最优解集中。这可能会导致算法过 早地陷入局部最优陷阱。为了解决这个问题,我们引入了随机扰动。即在每次迭 代时,随机选择一部分鱼,将其位置和速度进行随机扰动,以增加算法的探索能 力。
2、计算适应度:对于每一条鱼,计算其适应度函数值(通常是目标函数 值),这个值代表了这条鱼的“健康”状况。
3、比较适应度:将每条鱼的适应度与全局最优解进行比较,更新全局最优 解。
4、更新领头鱼:随机选择一条鱼作为领头鱼,然后根据一定的规则,如最 小距离规则,选择其他鱼跟随领头鱼。
5、更新鱼群:根据领头鱼的位置和行为,更新其他鱼的位置和行为。
4、多种群并行搜索:通过将搜索空间划分为多个子空间,并在每个子空间 中独立运行AFSA,我们可以实现多种群的并行搜索。这种并行搜索方法可以显著 提高算法的搜索速度和效率。
四、结论
本次演示对人工鱼群算法进行了详细的分析和改进。通过引入混沌理论、变 异机制和自适应调整参数等方法,我们可以有效地提高AFSA的全局搜索能力和效 率,避免算法过早地陷入局部最优解。多种群并行搜索方法也可以显著提高算法 的搜索速度和效率。这些改进方案为AFSA在实际应用中的广泛应用提供了有力的 支持。
感谢观看
3、引入学习因子
在AFSO算法中,每个鱼会根据自身经验和群体行为来调整自己的方向和位置。 然而,这个学习因子通常是固定的。为了提高算法的收敛速度和精度,我们引入 了可变的学习因子。即根据算法的迭代次数和当前的最优解,动态地调整学习因 子的大小。

人工鱼群算法

人工鱼群算法

5
算法旳收敛性分析
人工鱼群算法旳参数选用
视野(Visual ):因为视野对算法中各行为都有较大旳影响, 所以其变化对收敛性能旳影响也是比较复杂旳。当视野范围较小时 ,人工鱼群旳觅食行为和随机游动比较突出;视野范围较大时人工 鱼旳追尾行为和聚群行为将变得较突出。总体来看,视野越大,越 轻易使人工鱼发觉全局极值并收敛。所以对人工鱼旳视野进行合适 旳改善,是提升人工鱼群算法优化性能旳一种方向。
(4)δ:拥挤度因子,人工鱼群旳汇集规模; (5)Try-number:试探次数。人工鱼变化目前状态前旳尝试
次数,满足试探次数后,假如不满足变化状态旳条件, 则人工鱼需要根据规则选择下次行为继续寻优。
鱼群行为分析
这些行为在不同步刻会相互转换,而这种转换一般是鱼经过对环境旳感知来自主实现旳,这些 行为与鱼旳觅食和生存都有着亲密旳关系,而且与我们优化问题旳处理也有着亲密旳关系。
觅食行为
聚群行为
追尾行为
随机行为
鱼群算法在对以上四种行为进行评价后,自动选择合适旳行为,从而形成了一种高 效迅速旳寻优策略。
觅食行为
这是人工鱼旳一种趋向食物活动。一般经过视觉或味觉来感知水中旳食物量或浓度来
选择趋向。设人工鱼i旳目前状态为Xi,在其感知范围内随机选择一种状态Xj,则
X j Xi Visual Rand
尝试次数(Try-number):
尝试次数越多,人工鱼执行觅食行 为旳能力越强,收敛效率越高,但 在局部极值突出旳情况下,易错过 全局极值点,即人工鱼摆脱局部极 值旳能力越弱。所以,在一般优化 中,可合适增长尝试次数,以加紧 收敛速度;在局部极值突出旳情况 下,应降低尝试次数,增长人工鱼 随机游动旳概率。
其迅速到达食物点。即追尾行为是一种向邻近旳有最高适应度旳人工鱼追逐旳行为

基于多智能体系统的人工鱼群算法研究

基于多智能体系统的人工鱼群算法研究

基于多智能体系统的人工鱼群算法研究人工智能领域近年来发展迅速,多智能体系统(Multi-Agent Systems,MAS)作为其中一个研究重点,受到了越来越多的关注。

在MAS中,人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是其中一个重要的算法,在优化问题、图像处理、机器学习等领域都得到了广泛应用。

本文将从多智能体系统的角度出发,对人工鱼群算法的研究进行探讨。

一、多智能体系统概述多智能体系统是由多个智能体组成的,这些智能体可以相互通信协作,完成一定的任务。

每个智能体都有自己的意识、思考、行动方式,即使不同智能体之间的行动策略可能有所不同,但是它们能够在一定程度上相互协调,实现共同的目标。

多智能体系统中的智能体可以包括机器人、无人机、传感器、计算节点等,它们之间通过信息交流和决策协作,共同完成一定的任务。

研究多智能体系统的目的不只是因为多智能体具有高度的自适应性和智能性,而且是因为多智能体系统中的协作是人工智能技术在现实世界中的应用之一,这与现实生活中智能化发展的趋势是一致的。

二、人工鱼群算法基础概念人工鱼群算法是基于生物群体智能的优化算法,模拟了鱼群跳跃寻优的行为。

在算法中,鱼个体通过觅食和聚群两种行为方式进行探测和搜索空间,以达到全局最优目标。

与传统遗传算法、粒子群算法、模拟退火算法等计算机智能算法相比,人工鱼群算法更加稳定、鲁棒和易于实现。

人工鱼群算法的基本流程如下:(1)初始化鱼群,确定群体大小和搜索空间范围;(2)根据目标函数,计算每个鱼个体的适应度值;(3)根据当前的适应度值,进行随机游动;(4)根据新位置,更新适应度值;(5)通过聚群行为相互交流学习,提升整个鱼群的性能。

三、基于多智能体系统的人工鱼群算法研究随着智能化技术的发展,多智能体系统的应用越来越广泛,而人工鱼群算法作为其中一个重要的算法,正在受到越来越多的关注。

在多智能体系统中,人工鱼群算法具有以下特点:(1)可以处理多约束优化问题,将局部探测和全局搜索的过程相互分离,提高了算法的收敛速度和搜索精度;(2)适用于不确定性较高的复杂环境下解决问题,例如路径规划、数据聚类等问题;(3)具有良好的鲁棒性,能够适应环境变化和噪声扰动;(4)能够自适应地调整参数,减少了手动调整的复杂性。

人工鱼群算法

人工鱼群算法

人工鱼群算法基本思想
首先放置36条鱼,每一条鱼分别位于每个格子的中心;依次对鱼执行觅食行为,确定鱼的下—步位置,36条鱼的下一步位置计算完以后,这个过程称为一轮;再执行下一轮的计算,直到鱼群的位置不再改变,算法结束。

算法的细节说明如下:
(1)格子的中心点有鱼表示当前格子内有一个以格子中心点为圆心半径为20 m的空洞。

(2)鱼的位置只能位于格子的中心点,鱼可以从当前格子走到其他任何—个格子的中心点上。

(3) 36条鱼的位置对应空洞的分布情况,空洞的分布确定后可以计算出波在98条线段上的传播时间(理论时间),进而得到理论时问与观测时间的误差,所以36条鱼的位置对应于—个误差。

当36条鱼的位置对应的空洞分布最逼近于空洞分布的真实情况时,得到的误差应是最小的;当误差最小时,此时鱼群位置被认为是真实的空洞位置。

(4)针对一条鱼而言,若它游到下—步后鱼群位置所对应的误差小于当前鱼群位置所对应误差,那么这条鱼就允许移到下一步。

(5)第i条鱼下一步的位置确定以后,第f+1条鱼的位置在第i条鱼下—步位置的基础上计算出来的,即第f+l条鱼的下一步位置依赖于第f条鱼的下一步位置。

本算法中鱼的行动不是同时进行的,而是依次序进行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本人工鱼群算法摘要人工鱼群算法(Artificial Fish-Swarm Algorithm,AFSA)是由李晓磊等在2002年提出的,源于对鱼群运动行为的研究,是一种新型的智能仿生优化算法。

它具有较强的鲁棒性、优良的分布式计算机制易于和其他方法结合等优点。

目前对该算法的研究、应用已经渗透到多个应用领域,并由解决一维静态优化问题发展到解决多维动态组合优化问题。

人工鱼群算法已经成为交叉学科中一个非常活跃的前沿性学科。

本文主要对鱼群算法进行了概述,引入鱼群模式的概念,然后给出了人工鱼的结构,接下来总结出了人工鱼的寻优原理,并对人工鱼群算法的寻优过程进行仿真,通过四个标准函数选取不同的拥挤度因子进行仿真实验,证实了利用人工鱼群算法进行全局寻优确实是有效的。

关键词:人工鱼群算法;拥挤度因子;寻优0 引言动物在进化过程中,经过漫长的优胜劣汰,形成了形形色色的觅食和生存方式,这些方式为人类解决生产生活中的问题带来了不少启发和灵感。

动物不具备复杂逻辑推理能力和综合判断等高级智能,但他们通过个体的简单行为和相互影响,实现了群体的生存和进化。

动物行为具有以下几个特点。

(1)适应性:动物通过感觉器官来感知外界环境,并应激性的做出各种反应,从而影响环境,表现出与环境交互的能力。

(2)自治性:在不同的时刻和不同的环境中能够自主的选取某种行为,而无需外界的控制或指导。

(3)盲目性:单个个体的行为是独立的,与总目标之间没有直接的关系。

(4)突现性:总目标的完成是在个体行为的运动过程中突现出来的。

(5)并行性:各个个体的行为是并行进行的。

人工鱼群算法是根据鱼类的活动特点提出的一种基于动物行为的自治体寻优模式。

1 鱼群模式描述1.1 鱼群模式的提出20世纪90年代以来,群智能(swarm intelligence,SI)的研究引起了众多学者的极大关注,并出现了蚁群优化、粒子群优化等一些著名的群智能方法。

集群是生物界中常见的一种现象,如昆虫、鸟类、鱼类、微生物乃至人类等等。

生物的这种特性是在漫长的进化过程中逐渐形成的,对其生存和进化有着重要的影响,同时这些方式也为人类解决问题的思路带来不少启发和鼓舞。

因此,近年来有不少科学家对生物行为进行了广泛研究,并逐渐形成了一种基于生物行为的人工智能模式。

这种基于生物行为的人工智能模式与经典的人工智能模式是不同的,它不是采取自上而下的设计方法,而是采取自下而上的设计方法:首先设计单个实体的感知、行为机制,然后将一个或一群实体放置于环境中,让它们在与环境的交互作用中解决问题。

它是内嵌的、物化的、自治的、突现的。

一个集群通常定义为一群自治体的集合,他们利用相互直接或间接的通信,从而通过全体的活动来解决一些分布式难题。

在这里,自治体是指在一个环境中具备自身活动能力的一个实体,其自身力求简单,通常不必具有高级智能。

但是,它们的集群活动所表现出来的则是一种高级智能才能达到的活动,这种活动可以称为集群智能。

动物自治体通常指自主机器人或动物模拟实体,它主要用来展示动物在复杂多变的环境中能够自主产生自适应的智能行为的一种方式。

自治体的行为受到环境的影响同时每一个自治体又是环境的构成因素。

环境的下一个状态是当前状态和自治体活动的函数,自治体的下一个刺激是在环境的当前状态和其自身活动的函数,自治体的合理架构就是能在环境的刺激下做出最好的应激活动。

将动物自治体的概念引入鱼群优化算法中,采用自下而上的设计思路,应用基于行为的人工智能方法,形成一种新的解决问题的模式,因为是从分析鱼类活动而出发的,所以称为鱼群模式。

该模式用于寻优中,形成人工鱼群算法。

在一片水域中,鱼生存数目最多的地方一般就是该水域中富含营养物质最多的地方,依据这一点来模仿鱼群的觅食、群聚、追尾等行为,从而实现全局寻优,这就是人工鱼群算法的基本思想。

1.2 人工鱼的结构模型人工鱼(artificial fish,AF)是真实鱼的一个虚拟实体,用来进行问题的分析和说明。

人工鱼的结构模型和行为描述可以借助面向对象的分析方法,如图1.1所示。

可以认为人工鱼就是封装了自身数据和一系列行为的实体,可以通过感官来接收环境的刺激信息,并通过控制尾鳍来做出相应的应激活动。

图1.1 人工鱼的结构人工鱼所在的环境主要是问题的解空间和其人工鱼的状态,它在下一刻的行为取决于目前自身状态和目前环境状态,并且它还通过自身活动来影响环境,进而影响其他同伴的活动。

人工鱼对外界的感知是靠视觉来实现的。

生物的视觉是极其复杂的,为了实施的简单有效,在人工鱼的模型中应用如下方法实现虚拟人工鱼的视觉。

如图1.2所示,一条虚拟人工鱼当前状态为X ,Visual 为其视野范围状态v X 为其某时刻视点所在的位置,若该位置的状态由于当前状态,则考虑向当前位置方向前进一步,即到达状态next X ;若状态v X 不比当前状态更优,则继续巡视视野内的其他位置。

巡视的次数越多,对视野的状态了解的越全面,从而对周围的环境有一个全方位立体的认知,这有助于做出相应的判断和决策。

当然,对于状态多状态无限的环境也不必全部遍历,允许人工鱼具有一定的不确定性的局部寻优,从而对寻找全局最优是有帮助的。

StepVisualX XnextX2X1Xv图1.2 人工鱼视觉的概念 其中,状态()n x x x X ...,,,21=,状态()nv v v V x x x X ...,,,21=,则该过程可以表示如下: ()Rand Visual X X v •+=()X X X X v v next Rand Step XX ••+++=式中,Rand()函数为产生0到1之间的随机数;Step 为移动步长。

由于环境中同伴的数目是有限的,因此在视野中感知同伴(如图1.2中X1,X2等)的状态,并相应的调整自身状态,方法与上式类似。

通过模拟鱼类的四种行为——觅食行为、聚群行为、追尾行为和随机行为,来使鱼类活动在周围的环境。

这些行为在不同的条件下会相互转换。

鱼类通过对行为的评价,选择一种当前最优的行为进行执行,以达到食物浓度更高的位置,这是与鱼类生存有着密切关系的。

算法采用面向对象的技术重构人工鱼的模型,将人工鱼封装成变量和函数两部分。

变量部分包括人工鱼的总数N 、人工鱼个体的状态()n x x x X ...,,,21=(其中()n i x i ,...,2,1=为欲寻优的变量)、人工鱼移动的最大步长Step 、人工鱼的视野Visual 、尝试次数Try_number 、拥挤度因子δ、人工鱼个体i,j 之间的距离j i ij X X d -=。

函数部分包括人工鱼当前所在位置的食物浓度)(Y X f =(Y 为目标函数值)、人工鱼的各种行为函数(觅食行为Prey()、聚群行为Swarm()、追尾行为Follow()、随机行为Move()以及行为评价函数Evaluate())。

通过这种封装,人工鱼的状态可以被其他同伴所感知。

2 人工鱼的四种基本行为算法描述鱼类不具备人类所具有的复杂逻辑推理能力和综合判断能力等高级智能,它们的目的是通过个体的简单行为或通过简单行为而达到或突现出来的。

这里,对人工鱼定义了四种基本行为。

1.觅食行为这是人工鱼的一种基本行为,也就是趋向食物的一种活动,一般可以认为它是通过视觉或味觉来感知水中的食物量或浓度进而来选择趋向的,因此前面讲到的视觉概念可以应用于该行为。

行为描述:设人工鱼i 当前状态为i X ,在其感知范围内随机选择一个状态j X ()Rand V isual i •+=X X j (2.1) 式中,Rand()是一个介于0和1之间的随机数,如果在求极大值问题中,j Y <i Y ,则向该方向前进一步()1Rand Step X X X X X X ti j t i j t t i i ••--+=+()(2.2) 反之,再重新随机选择状态j X ,判断是否满足前进条件,反复尝试Try_number 次后,若仍不满足前进条件,则随机移动一步()X 1Rand Visual X t i ti •+=+ (2.3)伪代码描述如下:Float Artificial_fish::AF_prey(){For(i=0;i<trynumber;i++){Xj=Xi+Rand()*Visual; if(Yi<Yj)i j ji i next X X X X Step Rand X +-••+=()X /i ;ElseStep Rand X i next •+=()X /i}Return AF_fooodconsistence(next i /X );}2 聚群行为鱼在游动过程中会自然的聚集成群,这也是为了保证群体的生存和躲避危害而形成的一种生活习性。

鱼群的形成也是一种突现的生动实例,一般认为鸟类和鱼类聚群的形成并不需要一个领头者,只需每只鸟或每条鱼遵循一些局部的相互作用规则,然后集群现象作为整体模式从个体的局部相互作用中突现出来。

行为描述:自然界中鱼在游动过程中为保证群体的生存和躲避危害,会自然的聚集成群。

在人工鱼群算法中对每条人工鱼做如下规定:一是尽量向邻近伙伴的中心移动;二是避免过分拥挤,设人工鱼当前状态为i X ,探索当前领域内Visual d ij <的伙伴数目f n 及中心位置o X 。

若i f Y n δ>/Y c ,表明伙伴中心有较多食物且不太拥挤,则朝伙伴中心位置方向前进一步 ()X 1Rand Step X X X X X t i c t i c t it i ••--+=+ (2.4) 否则执行觅食行为。

伪代码描述如下:Float Artificial_fish::AF_swarm(){;0;0==c f X nfor(j=0;j<friend_number;j++){If(Visual d j i <,){f n ++;j c X =+X }fn n X =c X ; If(i fY n δ>c Y ); i c i i next X X X X Step Rand X +-••+=c /i ()X ; elseAF_prey();}Return AF_foodconsistence(next i /X );}3. 追尾行为鱼群在游动过程中,当其中一条鱼或几条鱼发现食物时,其邻近的伙伴会尾随其快速达到食物点。

行为描述:追尾行为是一种向邻近的有着最高适应度的人工鱼追逐的行为,在寻优算法中可以理解为是向附近的最优伙伴前进的过程。

设人工鱼i 当前状态为i X ,探索当前邻域内Visual d ij <的伙伴中j Y 为最大值的伙伴j X 。

若i f Y n δ>/Y j ,表明伙伴j X 的状态具有较高的食物浓度并且其周围不太拥挤,则朝j X 的方向前进一步 ()X j 1Rand Step X X X X X ti j t i ti t i ••--+=+ (2.5)否则执行觅食行为。

相关文档
最新文档