一种基于平衡联盟的多智能体联盟形成方法

文档序号:10686894阅读:594来源:国知局
一种基于平衡联盟的多智能体联盟形成方法
【专利摘要】本发明公开了一种基于平衡联盟的多智能体联盟形成方法。本发明根据平衡系数的原理,建立智能体任务选择行为模型,建立智能体与任务对应的联盟的关系,减少了先计算所有潜在联盟的步骤,节省了任务分配的时间。而且,本发明结合实际情况,先以每个智能体作为主智能体,仅考虑能够与主智能体形成联盟的邻居智能体,避免出现由于无法形成联盟而对结果产生影响的问题。此外,本发明在联盟能力不能满足任务需求或者大于任务需求情况下,通过对联盟成员的招募或者删减,从而实现联盟能力满足任务的需求,且不会产生联盟资源冗余,提高了任务分配的灵活性和有效性。
【专利说明】
一种基于平衡联盟的多智能体联盟形成方法
技术领域
[0001] 本发明涉及智能机器人技术领域,具体涉及一种基于平衡联盟的多智能体联盟形 成方法。
【背景技术】
[0002] 在多智能体系统中,多智能体能够协同完成单个智能体无法胜任的任务,并保证 任务的顺利完成,提高完成任务的成功率。在多智能体协同任务分配过程中,形成联盟是一 个实现多智能体任务分配的有效途径。形成的联盟的平衡系数越高,联盟的容错率越大。
[0003] 文南犬(Vig L,Adams J A.Multi-robot coalition formation!!J] ? Robotics,IEEE Transactions on,2006,22(4): 637-649.)给出了平衡联盟的证明,并且通过对所有潜在联 盟的平衡系数的计算,筛选出平衡系数最大的联盟作为最终联盟。但是,采用文献中提到的 选择方法,存在以下几个问题:
[0004] 1、随着潜在联盟个数的增长,计算量也随之增大,导致联盟形成时间延长,影响任 务执行效率。
[0005] 2、上述方法是将智能体系统中的所有智能体相互形成联盟,进而获得平衡系数。 但在实际情况下,有些潜在联盟因通信阻塞等异常和突发事件的影响,导致该潜在联盟无 法形成。
[0006] 3、在实际情况下,大多数智能体通常具备多项资源或能力,但文献中设定的智能 体的资源或能力为1维数值量,不符合实际情况。

【发明内容】

[0007] 有鉴于此,本发明提供了一种基于平衡联盟的多智能体联盟形成方法,根据智能 体的实际情况,结合平衡系数的原理,形成最优联盟。
[0008] -种基于平衡联盟的多智能体联盟形成方法,具体包括如下步骤:
[0009] 步骤一、获得主智能体与其相邻的邻居智能体之间的结盟倾向度,具体为:
[0010] 将智能体系统中的任意一个智能体定义为智能体i,并作为主智能体,其能力向量 用ri表示;主智能体i的邻居智能体定义为智能体j,jG {1,2,…,| |Ni | | },其能力向量用rj 表示;Ni表示主智能体i的邻居智能体的集合,| |Ni| |表示邻居智能体的个数;
[0011]根据叫=? iXcosOijhwXdij,获得主智能体i与邻居智能体j的相似程度,即 两智能体之间的结盟倾向度aijdij为向量ri和向量rj之间的夹角;dij为向量ri的模长和向 量rj的模长之差的相对大小;w挪《2为权值系数;且《1 = 0.6, 〇2 = 0.4;
[0012] 步骤二、获得智能体自身能力向量与任务需求向量的一致程度:
[0013]
获得主智能体i的能力向量与任意任务tq的任务需求向量之间 的相关程度&%其中,\为任务tq的任务需求向量3气代表主智能体i的能力向量与任务 需求向量间的内积3为任务需求向量'的模值;Ini为能力向量以的模值;
[0014 ]步骤三、按照步骤一的方法,遍历主智能体与其所有邻居智能体的结盟倾向度,并 求其平均值,获得主智能体与邻居智能体的平均结盟倾向度;并根据该主智能体i的能力向 量与任意任务tq的任务需求向量之间的相关程度分别对平均结盟倾向度和相关程度 > 爲4分配相应权值w 3和《 4,并加权求和,获得主智能体对任务的tq的倾向度;其中,权值《 3 和〇 4均等于0.5;
[0015] 步骤四、按照步骤一至步骤三的方法,遍历整个智能体系统,分别以智能体系统中 的每个智能体作为主智能体,获得各个智能体对所有任务的倾向度;
[0016] 步骤五、针对每个智能体,选择其对应的最大倾向度值所对应的任务作为该智能 体选择的最终任务;将选择同一最终任务的所有智能体形成初始联盟;
[0017] 步骤六、分别判断每个初始联盟是否符合形成最终联盟的条件,并对初始联盟中 的成员进行调整,具体为:
[0018] 以其中一个初始联盟为例,定义该初始联盟为联盟C,其对应选择的任务为tq;根 据联盟C所选任务t q的任务需求向量^,计算联盟C的联盟能力值QC;若:
[0019]
则联盟C符合条件,直接形成最终联盟;
[0020] 条件二<7丨,则联盟C进入增加联盟成员状态;此时:
[0021] 获得其中任意一个邻居智能体P与联盟C , 中的所有智能体共同完成任务tq的倾向度其中,所述的邻居智能体P是指与联盟C中的 所有智能体相邻的邻居智能体;所有邻居智能体形成的集合用NC表示,| INC11代表邻居智 能体个数;ahp表示邻居智能体p和联盟(:中的任意智能体,定义为智能体h的结盟倾向度;& 表示邻居智能体P对任务的tq的倾向度;
[0022] b、将邻居智能体p当前所选任务的倾向度与倾向度?H比较,若倾向度大于当 前所选任务的倾向度,则将邻居智能体P加入到联盟C中,计算联盟C联盟能力值,若此时联 盟C符合条件一,则形成最终联盟,否则,继续按照a中的方法,计算其他邻居智能体的倾向 度,并进行比较,直至联盟C满足要求;若在设定时间阈值内,联盟C仍不能满足要求,则联盟 C解散;
[0023] 则联盟C进入减少联盟成员状态;此时,按照步 , 骤三计算倾向度的方法,计算联盟C中每个智能体在与联盟C中的邻居智能体形成联盟后的 倾向度,并从大到小排序,依次将倾向度最小的智能体删除;每删除一个智能体,计算一次 联盟C的联盟能力值,一旦满足条件一,停止删除,并形成最终联盟;
[0024] 按照步骤六的方法,完成对所有初始联盟的调整,并形成最终联盟。
[0025] 有益效果:
[0026] 本发明根据平衡系数的原理,建立智能体任务选择行为模型,建立智能体与任务 对应的联盟的关系,减少了先计算所有潜在联盟的步骤,节省了任务分配的时间。而且,本 发明结合实际情况,先以每个智能体作为主智能体,仅考虑能够与主智能体形成联盟的邻 居智能体,避免出现由于无法形成联盟而对结果产生影响的问题。此外,本发明在联盟能力 不能满足任务需求或者大于任务需求情况下,通过对联盟成员的招募或者删减,从而实现 联盟能力满足任务的需求,且不会产生联盟资源冗余,提高了任务分配的灵活性和有效性。
【附图说明】
[0027]图1为智能体状态图。
[0028]图2为本发明流程图。
【具体实施方式】
[0029]下面结合附图并举实施例,对本发明进行详细描述。
[0030]本发明提供了一种基于平衡联盟的多智能体联盟形成方法,本发明的原理为:
[0031] 根据平衡联盟的特性,即联盟平衡系数越大,联盟容错率越高的特点,建立智能体 任务选择行为模型,并根据如图1所示的智能体的五种状态,进行联盟成员的招募和删除, 形成最终联盟,执行相应任务。如同2所示,具体包括:
[0032] 步骤一、获得主智能体与其相邻的邻居智能体之间的结盟倾向度:
[0033] 在文南犬(Vig L, Adams J A .Multi-robot coalition formation!! J] ? Robotics, IEEE Transactions on,2006,22(4):637-649.)中,提出了平衡联盟概念。在整个智能体系 统中,选择任意智能体,命名为智能体i,作为主智能体。根据平衡联盟的平衡联盟系数BC的 计算公式,获得如下推论:
[0035] 其中,T为任务需求值,且『4叫+巧+"' + 5+'_、+,1:|¥1为主智能体1的资源或 能力值,W",V",、||为主智能体i的邻居智能体j的资源或能力值;心表示主智能体i的 邻居智能体的集合,I |Nd |表示邻居智能体的个数。
[0036] 根据公式(1)可推知,当主智能体与各邻居智能体的资源或能力值越接近,主智能 体与各邻居智能体越相似,平衡联盟系数BC的值越大;当G ……=l||时,其平衡 联盟系数BC的值最大,此时,BC=1。故本发明依据该原理(平衡系数的原理),建立智能体任 务选择行为模型。
[0037] 在实际情况下,由于智能体的资源或能力是多项的,即是非1维的,为此,本发明根 据实际情况,将智能体i的资源或能力值^扩展为多维,设智能体i共有k项资源或能力,则 其资源或能力向量表示为,且乏]/=1< =1。
[0038] 根据平衡系数的原理推知,设任意智能体i作为主智能体,在与其相邻的邻居智能 体j结盟后,jG {1,2,一,I |Ni I I },当其资源或能力向量ri = rj时,即两智能体在向量一致的 情况下,平衡联盟系数BC的值最大。
[0039] 以智能体i和其相邻的邻居智能体j为例,两智能体的资源或能力向量是否相等, 需要判断两向量之间的夹角是否相等,判断两向量模长是否更相近。其中,
[0040] 两向量之间的向量夹角的余弦的计算公式为:
[0042]其中,ri ? rj代表两向量的内积。I ri I为资源或能力向量ri的模值。0ij为向量ri和 向量rj之间的夹角。
[0043]向量ri的模长和向量rj的模长之差的相对大小dij为:
[0045] 根据公式(2)和公式(3),获得主智能体与任意邻居智能体的相似程度:
[0046] aij= ? 1 X cos(9ij)+? 2 X dij (4)
[0047] 其中,表示两智能体之间的结盟倾向度。为权值系数。对于向量相近, 通常认为夹角比模长之差的相对大小更为重要。故本发明将《: = 〇.6,《2 = 0.4;
[0048] 步骤二、获得智能体自身资源或能力向量与任务需求向量的一致程度:
[0049] 在形成联盟时,主智能体不仅需要考虑与邻居智能体之间的相似度,还要考虑与 任务的相似度。只有在保证上述的两个方面均为最优,才能够形成最优联盟。
[0050] 为此,主智能体在选择任务时,需考虑任务的需求向量与其自身的资源或能力向 量是否一致,为了能够更好的完成任务,选择与其自身的资源或能力向量尽量一致的任务。 故根据公式(5),获得主智能体i的能力向量与任意任务t q的任务需求向量之间的相关程度 P,.
[0052]其中八为任务tq的任务需求向量A代表两向量的内积。|rv|为任务需求向量久 的模值。
[0053 ]步骤三、按照步骤一的方法,遍历主智能体与其所有相邻的邻居智能体的结盟倾 向度,并求其平均值,获得主智能体与邻居智能体的平均结盟倾向度。并根据该主智能体对 某一任务的tq的相关程度爲,,获得主智能体在综合情况下对某一任务的t q的倾向度%/ 即智能体任务选择行为模型;
[0055] 其中,| |Ni| |为与主智能体相邻的邻居智能体的个数;《3和《4为权值系数;由于 邻居智能体对自身的影响和自身选择任务的倾向重要性一样。故权值《 3和W 4均等于0.5。
[0056] 之后,按照步骤三的方法,遍历所有任务,获得以智能体i作为主智能体时,对所有 任务的倾向度。
[0057]步骤四、按照步骤一至步骤三的方法,遍历整个智能体系统,分别以智能体系统中 的每个智能体作为主智能体,获得每个智能体对所有任务的倾向度。
[0058]步骤五、每个智能体均根据步骤四中获得的所有任务的倾向度,选择最大倾向度 值所对应的任务作为该智能体选择的最终任务。将选择同一任务的所有智能体形成初始联 盟。
[0059] 步骤六、分别判断每个初始联盟是否符合形成最终联盟的条件,并对初始联盟中 的成员进行调整,具体为:
[0060] 以其中一个初始联盟为例,定义该初始联盟为联盟C,其对应选择的任务为tq;根 据联盟C所选任务t q的任务需求向量1,计算该初始联盟的联盟能力值QC;若:
[0061]
,则联盟C符合条件,直接形成最终联盟;
[0062] 条件二,则联盟C进入增加联盟成员状态;此时,根据公式(7),获得其中任 意一个邻居智能体P与联盟C中的所有智能体共同完成任务tq的倾向度°其中,所述的邻 居智能体P是指:与联盟C中的所有智能体相邻的邻居智能体。
[0064]其中,所有邻居智能体形成的集合用NC表示,| |NC| |代表邻居智能体个数;ahp表示 邻居智能体P和联盟C中的任意智能体,定义为智能体h的结盟倾向度;表示邻居智能体p 对任务的tq的倾向度;其中,《 3和W 4为权值系数;
[0065] 之后,将邻居智能体p当前所选任务的倾向度与倾向度比较,若倾向度?k大于 当前所选任务的倾向度,则将邻居智能体P加入到联盟C中,计算联盟C联盟能力值,若此时 联盟C符合条件一,则形成最终联盟,否则,继续按照上述方法,计算其他邻居智能体的倾向 度,并进行比较,直至联盟C满足要求。若在设定时间阈值内,联盟C仍不能满足要求,则联盟 C解散。
[0066]
,则联盟C进入减少联盟成员状态;此时,按照公 式(6)的方法,计算联盟C中每个智能体在与联盟C中的邻居智能体形成联盟后的倾向度,并 从大到小排序,依次将倾向度最小的智能体删除。每删除一个智能体,计算一次联盟C的联 盟能力值,一旦满足条件一,停止删除,并形成最终联盟。
[0067] 按照上述方法,完成对所有初始联盟的调整,并形成最终联盟。
[0068] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
【主权项】
1. 一种基于平衡联盟的多智能体联盟形成方法,其特征在于,具体包括如下步骤: 步骤一、获得主智能体与其相邻的邻居智能体之间的结盟倾向度,具体为: 将智能体系统中的任意一个智能体定义为智能体i,并作为主智能体,其能力向量用^ 表示;主智能体i的邻居智能体定义为智能体j,jG {1,2,…,| |Ni},其能力向量用rj表示;Ni 表示主智能体i的邻居智能体的集合,I |Nd |表示邻居智能体的个数; 根据叫=?1\〇〇8(0^)+〇2\(1^,获得主智能体;[与邻居智能体」的相似程度,8卩两智 能体之间的结盟倾向度aij,0ij为向量ri和向量rj之间的夹角;dij为向量ri的模长和向量rj 的模长之差的相对大小;w 1和w2为权值系数;且<^ = 0.6, 〇2 = 0.4; 步骤二、获得智能体自身能力向量与任务需求向量的一致程度:,获得主智能体i的能力向量与任意任务tq的任务需求向量之间的相 关程度其中,v为任务tq的任务需求向量;代表主智能体i的能力向量与任务需求 ? 向量间的内积; < 为任务需求向量'的模值;|ri|为能力向量^的模值; lq 步骤三、按照步骤一的方法,遍历主智能体与其所有邻居智能体的结盟倾向度,并求其 平均值,获得主智能体与邻居智能体的平均结盟倾向度;并根据该主智能体i的能力向量与 任意任务tq的任务需求向量之间的相关程度5分别对平均结盟倾向度和相关程度見^分 配相应权值w 3和《 4,并加权求和,获得主智能体对任务的tq的倾向度;其中,权值《 3和《 4 均等于〇. 5; 步骤四、按照步骤一至步骤三的方法,遍历整个智能体系统,分别以智能体系统中的每 个智能体作为主智能体,获得各个智能体对所有任务的倾向度; 步骤五、针对每个智能体,选择其对应的最大倾向度值所对应的任务作为该智能体选 择的最终任务;将选择同一最终任务的所有智能体形成初始联盟; 步骤六、分别判断每个初始联盟是否符合形成最终联盟的条件,并对初始联盟中的成 员进行调整,具体为: 以其中一个初始联盟为例,定义该初始联盟为联盟C,其对应选择的任务为tq;根据联盟 C所选任务tq的任务需求向量1,计算联盟C的联盟能力值QC;若:则联盟C符合条件,直接形成最终联盟; :,条件二5则联盟C进入增加联盟成员状态;此时:获得其中任意一个邻居智能体P与联盟C中的 , 所有智能体共同完成任务tq的倾向度其中,所述的邻居智能体P是指与联盟C中的所有 智能体相邻的邻居智能体;所有邻居智能体形成的集合用NC表示,| |Nd I代表邻居智能体个 数;<^表示邻居智能体p和联盟C中的任意智能体,定义为智能体h的结盟倾向度;表示邻 居智能体P对任务的tq的倾向度; b、将邻居智能体p当前所选任务的倾向度与倾向度?k比较,若倾向度大于当前所选 任务的倾向度,则将邻居智能体P加入到联盟C中,计算联盟C联盟能力值,若此时联盟C符合 条件一,则形成最终联盟,否则,继续按照a中的方法,计算其他邻居智能体的倾向度,并进 行比较,直至联盟C满足要求;若在设定时间阈值内,联盟C仍不能满足要求,则联盟C解散;,则联盟C进入减少联盟成员状态;此时,按照步骤三 计算倾向度的方法,计算联盟C中每个智能体在与联盟C中的邻居智能体形成联盟后的倾向 度,并从大到小排序,依次将倾向度最小的智能体删除;每删除一个智能体,计算一次联盟C 的联盟能力值,一旦满足条件一,停止删除,并形成最终联盟; 按照步骤六的方法,完成对所有初始联盟的调整,并形成最终联盟。
【文档编号】G06F9/46GK106055390SQ201610470945
【公开日】2016年10月26日
【申请日】2016年6月24日
【发明人】方浩, 卢少磊
【申请人】北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1