人工鱼群算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图2 人工鱼视觉的概念
其中Rand()函数为产生0到1之间的随机 数;Step为步长
➢人工鱼封装成变量部分和函数部分
变量部分:人工鱼的总数N、人工鱼个体的状态 X=(x1,x2,…xn)[其中xi(i=1,2…n)为欲寻优的变 量]、人工鱼移动的最大步长Step、人工鱼的视野 Visual、尝试次数Try-number、拥挤度因子δ、人 工鱼个体i,j之间的距离
否则执行觅食行为。
3追尾行为Follow():指鱼向其可视区域内的 最优方向移动的一种行为。 人工鱼Xi搜索当前邻域内( dij <Vaisual ) 的伙伴中的函数Yj最优伙伴Xj,如果 Yj/ nf > δYi,表明最优伙伴的周围不太拥挤,则Xi 朝此伙伴移动一步:
否则执行觅食行为。
4 随机行为Move():指人工鱼在视野内随 机移动,它是觅食行为的一个缺省行为。 当发现食物时,会向食物逐渐增多的方向 快速的移动。
• 1)适应性:动物通过感觉器官来感知外界环境, 并应激性的做出各种反应,从而影响环境,表现 出与环境交互的能力。
• 2)自治性:在不同的时刻和环境中能够自主地选 取某种行为,而无需外界的控制和指导。
• 3)盲目性:单个个体的行为是独立的,与总目标 之间没有直接关系。
• 4)突现性:总目标的完成是在个体行为的运动过 程中突现出来的
3)迭代终止条件
通常的方法是判断连续多次所得值的均方 差小于允许的误差;或判断聚集于某个区域 的人工鱼的数目达到某个比率;或连续多次 所获得的均值不超过已寻找的极值;或限制 最大迭代次数。若满足终止条件,则输出公 告牌的最有记录;否则继续迭代。
分别计算它们的目标函数值进行比较,如果发现Yj比Yi优 ,则Xi向Xj的方向移动一步;
否则,Xi继续在其视野内选择状态Xj,判断是否满足前进 条件,反复尝试Try-number次后,仍没有满足前进条件, 则随机移动一步使Xi到达一个新的状态。表达式如下:
2聚群行为Swarm():鱼在游动过程中为了保证自 身的生存和躲避危害会自然地聚集成群 。 鱼聚群时所遵守的规则:一是尽量向临近伙伴 的中心移动;二是避免过分拥挤。 人工鱼Xi搜索当前邻域内(dij <Vaisual)的伙 伴数目nf及中心位置Xc,若 Yc/ nf > δYi,表明伙 伴中心位置状态较优且不太拥挤,则Xi朝伙伴的 中心位置移动一步,
4 人工鱼群算法的寻优原理
人工鱼群算法在寻优的过程中,可能会集结在几 个局部极值域的周围,使人工鱼逃出局部极值域, 实现全局寻优的因素主要有: ① 觅食行为中重复次数较少时,为人工鱼提供了随机 移动的机会,从而可能跳出局部极值域 ② 随机步长使得人工鱼在前往局部极值的途中,有可 能转向全局极值 ③ 拥挤度因子限制了聚群的规模,使得人工鱼能够更 广泛的寻优 ④ 聚群行为能够促使少数陷于局部极值的人工鱼趋向 全局极值的人工鱼方向聚集,从而逃出局部极值 ⑤ 追尾行为加快了人工鱼向更优状态游动。
感知 行为
行为 评价 执行
可通过感官来接受环境的刺激 信息,并通过控制尾鳍来做出 相应的应激活动。
人工鱼所在的环境主要 是问题的解空间和其他人工鱼
的状态,它在下一刻的行为取
图1 人工鱼的结构
决于目前自身的状态和环境的 状态,并且他还通过自身的活
动来影响环境,进而影响其他
同伴的活动。
人工鱼对外的感知是靠视觉来实现的,人工 鱼的模型中应用如下方法实现虚拟人工鱼的视觉 。
基本人工鱼群算法
目录
• 1 引言 • 2 鱼群模式概论 • 3 人工鱼群的四种基本行为算法描述 • 4 人工鱼群算法的寻优原理 • 5 参数设置性能 • 6 拥挤度因子对优化的影响 • 7 人工鱼群算法的特点
1 引言
动物在进化的过程中,经过优胜劣汰,形成了 各种觅食和生存方式。他们不具备复杂逻辑能力 和综合判断能力等高级技能,但他们通过个体的 简单行为和相互影响,实现群体的生存和进化。 动物行为具有以下特点:
采用自下而上的设计方法,首先设计单个 实体的感知、行为机制,然后将一个或一群 实体放置环境中,让它们在环境的交互作用 中解决问题。
• 人工鱼群算法(artificial fish-swarm algorithm, AfSA)描述
在一片水域中,鱼存在的数目最多的地方就 是本水域中富含营养物质最多的地方,依据这一 特点来模仿鱼群的觅食,聚群,追尾等行为,从 而实现全局最优,这就是鱼群算法的基本思想。
• 5)并行性:各个个体的行为是并行的
人工鱼群算法是根据鱼类的活动特点提出的 一种基于动物行为的自治寻优模式。
2 鱼群的模式概论
• 2.1 鱼群模式的提出 20世纪90年代以来,群智能的研究引起了
众多学者的极大关注,出现了蚁群优化、粒 子群优化等一些著名的群智能方法。 基于生物行为的人工智能模式:
鱼类的活动中,觅食行为,聚群行为,追 尾行为和随机行为与寻优命题的解决有较密切的 关系,如何利用简单有效的方式来构造实现这些 行为将是算法实现的主要问题。
• 2.2 人工鱼的结构模型
wk.baidu.com
人工鱼是真实鱼的一个虚拟的实体,用来进行
问题的分析和说明。
人工鱼就是一个封装了自
身数据和一系列行为的实体,
参数 数据
1)公告牌
是记录最优人工鱼个体状态的地方。每条人工 鱼在执行完一次迭代后将自身当前状态与公告板中 记录的状态进行比较,如果优于公告板中的状态则 用自身状态更新公告牌中的状态,否则公告牌的状 态不变。当整个算法的迭代结束后,输出公告板的 值,就是我们所求的最优值。
2)行为评价:是用来反映鱼自主行为的一种方式。 在解决优化问题时选用两种方式评价,一种是选择 最优行为执行;另一种是选择较优方向。对于解决 极大值问题,可以使用试探法,即模拟执行聚群、 追尾等行为,然后评价行动后的值选择最优的来执 行,缺省的行为方式为觅食行为。
函数部分:人工鱼当前所在位置的食物浓度表示 为Y=f(X)(Y为目标函数值)、人工鱼各种行为函 数[觅食行为Prey()、聚群行为Swarm()、追尾行 为Follow()、随机行为Move()以及行为评价函数 Evaluate()]
3 人工鱼的四种基本行为算法描述
1觅食行为Prey():指鱼循着食物多的方向游动的一种行 为,人工鱼Xi在其视野内随机选择一个状态Xj,
相关文档
最新文档