- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工鱼群算法实例 觅食活动:“鱼”随机从自身取出visual个位(visual为可视域),对其进行随机变换产生一个新状态,若新状态优于原状态则向新状态移动,否则再次进行觅食活动,重复trynumber次后如果还是没有找到更优的状态则进行随机移动(trynumber视搜索空间大小而定)。 人工鱼群算法实例 算法中设有公告板,每次搜索完成后用公告板同鱼群中最优的个体进行比较,若此个体优于公告板则更新公告板。算法在以下三种情况任何一种情况下结束,1 公告板达到教师的要求;2 搜索次数达到规定的最大搜索次数;3 搜索时间达到规定的最大搜索时间。 人工鱼群算法概述 综上,AFSA的优点有以下几点: 1)只需比较目标函数值,对目标函数的性质要求不高。 2)对初值的要求不高,随机产生或设为固定值均可。 3)对参数设定的要求不高,容许范围大。 4)具备并行处理能力,寻优速度较快。 5)具备全局寻优能力,能快速跳出局部极值点。 人工鱼群算法(AFSA)及其在智能组卷中的应用 自动化工程学院 内容纲要 1. AFSA背景 2. AFSA概述 3. AFSA实例 人工鱼群算法的背景 1.1群智能(SI) Swarm Intelligence (SI)的概念最早由Beni、Hackwood在分子自动机系统中提出。分子自动机中的主体在一维或二维网格空间中与相邻个体相互作用,从而实现自组织。1999年,Bonabeau、Dorigo和Theraulaz 在他们的著作《Swarm Intelligence: From Natural to Artificial Systems》 中对群智能进行了详细的论述和分析,给出了群智能的一种不严格定义:任何一种由昆虫群体或其它动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群智能。 人工鱼群算法的背景 Swarm可被描述为一些相互作用相邻个体的集合体,蜂群、蚁群、鸟群、鱼群都是Swarm的典型例子。 人工鱼群算法的背景 1.2 人工生命 具有某些生命基本特征的人工系统。包括两方面的内容: 1、研究如何利用计算技术研究生物现象; 2、研究如何利用生物技术研究计算问题。 我们关注的是第二点。 如何利用生物技术研究计算问题是人工生命研究的重要方向,现已有了很多源于生物现象的计算技巧, 例如人工神经网络是简化的大脑模型,遗传算法是模拟基因进化过程的。 2003年李晓磊、邵之江等提出的人工鱼群算法(Atificial Fish-Swarm Algorithm,AFSA),它利用自上而下的寻优模式模仿自然界鱼群觅食行为,主要利用鱼的觅食、聚群和追尾行为,构造个体底层行为;通过鱼群中各个体的局部寻优,达到全局最优值在群体中凸现出来的目的。在基本运算中引入鱼群的生存机制、竞争机制以及鱼群的协调机制,提高算法的有效效率。 人工鱼群算法概述 人工鱼群算法概述 2.1 AFSA基本思想 在一片水域中,鱼存在的数目最多的地方就是本水域中富含营养物质最多的地方,依据这一特点来模仿鱼群的觅食,聚群,追尾等行为,从而实现全局最优,这就是鱼群算法的基本思想。鱼类的活动中,觅食行为,聚群行为,追尾行为和随机行为与寻优命题的解决有较密切的关系,如何利用简单有效的方式来构造实现这些行为将是算法实现的主要问题。 人工鱼群算法概述 2.2 AFSA基本概念 假设在一个n维的目标搜索空间中,有N条组成一 个群体的人工鱼,每天人工鱼个体的状态可表示为 向量X=(x1,x2,……xn),其中xi(i=1,……n)为欲寻 优的变量:人工鱼当前所在位置的食物浓度表示为 Y=f(X),其中Y为目标函数;人工鱼个体间距离表示 为 d=||Xi-Xj ||; visual表示人工鱼的感知范围,step 为人工鱼移动步长,δ为拥挤度因子;trynumber 表示人工鱼每次觅食最大试探次数。 人工鱼群算法概述 2.3 AFSA行为描述 (1)随机行为(AF-Random):指人工鱼在视野内随机移动的行为。 (2)觅食行为(AF-prey):指鱼循着食物多的方向游动的一种行为,人工鱼Xi在其视野内随机选择一个状态Xj,分别计算它们的目标函数值进行比较,如果发现Yj比Yi优,则Xi向Xj的方向移动一步;否则,Xi继续在其视野内选择状态Xj,判断是否满足前进条件,反复尝试trynumber次后,仍没有满足前进条件,则随机移动一步使Xi到达一个新的状态。表达式如下: 人工鱼群算法概述 float Artificial_ fish::AF_ prey() { for(i=
文档评论(0)