社会协作的多智能体进化
西安电子科技大学学报(自然科学版) 第36卷276
312 局部环境定义
多智能体协作进化算法中,生存在网格上的智能体通过与其局部环境内的智能体相互作用来达到整体进化的目的,图2为智能体局部环境变化的示意图.31211 初始局部环境
定义3 对生存在网格位置(i,j)上的每个智能体agenta,其初始局部环境包括位置上与其相邻的4个智能
),(i″)),
体,表示为neighbor(a)=((i′,j),(i,j′,j),(i,j″
且初始可信任度均为0.
i-1 ,i≠1j-1 ,j≠1
其中i′=, j′=,
lat ,i=1lat ,j=1i″=
i+1 ,
i≠lati=lat
图1 智能体网格结构图
1 ,
, j″=
j+1 ,j≠latj=lat
1 ,
.
图2 智能体局部环境变化示意图
31212 局部环境更新
随着智能体与智能体之间以及智能体与环境之间不断的相互作
用,其局部感知环境也在不断地发生变化.文献[8]中指出,agent象,可通过构造agent社会关系网模型来表示协作agent.,模型中熟人圈子的扩充方式,Strategy1:令a=(,neighbor(a)=(l1,l2,…,lm),在网格中随机选取位于(i,j),即neighbor(a)=(l1,l2,…,lm,b),其中trust2degree(a,i)=0.
Strategy2:假设b∈neighbor(a),c∈neighbor(b),有trust2degree(a,b)=1和trust2degree(b,c)=1,则
c∈neighbor(a),且trust2degree(a,c)=0.
类似地,其局部环境缩减方式为:假设neighbor(a)=(l1,l2,…,lm,b),若trust2degree(a,b)=-1,则neighbor(a)=(l1,l2,…,lm).
智能体局部环境的扩充和缩减中涉及到可信任度trust2degree,该值记录了协作agent之间的历史活动信息,同时随着智能体的活动不断改变,具体改变方式在31312中进行说明.313 智能体行为
智能体的行为包括4种:竞争算子、协作算子、变异算子和自学习算子.其中竞争算子和协作算子作用在agent与其局部环境中的agent之间,实现agent的竞争和协作行为,变异算子和自学习算子是作用在单个agent之上,实现agent利用自身知识的学习.31311 竞争算子
竞争算子的作用是剔除网格上能量较低的智能体,提高整体的能量水平.假设执行竞争操作的智能体为agenta,其局部环境中能量最高的智能体为agentm,若energy(a)<energy(m),则执行竞争操作.借鉴协调勘探和开采的占据策略[9],定义占据概率Po,分别选择不同的策略产生新的智能体来替代agenta.假设body(a)=(a1,a2,…,an),body(m)=(m1,m2,…,mn),新产生的记为agentc,则body(c)=(c1,c2,…,cn),
两种占据策略描述如下:
Strategy1:启发式交叉,该方式有利于保留agenta的某些信息;
,
ck=
xk ,
mk+U(-1,1)×(mk-ak) ,
(mk+U(-1,1)×(mk-ak))< ,
(mk+U(-1,1)×(mk-ak))>xk , k=1,2,…,n ,
其他.
(3)
Strategy2:逆转算子,该方法可以有效地将某一维的最优值很快扩散到整个空间当中.