您好,欢迎访问三七文档
群智能(SwarmIntelligence)什么是群?蚁群鱼群鸟群蜂群“群”的特征相互影响的相邻的个体个体的行为简单既有竞争又有协作智能化的集体行为个体之间不仅可以交换信息而且可以处理信息,根据信息来改变自身行为没有一个集中控制中心,分布式,自组织。作为群体协作工作时,能够突显出非常复杂的行为特征-智能行为,群智能群智能(SwarmIntelligence)的提出和发展1989年加利福尼亚大学的Beni(贝尼)、Hackwood教授在其细胞自动机中首次提出群智能的概念。细胞自动机中的主体在一维或二维网格空间中与相邻个体相互作用,从而实现自组织。任何一种由昆虫群体或其它动物社会行为机制而激发设计出的算法或分布式解决问题的策略均属于群智能。1999年,Bonabeau(伯纳堡)、Dorigo和Theraulaz在他们的著作“SwarmIntelligence:FromNaturaltoArtificialSystems,群智能:从自然到人工系统”Beni(贝尼)Bonabeau(伯纳堡)群智能(SwarmIntelligence)的提出和发展2001年肯尼迪和艾伯哈特合写了一本书“群智能”群智能发展的历程碑赞同伯纳堡关于群智能的基本定义精神最重要的观点:智能源于社会性的相互作用。群智能发展的基石。认为暂时无法给出合适的定义群智能已经成为有别于传统人工智能中符号主义和链接主义的一种新的关于人工智能的研究路线SwarmIntelligence(续)《SwarmIntelligence》最重要的观点是:Mindissocial,也就是认为人的智能是源于社会性的相互作用,文化和认知是人类社会性不可分割的重要部分,这一观点成为了群智能发展的基石。群智能已成为有别于传统人工智能中连接主义和符号主义的一种新的关于智能的描述方法。群智能的思路,为在没有集中控制且不提供全局模型的前提下寻找复杂的分布式问题求解方案提供了基础。在计算智能领域已取得成功的两种基于SI的优化算法是蚁群算法和粒子群算法。SwarmIntelligence(续)目前,已有的基于SI的优化算法都是源于对动物社会通过协作解决问题行为的模拟,它主要强调对社会系统中个体之间相互协同作用的模拟。这一点与遗传算法GeneticAlgorithms-GA不同,GA是对生物演化中适者生存的模拟。与GA一样的是,SI的目的并不是为了忠实地模拟自然现象,而是利用他们的某些特点去解决实际问题。另一个与GA的相同点是,基于SI的优化算法也是概率搜索算法。SwarmIntelligence(续)目前,已有的群智能理论和应用研究证明群智能方法是一种能够有效解决大多数优化问题的新方法,更重要是,群智能潜在的并行性和分布式特点为处理大量的以数据库形式存在的数据提供了技术保证。无论是从理论研究还是应用研究的角度分析,群智能理论及应用研究都是具有重要学术意义和现实价值的。SwarmIntelligence(续)由于SI的理论依据是源于对生物群社会性的模拟,因此其相关数学分析还比较薄弱,这就导致了现有研究还存在一些问题。数学理论基础薄弱:群智能算法的数学理论基础相对薄弱,缺乏具备普遍意义的理论性分析,算法中涉及的各种参数设置一直没有确切的理论依据,通常都是按照经验型方法确定,对具体问题和应用环境的依赖性比较大。结果的可信性:同其它的自适应问题处理方法一样,群智能也不具备绝对的可信性,当处理突发事件时,系统的反应可能是不可测的,这在一定程度上增加了其应用风险。另外,群智能与其它各种先进技术(如:神经网络、模糊逻辑、支持向量机等)的融合还不足。无智能或简单智能的主体通过任何形式的聚集协同而表现出智能行为的特性。这里关心的不是个体之间的竞争,而是它们之间的协同(获取并共享信息)。蚂蚁:信息素鱼群:速度、方向、位置等,群体最佳和个体最佳位置鸟群:速度、方向、位置等。SwarmIntelligence(续)基于群智能的优化算法典型算法蚁群算法(蚂蚁觅食)粒子群算法(蜂群或鸟群觅食)鱼群算法(鱼群觅食)优点灵活性稳健性自组织潜在的并行和分布已有的群智能理论的研究和应用证明群智能方法是一种能够有效解决大多数优化问题的新方法。蚁群算法1992年由意大利的学者多里戈提出模拟自然界中蚂蚁寻找从巢穴到食物的最佳路径的行为一种新型的优化算法蚁群的自组织行为1989年,戈斯等研究蚂蚁觅食的“双桥实验”通过遗留在来往路径上的信息素(Pheromone)的挥发性化学物质来进行通信和协调。蚁群算法的起源蚁穴食物蚁群算法的起源增加桥的难度分时段记录各路径上的蚂蚁数量神奇的信息素蚂蚁觅食的过程随机移动遇到食物返回的路上分泌信息素信息素:易挥发性的化学物质在回家的路上留下信息素其它蚂蚁发现留有信息素的路径结束漫游,沿着该路径移动,遇到食物同样返回途中分泌信息素。信息素会随着时间慢慢挥发,关键路径上的信息素相对浓度高初始运行一段时间蚂蚁系统多里戈在其博士论文中提出了一种蚂蚁系统(ANTSYSTEMAS),以解决旅行商问题(TSP)一个售货员希望去访问若干个城市,开始和结束于同一城市,每两个城市之间都有一条直接通路,怎样行走才能使走过的路径最短?蚁群算法蚂蚁在两个城市之间移动两个城市之间的信息素越多,蚂蚁就越有可能选择它们之间的路径能够成功完成遍历的蚂蚁会在路径上留下信息素,路径越短留下的信息素会越多。蚁群算法原理基于蚂蚁觅食时的最优路径选择问题,可以构造人工蚁群,来解决最优问题。人工蚁群中把具有简单功能的工作单元看作蚂蚁人工蚂蚁与自然蚁群相似之处:优先选择信息素浓度大的路径区别:人工蚂蚁有一定的记忆能力,能够记忆已经访问过的节点人工蚁群在选择下一条路径的时候是按一定的算法有意识的寻找最短路径,而不是盲目的。蚁群算法中的各种行为因子范围:蚂蚁观察到的范围是一个方格世界,蚂蚁有一个参数为速度半径,那么它能观察到的范围以及能够移动的范围都会发生在这样的一个范围之内环境:蚂蚁所在的环境是一个虚拟的世界,其中有障碍物,有其他的蚂蚁,还有信息素,信息素可以设计为单一种类也可以多种类(如两种),一种是找到食物的蚂蚁撒下的食物信息素,另外一种是找到食物的蚂蚁洒下的蚁窝的信息素。每个蚂蚁都仅仅能感知它范围内的环境信息。同时环境也以一定的速率让信息素消失。蚁群算法中的各种行为因子觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则通过比较在能感知的范围内的信息素的多少,然后它会向信息素最多的方向移动。同时每只蚂蚁还以小概率来进行“犯错”。从而并不总是向信息素最多的方向移动。蚂蚁找到窝的规则和上面的相同,只不过它只对窝的信息素进行反应,而对食物信息素没有任何反应移动规则:每只蚂蚁都向信息素最多的方向前进,并且在运动方向上有一个随机的小扰动。为了防止蚂蚁原地转圈,它会记住刚才走过了那些点,如果发现要走的下一个点已经走过了,它就会尽量避开。蚁群算法中的各种行为因子避障规则:如果蚂蚁要移动的方向有障碍物挡住,它会随机的选择另一个方向,并且有信息素指引的话,它会按照觅食的规则进行移动信息素规则:每只蚂蚁在刚找到食物或者蚁窝的时候散发的信息素最多,并随着它走远的距离,散播的信息素越来越少。蚁群算法最初提出的蚂蚁系统有三个版本,在不大于75个城市的系统中,这三个基本算法的求解能力比较理想。后来提出了改进算法精英策略,对所有已发现的最好路径给予额外的增强蚁群系统负反馈机制,当一只蚂蚁由一个节点移动到另一个节点时,该路径上的信息素被相应的消除一部分以减少已经选择过的路径再次被选择的概率。蚁群算法的应用蚁群算法具有广泛的应用价值是群智能研究领域第一个取得成功的实例一度成为群智能的代名词蚁群算法已被广泛应用于许多优化问题中聚类问题路由算法设计图着色车辆调度机器人路径规划蚁群算法应用举例-聚类问题起源于对蚁群蚁卵的分类研究基本思想将待聚类数据随机地分散在一个二维平面上虚拟蚂蚁分布在空间内,并以随机方式移动当一个蚂蚁遇到一个待聚类数据时即将物体拾起并继续随机移动若运动路径附近的物体与背负的物体相似性高于设置的标准则将其放到该位置,然后继续移动。重复上述过程蚁群算法的应用聚类问题-四色实验蚁群算法的应用聚类问题-八色实验蚁群算法应用举例-路由问题HP公司和英国电信公司在90年代中后期都开展了这方面的研究设计了蚁群路由算法(ANTCOLONYROUTING)蚁群算法的应用人工生命Tom-Cat按照一定规则运动的个体方格的不同类型:平坦、泥泞、陷阱、沼泽等粒子群优化算法(ParticleSwarmOptimization,PSO)由JamesKenney(社会心理学博士)肯尼迪和RussEberhart(电子工程学博士)艾伯哈特,1995年提出模拟鸟群或蜂群的觅食行为基本思想:通过群体中个体之间的协作和信息共享来寻找最优解,肯尼迪鸟类的觅食一群鸟在随机的搜索食物,在一块区域里只有一块食物,所有的鸟都不知道食物在哪。但是它们知道自己的当前位置距离食物有多远。那么这群鸟找到食物的最优策略是什么?群体协作-获取信息、共享信息粒子群优化算法粒子群优化算法每个鸟抽象为一个无质量,无体积的“粒子”每个粒子有一个适应度函数以模拟每只鸟与食物的距离每个粒子有一个速度决定它的飞行方向和距离,初始值可以随机确定每一次单位时间的飞行后,所有粒子分享信息,下一步将飞向自身最佳位置和全局最优位置的加权中心粒子群优化算法流程PSO算法初始化为一群随机粒子,通过迭代找到最优。每次迭代中,粒子通过跟踪“个体极值(pbest)”和“全局极值(gbest)”来更新自己的位置。粒子群优化算法粒子速度和位置的更新假设在D维搜索空间中,有m个粒子;其中第i个粒子的位置为矢量其飞翔速度也是一个矢量,记为第i个粒子搜索到的最优位置为整个粒子群搜索到的最优位置为第i个粒子的位置和速度更新为:Ddmivxxxprandcxprandcwvvkidkidkidkidgbestkididkidkid,,2,1;,,2,1)()()()(11211),,,(21iDiiipppp),,,(21gbestDgbestgbestgbestpppp),,,(21iDiiixxxx),,,(21iDiiivvvv粒子群优化算法粒子速度和位置的更新其中,w称为惯性权重,c1和c2为两个正常系数,称为加速因子。将vidk限制在一个最大速度vmax内。Ddmivxxxprandcxprandcwvvkidkidkidkidgbestkididkidkid,,2,1;,,2,1)()()()(11211Ddmivxxxprandcxprandcwvvkidkidkidkidgbestkididkidkid,,2,1;,,2,1)()()()(11211“惯性部分”,对自身运动状态的信任“认知部分”,对粒子本身的思考,即来源于自己经验的部分“社会部分”,粒间子的信息共享,来源于群体中的其它优秀微粒的经验粒子群优化算法基本粒子群算法描述算法流程StartInitializeparticleswithrandompositionandvelocityvectors.Foreachparticle’sposition(xi)evaluatefitnessIffitness(xi)betterthanfitness(p)thenp=xiLoopuntilallparticlesexhaustSetbestofPsasgBestUpdateparticlesvelocityandpositionLoopuntilmaxiterStop:givinggBest,optimalsolution.基本粒子群算法描述粒子群优化算法惯性权重w使粒子保持运动惯性,使其有扩展搜索空间的趋
本文标题:粒子群优化算法
链接地址:https://www.777doc.com/doc-4355504 .html