·32 智能系统学报 第2卷 j][i]=2;} if(C0L_2[i][0]==0){ 易知,该算法的复杂度可控制在O()之内. forG=0j<事件个数j++){ 4.2趋势分析算法 RES_T[i][j]=CHA[i][0]*COL_1[i][j] 准备工作:建立一个名为C0L的二维数组,初 +CHA[i][1]*AFF[j]; 始化各群体Agent内部的表态结果,CoL[i]j/表 If(RES_T[i][j]>m2)(RES[i][j]=1; 示群体i中支持事件j的个数.建立一个名为CHA Else(RES[i][j]=-1;) 的二维数组,初始化各群体Agent的性格特征, CHAi]I0]表示该群体i的自主度,CHA]1/表 示该群体1的从众度.同时,由用户设定文中所提到 的2个阈值6,6,分别用m,m表示.分别建立二 RES存储趋势分析后群体的态度 维数组COL_1、COL_2和一维数组AFF来存储中 以上每一步都在双重循环内完成,所以整个算 间状态.建立二维数组RES来存储计算结果」 法的复杂度将被控制在O()中.通过图8可以直 算法: 观地看出该算法的流程 ①or(i=0;i<群体个数,i++){ MAS系统 关于事件支持度 forG=0;j<事件个数;j++){ COL_1[i][U]=COL[i][j/群体i中A- 事件影响度 关于事件态度 gent得总数; 群体趋势分析 } 图8算法流程 COL1存储群体关于事件的支持度 Fig 8 Flow of algorithm ②for(i=0;i<群体个数;i++){ MAX=COL_1[i][0];NO=0; 5结束语 forG=0:j<事件个数j++){ 本文研究在冲突环境中持中立态度Agent未 if (COL_1[i][j]>MAX)(MAX=COL_1 来发展趋向.建立了以Agent群体为冲突粒度的 [i]j]:N0=j;} MAS冲突模型,该冲突模型由初始模型和基本模型 } 2部分组成,在模型框架内讨论了Agent群体特别 if (MAX>=ml){ 是持“中立”态度Agent群体未来趋向的计算问题, forG=0;j<事件个数:j++){ 以本文模型为基础,设计相应算法和实现了一个实 ifG==NO){CoL_2[i][N0]=1;} 验原型.本文结果推广到更为一般情形,例如发生事 else(COL_2[i][j])=-1;} 件带有权重等,限于篇幅,将另文讨论 else forG=0;j<事件个数;j++){COL_2[i] 参考文献: [0]}=0;} [1]MICHAEL W.An introduction to multiAgent systems COL_2存储群体关于事件的态度 [M].New York :John Wiley Sons,Inc,2002 ③orG=0;j<事件个数j++){ [2]PAWLAK Z.Rough sets [J ]International Journal of for(i=0;i<群体个数;i++){ Computer and Information Sciences,1982,11:341- NUMI=0;NUMO=0; 356. if(COL_2[i][j]==1){NUM1++;} [3]PA WLA K Z.An inquiry into anatomy of conflicts [J ] if(COL_2[i][j]==0){NUM0++;} Journal of Information Sciences,1998,109:65-78. AFFj]=NUM1/(群体总数-NUMO); [4]PAWLAK Z.Some remarks on conflict analysis [J ]Eu AFF存储各个事件影响度 ropean Journal of Operational Research(Elsevier),2005, ④or(i=0;i<群体个数;i++){ 166:649.654 1994-2008 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net[j ][i ] = 2 ;} 易知 ,该算法的复杂度可控制在 O( n 2 ) 之内. 412 趋势分析算法 准备工作 :建立一个名为 COL 的二维数组 ,初 始化各群体 Agent 内部的表态结果 ,COL [i ][j ]表 示群体 i 中支持事件 j 的个数. 建立一个名为 CHA 的二维数组 , 初始化各群体 Agent 的性格特征 , CHA[i][0 ]表示该群体 i 的自主度 , CHA[i][1 ]表 示该群体 i 的从众度. 同时 ,由用户设定文中所提到 的 2 个阈值ε1 ,ε0 ,分别用 m1 , m2 表示. 分别建立二 维数组 COL_1、COL_2 和一维数组 AFF 来存储中 间状态. 建立二维数组 RES 来存储计算结果. 算法 : ①for (i = 0 ;i < 群体个数 ;i + + ) { for (j = 0 ;j < 事件个数 ;j + + ) { COL_1 [i ] [j ] = COL [i ] [j ]/ 群体 i 中 A2 gent 得总数 ; } } COL_1 存储群体关于事件的支持度. ②for (i = 0 ;i < 群体个数 ;i + + ) { MAX = COL_1[i ][ 0 ] ;NO = 0 ; for (j = 0 ;j < 事件个数 ;j + + ) { if (COL _1 [i ] [j ] > MAX) {MAX = COL _1 [i ][j ] ; N0 = j ;} } if (MAX > = m1) { for (j = 0 ;j < 事件个数 ;j + + ) { if (j = = NO) {COL_2[i ][ NO ] = 1 ;} else{COL_2[i ][j ]} = - 1 ;} else{ for (j = 0 ;j < 事件个数 ;j + + ) {COL _ 2 [i ] [j ]} = 0 ;} COL_2 存储群体关于事件的态度. ③for (j = 0 ;j < 事件个数 ;j + + ) { for (i = 0 ;i < 群体个数 ;i + + ) { NUM1 = 0 ; NUM0 = 0 ; if (COL_2[i ][j ] = = 1) {NUM1 + + ;} if (COL_2[i ][j ] = = 0) {NUM0 + + ;} A FF[j ] = NUM1/ (群体总数2NUM0) ; A FF 存储各个事件影响度. ④for (i = 0 ;i < 群体个数 ;i + + ) { if (COL_2[i][ 0 ] = = 0) { for (j = 0 ;j < 事件个数 ;j + + ) { RES_ T[i ][j] = CHA [i ] [ 0 ] 3 COL_1 [i ] [j ] + CHA[i ][ 1 ] 3 A FF[j] ; If (RES_ T[i ][j ] > m2) {RES[i ][j ] = 1 ;} Else{RES[i][j ] = - 1 ;} } } } RES 存储趋势分析后群体的态度. 以上每一步都在双重循环内完成 ,所以整个算 法的复杂度将被控制在 O ( n 2 ) 中. 通过图 8 可以直 观地看出该算法的流程. 图 8 算法流程 Fig18 Flow of algorithm 5 结束语 本文研究在冲突环境中持中立态度 Agent 未 来发展趋向. 建立了以 Agent 群体为冲突粒度的 MAS 冲突模型 ,该冲突模型由初始模型和基本模型 2 部分组成 ,在模型框架内讨论了 Agent 群体特别 是持“中立”态度 Agent 群体未来趋向的计算问题 , 以本文模型为基础 ,设计相应算法和实现了一个实 验原型. 本文结果推广到更为一般情形 ,例如发生事 件带有权重等 ,限于篇幅 ,将另文讨论. 参考文献 : [1 ] MICHA EL W. An introduction to multi2Agent systems [ M]. New York :John Wiley & Sons ,Inc ,2002. [2 ] PAWLA K Z. Rough sets[J ]. International Journal of Computer and Information Sciences , 1982 , 11 : 341 - 356. [3 ] PAWLA K Z. An inquiry into anatomy of conflicts[J ]. Journal of Information Sciences ,1998 ,109 :65 - 78. [4 ] PAWLA K Z. Some remarks on conflict analysis [J ]. Eu2 ropean Journal of Operational Research ( Elsevier) ,2005 , 166 :649 - 654. · 23 · 智 能 系 统 学 报 第 2 卷