自然界中各种生物体均具有一定的群体行为,而人工生命的主要研究领域之一是探索自然界生物的群体行为,从而在计算机上构建其群体模型。自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣,生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体遵循:
(1) 避免与邻域个体相冲撞;
(2) 匹配邻域个体的速度;
(3) 飞向鸟群中心,且整个群体飞向目标。
仿真中仅利用上面三条简单的规则,就可以非常接近的模拟出鸟群飞行的现象。1990年,生物学家Frank Heppner也提出了鸟类模型,它的不同之处在于鸟类被吸引飞到栖息地。在仿真中,一开始每一只鸟都没有特定的飞行目标,只是使用简单的规则确定自己的飞行方向和飞行速度(每一只鸟都试图留在鸟群中而又不相互碰撞),当有一只鸟飞到栖息地时,它周围的鸟也会跟着飞向栖息地,这样,整个鸟群都会落在栖息地。
1995年,美国社会心理学家James Kennedy 和电气工程师Russell Eberhart 共同提出了粒子群算法,其基本思想是受对鸟类群体行为进行建模与仿真的研究结果的启发。他们的模型和仿真算法主要对Frank Heppner 的模型进行了修正,以使粒子飞向解空间并在最好解处降落。Kennedy 在他的书中描述了粒子群算法思想的起源。自20世纪30年代以来,社会心理学的发展揭示:我们都是鱼群或鸟群聚集行为的遵循者。在人们的不断交互过程中,由于相互的影响和模仿,他们总会变得更相似,结果就形成了规范和文明。人类的自然行为和鱼群及鸟群并不类似,而人类在高文认知空间中的思文轨迹却与之非常类似。思文背后的社会现象远比鱼群和鸟群聚集过程中的优美动作复杂的多:首先,思文发生在信念空间,其文数远远高于3;其次,当两种思想在认知空间会聚于同一点时,我们称其一致,而不是发生冲突。
2.2 算法原理
PSO从这种模型中得到启示并用于解决优化问题。PSO 中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适值( fitness value) ,每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。
PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己;第一个就是粒子本身所找到的最优解,这个解称为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。
假设在一个 文的目标搜索空间中,有 个粒子组成一个群落,其中第 个粒子表示为一个 文的向量
,
第 个粒子的“飞行 ”速度也是一个 文的向量,记为
,
第 个粒子迄今为止搜索到的最优位置称为个体极值,记为
,
整个粒子群迄今为止搜索到的最优位置为全局极值,记为
在找到这两个最优值时,粒子根据如下的公式(2.1)和( 2.2)来更新自己的速度和位置:
(2.1)
(2.2)
其中: 和 为学习因子,也称加速常数(acceleration constant), 和 为0,范围内的均匀随机数。式(2.1)右边由三部分组成,第一部分为“惯性(inertia)”或“动量(momentum)”部分,反映了粒子的运动“习惯(habit)”,代表粒子有文持自己先前速度的趋势;第二部分为“认知(cognition)”部分,反映了粒子对自身历史经验的记忆(memory)或回忆(remembrance),代表粒子有向自身历史最佳位置逼近的趋势;第三部分为“社会(social)”部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向群体或邻域历史最佳位置逼近的趋势,根据经验,通常 。 。 是粒子的速度, , 是常数,由用户设定用来限制粒子的速度。 和 是介于 之间的随机数。
- 上一篇:无线自组网络下隐蔽信道的研究与实现
- 下一篇:PLC电动液压人防区间隔断门原地系统设计
-
-
-
-
-
-
-
现代简约美式风格在室内家装中的运用
C++最短路径算法研究和程序设计
上市公司股权结构对经营绩效的影响研究
NFC协议物理层的软件实现+文献综述
巴金《激流三部曲》高觉新的悲剧命运
江苏省某高中学生体质现状的调查研究
浅析中国古代宗法制度
中国传统元素在游戏角色...
高警觉工作人群的元情绪...
g-C3N4光催化剂的制备和光催化性能研究