1、复杂网络与群体智能复杂网络与群体智能 吴建设 Email: 西安电子科技大学人工智能学院 1 蜜蜂种群行为描述 人工蜂群算法 群体智能产生机理研讨 人工蜂群算法人工蜂群算法 2 群体智能 群体智能是具有社会性的生物,比如蜜蜂、蚂蚁、鱼群、鸟群等,或者其它个体,通过相互作用、相互协同而成为一个群体所涌现出的智能。群体智能是社会学领域长期研究的一个问题,目前也是人工智能领域研究的问题。群体智能研究方向 群体智能产生的机理研究:萤火虫的同步闪亮,蝉的同步鸣叫 模仿群体智能的行为:模仿鸟群的飞行,模仿鱼群的行为,模仿雁群的编队方式。模仿群体智能的算法设计:通过模拟群体智能而解决复杂问题的优化算法设计。
2、蜜蜂种群行为描述蜜蜂种群行为描述 3 1.蜂群的群体智能 蜜蜂种群属于群体智能的一种,其个体行为极其简单,但其个体之间通过相互协作能表现出宏观智能的行为特征,它不是简单的个体集合,而是一种超越个体行为的更高级的表现。蜜蜂种群能够在任何环境下,以极高的效率从食物源(花朵)中采集花蜜,同时它们还能适应环境的改变。2.蜜蜂分类及职责 分类分类:蜜蜂分为雇佣蜂(引领蜂)和非雇佣蜂,非雇佣蜂又分为侦查蜂和跟随蜂 职责职责:雇佣蜂:也称为引领蜂,其与所采集的食物源一一对应。引领蜂储存有某一个食物源的相关信息(相对于蜂巢的距离、方向、食物源的丰富程度等)并且将这些信息以一定的概率与其他蜜蜂分享。非雇佣蜂:又
3、分为侦查蜂、跟随蜂。侦查蜂探测蜂巢周围的新蜜源,而跟随峰在蜂巢等待并通过与引领蜂分享相关信息找到食物源。蜜蜂种群行为描述蜜蜂种群行为描述 4 3.信息交换信息交换 通过跳摇摆舞的形式进行信息的交流,它传达了有关蜂巢周围蜜源的重要信息。4.采蜜过程采蜜过程 蜜粉采蜜时,蜂巢中的一部分蜜蜂作为侦查蜂,不断随机地在蜂巢附近寻找蜜源,如果发现了花蜜量超过某个阈值的蜜源,则此侦查蜂变为雇佣蜂开始采蜜,采蜜后飞回蜂巢,此时该雇佣蜂有三种选择:放弃食物源成为非雇佣蜂;跳摇摆舞将食物源的信息与跟随蜂交流,并招募一些跟随蜂一起返回原食物源采蜜,跟随蜂数量取决于蜜源质量;继续在同一个食物源采蜜而不进行招募。通过该
4、方式,蜂群能快速且有效地找到花蜜量最高的蜜源。蜜蜂种群行为描述蜜蜂种群行为描述 5 1人工蜂群算法概述人工蜂群算法概述 人工蜂群算法(artificial bee colony algorithm,ABC算法)是一种模拟实际蜜蜂的采蜜机制的算法。由三部分组成:食物源、雇佣蜂和非雇佣蜂,其中整个蜂群的目标是寻找花蜜量最大的蜜源(即食物源)。食物源:蜜源,一个食物源就是一个解向量,蜜源的优劣程度即为可行解的好坏程度。雇佣蜂:雇佣蜂(引领蜂)与食物源的位置相对应,一个食物源对应一个引领蜂。在ABC算法中,食物源的个数与引领蜂的个数相等。其任务是发现食物源信息,并根据食物源的优劣程度(适应值的大小)采
5、用轮盘赌的方式雇佣跟随蜂采蜜(搜索最优解)。人工蜂群算法人工蜂群算法 6 1人工蜂群算法概述人工蜂群算法概述 人工蜂群算法(artificial bee colony algorithm,ABC算法)是一种模拟实际蜜蜂的采蜜机制的算法。由三部分组成:食物源、雇佣蜂和非雇佣蜂,其中整个蜂群的目标是寻找花蜜量最大的蜜源(即食物源)。食物源:雇佣蜂:非雇佣蜂:包括侦査蜂、跟随蜂。侦查蜂是在蜂巢附近寻找新的食物源,跟随蜂在蜂巢的招募区内根据引领蜂提供的蜜源信息来选择食物源。若一个食物源多次更新没有改进,则放弃该食物源,此食物源对应的引领蜂变成侦査蜂,随机搜索新的食物源。人工蜂群算法人工蜂群算法 7 2
6、 人工蜂群算法原理人工蜂群算法原理 (1)食物源初始化 食物源 i,i=1.N,的质量对应于解的适应度,N为食物源的个数。设求解问题的维数为 D,在第t次迭代食物源i的位置表示为:其中,Ld和Ud分别代表搜索空间的下限。食物源i的初始位置按照(2-1)式在搜索空间随机产生:(2-1)人工蜂群算法人工蜂群算法 8 12,.ttttiiiiDXxxx(,)idddxL U),)(1,0(dddidLUrandLx2 人工蜂群算法原理人工蜂群算法原理 (2)食物源的更新 在开始搜索阶段,引领蜂在食物源i的周围根据(2-2)式搜索一个新的食物源。(2-2)其中j