一种多智能体分布式联盟形成方法

文档序号:10612661阅读:528来源:国知局
一种多智能体分布式联盟形成方法
【专利摘要】本发明公开了一种多智能体分布式联盟形成方法。本发明针对智能体在面向不同任务时,智能体能力与任务的适合程度不同,以个数为2的小联盟作为理想基本单元,结合任务收益特点,通过Learning Automata算法进行权值的动态分配。充分考虑了从任务角度和从智能体角度两个方面来进行表达,更加符合现实情况,更加理性,并且实现了任务的并发选择,加快了任务分配速度以及智能体资源的有效利用。
【专利说明】
一种多智能体分布式联盟形成方法
技术领域
[0001] 本发明涉及智能机器人技术领域,具体涉及一种多智能体分布式联盟形成方法。
【背景技术】
[0002] 在多智能体系统中,当单个智能体无法完成某一任务时,会与网络内的其他的智 能体通过合作的方式形成联盟共同完成目标任务。智能体通过合作的方式形成联盟来执行 个体无法完成的任务,提高了任务成功的概率和完成效率。形成联盟是实现任务分配的一 个有效途径。
[0003] 从任务分配角度来看,包括集中式任务分配和分布式任务分配;集中式任务分配 方法的求解时间会随着智能体数量的增加呈指数增加,无法处理数量繁多的多智能体系统 的任务分配;而且,控制节点的失效,将会严重影响子节点的工作。分布式任务分配方法,因 其分布性、鲁棒性和可扩展性的优点,适合复杂系统的多智能体的任务分配。然而,如何进 行科学有效的实现任务分配,是分布式任务分配中主要研究的问题。
[0004] 文献(尹翔,李斌,于萌.一种多agent网络中的分布式联盟形成算法[J].控制与决 策,2015,(第3期))中,单纯的依赖于任务的性价比来形成联盟。然而,由于任务性价比的计 算是无差异性的,必然导致任务的选择过程呈现串行形式,即先选择任务性价比最高的,然 后次高的,依次选择。这样一来,将无法实现任务的快速分配以及智能体资源的有效利用。

【发明内容】

[0005] 有鉴于此,本发明提供了一种多智能体分布式联盟形成方法,能够快速的分配任 务,且有效地利用了智能体资源。
[0006] -种多智能体分布式联盟形成方法,
[0007] 定义:共有m个任务,对于m个任务中的任意一个任务,定义为任务r,完成该任务需 要具备k项能力,且每项能力有最低需求值r(l)和完成该任务r能够获得的收益值;其中,1 代表第1项能力;其联盟形成方法具体为:
[0008] 步骤一、对于智能体网络中的每个智能体来说,均与其相邻的其他智能体形成潜 在小联盟,计算每个潜在小联盟面对每项任务时,所具备的各项能力值,进而获得完成该任 务的任务能力值;
[0009] 步骤二、计算每个潜在小联盟完成每项任务的准备度值:
[0010] 针对每个潜在小联盟,完成任意一个任务的准备度值由两部分组成:第一部分为 步骤一中求出的任务能力值;第二部分为潜在小联盟完成当前任务的任务意愿值;任务能 力值与任务意愿值两部分通过加权的方式构成了当前潜在小联盟完成当前任务的准备度; 初始情况下,任务能力值和任务意愿值的权值相等;
[0011] 其中,所述的任务意愿值根据完成当前任务的收益值和完成当前任务中各项能力 的最低需求值求和获得的;
[0012] 根据上述方法,遍历所有任务,获得每个潜在小联盟完成每项任务的准备度值;
[0013] 之后,分别将每个潜在小联盟所针对不同任务的准备度按从大到小的顺序排列, 将准备度值最高的任务挑出,所述任务则作为该潜在小联盟的备用申请任务;将所有挑出 的任务与潜在小联盟一一对应后,形成集合;
[0014] 步骤三、对集合中的所有潜在小联盟进行筛选,并获得完成每项任务的最终联盟, 具体为:
[0015] S30:将集合中的所有潜在小联盟,以每个智能体作为基准智能体,将所有包含基 准智能体的所有潜在小联盟按准备度值的大小排序,将准备度值最大的作为完成对应任务 的最优潜在小联盟;每一个基准智能体均对应一个最优潜在小联盟;
[0016] S31:针对任意一个智能体,定义为智能体a来说:
[0017] 智能体a向其对应的最优潜在小联盟中的另一个智能体b发出结盟申请,所述另一 个智能体b判断其自己对应的最优潜在小联盟中的另一个智能体是否是智能体a,即智能体 a与智能体b是否互为最优智能体;如果是,则智能体a和智能体b直接形成最终联盟,并向对 应的备用申请任务发出申请,执行步骤四;如果不是,执行S32;
[0018] S32:智能体a根据S30中的所述大小排序,向下一个潜在小联盟中的智能体c发出 结盟申请;当前智能体c按照S31的方法,判断与智能体a是否互为最优智能体;如果是,且智 能体a之前的最优智能体b未向智能体a发出结盟申请,贝lj智能体a与智能体c发出结盟申请, 并向对应的备用申请任务发出申请,执行步骤四;如果不是,则返回本步骤S32,直至智能体 a形成最终联盟,并向对应的任务发出申请,执行步骤四;
[0019] 按S31和S32的方法,遍历所有智能体,形成多个最终联盟,且每个智能体只能形成 一个最终联盟;其所对应的备用申请任务作为该最终联盟的申请任务;
[0020] 步骤四、根据步骤三中获得的所有最终联盟,按照每个最终联盟的申请任务进行 分类,将同一个申请任务归为一类,并将同一类任务下的所有最终联盟按照准备度值的大 小进行排序;然后根据各类任务其所需的每项能力最低需求值进行分配;其分配原则为:
[0021] 以准备度值最高的最终联盟为基准,按照排列好的顺序,将准备度值最高的最终 联盟的各项能力的能力值与在其后面的其他最终联盟的各项能力的能力值依次对应地累 计相加,每次仅累计一个最终联盟,一旦累计相加后的各项能力值均对应地满足当前任务 所需的最低需求值,则停止累计,并将参与累计的所有最终联盟形成大联盟,执行当前的任 务;对于没有被选择上的其他最终联盟,执行步骤五;
[0022] 步骤五、将所述没有被选择上的其他最终联盟的权值进行调整:
[0023]根据Learning Automata学习算法,将没有被选择上的其他最终联盟的权值进行 动态调整;之后,根据步骤二的方法,重新计算未被选择上的其他最终联盟完成未被执行的 其他任务的准备度值,并根据步骤三和步骤四的方法,最终向对应的任务进行申请,直至任 务完成分配为止。
[0024]较佳地,所述步骤一中,根据
^,获得完成该任务的任务能 力值Q(r,Cab);其中,1代表当前第1项能力,rll)为对最低需求值r(l)进行归一化后的结 果;(/4(1)是对Cab(l)归一化后的结果,Cab(l)表示当前潜在小联盟的第1项能力时的能力 值。
[0025] 有益效果:
[0026]本发明针对智能体在面向不同任务时,智能体能力与任务的适合程度不同,以个 数为2的小联盟作为理想基本单元,结合任务收益特点,通过Learning Automata算法进行 权值的动态分配。充分考虑了从任务角度和从智能体角度两个方面来进行表达,更加符合 现实情况,更加理性,并且实现了任务的并发选择,加快了任务分配速度以及智能体资源的 有效利用。
【附图说明】
[0027]图1为本发明实现原理图。
【具体实施方式】
[0028] 下面结合附图并举实施例,对本发明进行详细描述。
[0029] 本发明提供了一种多智能体分布式联盟形成方法,本发明的主要思想在于:
[0030] 在形成联盟,完成任务分配的过程中,从任务层面出发,需要知道任务的需求;从 智能体本身出发,需要知道智能体的能力。如何有效利用两者的特点并且有效结合两者。此 外,本发明还通过Learning Automata算法进行智能体或者智能体小联盟的任务准备度的 重新计算。
[0031] 定义:共有m个任务,对于m个任务中的任意一个任务r来说,完成该任务需要具备k 项能力,且每项能力有最低需求值r(l)和完成该任务r能够获得的收益值;其中,1代表第1 项能力;其联盟形成方法具体为:
[0032] 如图1所示:
[0033]步骤一、对于智能体网络中的每个智能体来说,均与其相邻的其他智能体形成潜 在小联盟,计算每个潜在小联盟面对时,所具备的各项能力值,进而获得完成该任务的任务 能力值;
[0034] 其中,每个潜在小联盟的每项任务的任务能力值的具体方法为:
[0035] 定义任意一个智能体a,则其完成任意一个任务,定义为任务r的任务能力值的获 取方法为:
[0036] S11、分别获取潜在小联盟中各智能体的各项能力值;
[0037] S12、针对每个潜在小联盟来说,将同一项能力的能力值相加,并筛选出关于完成 任务r所需的k项能力的能力值;
[0038] S13、根据S12筛选出的能力值以及任务r中要求具备的k项能力的有最低需求值, 利用巴氏系数法,分别计算每个潜在小联盟完成任务r的能力值;
[0039] 采用上述方法,遍历所有智能体和所有任务,形成潜在小联盟,获得每个潜在小联 盟的完成每项任务的任务能力值。
[0040] 以任务r为例,智能体a接收到3个火力打击任务(即m=3),每个任务都要求任务执 行者具备火力和防御两项能力(即k = 2),设其中任务r的最小火力需求为rf,最小防御需求 为rd;设智能体具备火力与防御能力,其火力能力值为a f,防御能力值为ad。
[0041] 分别将智能体a与其相邻的其他智能体形成潜在小联盟,计算每个潜在小联盟的 完成任务r的任务能力值,例如:智能体b的火力能力为bf,防御能力值为bd。计算智能体a与 智能体b形成联盟C ab的各项能力值。联盟Cab的各项能力值等于二者同一能力值相加,即Cab 的火力能力值为af+bf,设为Cab-f,防御能力值为ad+bd,设为Cab-d;然后智能体a利用巴氏系数 计算任务r所需的k项能力的有最低需求值和联盟Cab能力值的相似度,作为联盟Cab对应任 务r的任务能力值。计算公式为:
[0042]
[0043] 其中,rll)是对最低需求值r(l)进行归一化后的结果;满5
) e[0,l],同理C^bd)是对Cab(l)归一化后的结果,Cab(l)表示当前潜在小联盟的面对第1项 能力时的能力值。由此,完成智能体a所形成的每个潜在小联盟完成任务r的任务能力值。
[0044] 步骤二、计算每个潜在小联盟完成每项任务的准备度值:
[0045] 针对每个潜在小联盟来说,完成任务r的准备度值由两部分组成:第一部分为步骤 一中求出的任务能力值;第二部分为潜在小联盟完成任务r的性价比;所谓的任务性价比, 即为潜在小联盟执行任务r的任务意愿值,任务性价比越高,潜在小联盟执行该任务的意愿 越强烈。任务能力值与任务意愿值两部分通过加权的方式构成了当前潜在小联盟完成任务 r的准备度;准备度越高表示潜在小联盟对完成任务r的准备越充足,能更好的完成工作。初 始情况下,任务能力值和任务意愿值的权值相等;
[0046] 其中,所述的任务意愿值根据完成任务r的收益值和完成任务r中各项能力的最低 需求和值,即总需求值获得的;
[0047]计算公式如下:
[0048]
[0049] 其中,Ec(r)表示当前潜在小联盟完成任务r的意愿值,P(r)为完成任务r的收益 值,r(l)表示任务r中的第1项能力的最低需求值。
[0050] 将获得的每个潜在小联盟的意愿值进行归一化,用E\(r)表示归一化后意愿值, 归一化方法为:
[0051]
[0052] 其中,η为智能体a形成的所有潜在小联盟的个数,j为第j个潜在小联盟。
[0053]则当前潜在小联盟,定义为C,对应于任务r的准备度为
[0054] Pre(C,r) = ωι · Q(r,C)+c〇2 · E'Kr)
[0055] ω jP ω 2为权值,初始化情况下,权值相等,设为〇. 5,按上式,完成所有潜在小联盟 对应所有任务的准备度的计算。
[0056]根据上述方法,遍历所有任务,获得每个潜在小联盟完成每项任务的准备度值;
[0057]之后,分别将每个潜在小联盟所针对不同任务的准备度按从大到小的顺序排列, 将准备度值最高的任务挑出,所述任务则作为该潜在小联盟的备用申请任务;将所有挑出 的任务与潜在小联盟一一对应后,形成集合;
[0058]步骤三、对集合中的所有潜在小联盟进行筛选,并获得完成每项任务的最终联盟, 具体为:
[0059] S30:将集合中的所有潜在小联盟,以每个智能体作为基准智能体,将所有包含基 准智能体的所有潜在小联盟按准备度值的大小排序,形成列表L;将准备度值最大的作为完 成对应任务的最优潜在小联盟;每一个智能体均对应一个最优潜在小联盟;L包含三项内 容,一项是联盟成员;第二项是对应任务;第三项是准备度的值。
[0060] 智能体a按列表L从上到下的顺序向潜在小联盟中成员发送结盟申请,结盟规则如 下表所示:
[0061] 表1联盟成员选择规则
[0062]
[0063] S31:针对任意一个智能体,定义为智能体a来说:
[0064] 智能体a向其对应的最优潜在小联盟中的另一个智能体b发出结盟申请,所述另一 个智能体b判断其自己对应的最优潜在小联盟中的另一个智能体是否是智能体a,即智能体 a与智能体b是否互为最优智能体;如果是,则智能体a和智能体b直接形成最终联盟,并向对 应的备用申请任务发出申请,执行步骤四;如果不是,执行S32;
[0065] S32:智能体a根据S30中的所述大小排序,向下一个潜在小联盟中的智能体c发出 结盟申请;当前智能体c按照S31的方法,判断智能体a是否互为最优智能体;如果是,且智能 体a的之前的最优智能体b未向智能体a发出结盟申请,则智能体a与智能体c发出结盟申请, 并向对应的备用申请任务发出申请,执行步骤四;如果不是,则返回本步骤S32,直至智能体 a形成最终联盟,并向对应的任务发出申请,执行步骤四;
[0066] 按S31和S32的方法,遍历所有智能体,形成多个最终联盟,且每个智能体只能形成 一个最终联盟;其所对应的备用申请任务作为该最终联盟的申请任务;
[0067]步骤四、根据步骤三中获得的所有最终联盟,按照每个最终联盟的申请任务进行 分类,将同一个申请任务归为一类,并将同一类任务下的所有最终联盟按照准备度值的大 小进行排序;然后根据各类任务其所需的每项能力最低需求值进行分配;其分配原则为: [0068]以准备度值最高的最终联盟为基准,按照排列好的顺序,将准备度值最高的最终 联盟的各项能力的能力值与在其后面的其他最终联盟的各项能力的能力值依次对应地累 计相加,每次仅累计一个最终联盟,一旦累计相加后的各项能力值均对应地满足当前任务 所需的最低需求值,则停止累计,并将参与累计的所有最终联盟形成大联盟,执行当前的任 务;对于没有被选择上的其他最终联盟,执行步骤五;
[0069]步骤五、、将所述的没有被选择上的其他最终联盟的权值进行调整:
[0070]根据Learning Automata学习算法,将没有被选择上的其他最终联盟的权值进行 动态调整,以获得新的准备度值;
[0071] 其中,权值调整公式为:
[0072]
[0073] α是学习因子,ae(〇,l); ω#Ρω2的范围是(〇,1)。
[0074]根据步骤二的方法,重新计算未被选择上的其他最终联盟完成未被执行的其他任 务的准备度值,并根据步骤三和步骤四的方法,最终向对应的任务进行申请,直至任务完成 分配为止。
[0075] 例如:潜在小联盟(如Cab)被任务r拒绝后,进行权值更新,之后,由新的准备度公式 计算出小联盟对应除任务r后准备度最大的值对应的任务(如任务t)。此时,进行下一个任 务(任务t)的选择,则对应任务t的准备度的两个组成部分的权值按照Learning Automata 学习算法进行动态调整。新的准备度公式如下:
[0076]
[0077] 随着潜在小联盟Cab每次选择新的任务,逐步增大任务收益的权重。由此,该潜在小 联盟任务选择的逐渐收敛任务收益这一绝对指标上,即所有智能体在被拒绝多次后,逐渐 统一任务选择目标,保证了任务选择的收敛。
[0078] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
【主权项】
1. 一种多智能体分布式联盟形成方法,其特征在于, 定义:共有m个任务,对于m个任务中的任意一个任务,定义为任务r,完成该任务需要具 备k项能力,且每项能力有最低需求值r(l)和完成该任务r能够获得的收益值;其中,1代表 第1项能力;其联盟形成方法具体为: 步骤一、对于智能体网络中的每个智能体来说,均与其相邻的其他智能体形成潜在小 联盟,计算每个潜在小联盟面对每项任务时,所具备的各项能力值,进而获得完成该任务的 任务能力值; 步骤二、计算每个潜在小联盟完成每项任务的准备度值: 针对每个潜在小联盟,完成任意一个任务的准备度值由两部分组成:第一部分为步骤 一中求出的任务能力值;第二部分为潜在小联盟完成当前任务的任务意愿值;任务能力值 与任务意愿值两部分通过加权的方式构成了当前潜在小联盟完成当前任务的准备度;初始 情况下,任务能力值和任务意愿值的权值相等; 其中,所述的任务意愿值根据完成当前任务的收益值和完成当前任务中各项能力的最 低需求值求和获得的; 根据上述方法,遍历所有任务,获得每个潜在小联盟完成每项任务的准备度值; 之后,分别将每个潜在小联盟所针对不同任务的准备度按从大到小的顺序排列,将准 备度值最高的任务挑出,所述任务则作为该潜在小联盟的备用申请任务;将所有挑出的任 务与潜在小联盟一一对应后,形成集合; 步骤Ξ、对集合中的所有潜在小联盟进行筛选,并获得完成每项任务的最终联盟,具体 为: S30:将集合中的所有潜在小联盟,W每个智能体作为基准智能体,将所有包含基准智 能体的所有潜在小联盟按准备度值的大小排序,将准备度值最大的作为完成对应任务的最 优潜在小联盟;每一个基准智能体均对应一个最优潜在小联盟; S31:针对任意一个智能体,定义为智能体a来说: 智能体a向其对应的最优潜在小联盟中的另一个智能体b发出结盟申请,所述另一个智 能体b判断其自己对应的最优潜在小联盟中的另一个智能体是否是智能体a,即智能体a与 智能体b是否互为最优智能体;如果是,则智能体a和智能体b直接形成最终联盟,并向对应 的备用申请任务发出申请,执行步骤四;如果不是,执行S32; S32:智能体a根据S30中的所述大小排序,向下一个潜在小联盟中的智能体C发出结盟 申请;当前智能体C按照S31的方法,判断与智能体a是否互为最优智能体;如果是,且智能体 a之前的最优智能体b未向智能体a发出结盟申请,则智能体a与智能体C发出结盟申请,并向 对应的备用申请任务发出申请,执行步骤四;如果不是,则返回本步骤S32,直至智能体a形 成最终联盟,并向对应的任务发出申请,执行步骤四; 按S31和S32的方法,遍历所有智能体,形成多个最终联盟,且每个智能体只能形成一个 最终联盟;其所对应的备用申请任务作为该最终联盟的申请任务; 步骤四、根据步骤Ξ中获得的所有最终联盟,按照每个最终联盟的申请任务进行分类, 将同一个申请任务归为一类,并将同一类任务下的所有最终联盟按照准备度值的大小进行 排序;然后根据各类任务其所需的每项能力最低需求值进行分配;其分配原则为: W准备度值最高的最终联盟为基准,按照排列好的顺序,将准备度值最高的最终联盟 的各项能力的能力值与在其后面的其他最终联盟的各项能力的能力值依次对应地累计相 加,每次仅累计一个最终联盟,一旦累计相加后的各项能力值均对应地满足当前任务所需 的最低需求值,则停止累计,并将参与累计的所有最终联盟形成大联盟,执行当前的任务; 对于没有被选择上的其他最终联盟,执行步骤五; 步骤五、将所述没有被选择上的其他最终联盟的权值进行调整: 根据Learning Automata学习算法,将没有被选择上的其他最终联盟的权值进行动态 调整;之后,根据步骤二的方法,重新计算未被选择上的其他最终联盟完成未被执行的其他 任务的准备度值,并根据步骤Ξ和步骤四的方法,最终向对应的任务进行申请,直至任务完 成分配为止。2.如权利要求1所述的一种多智能体分布式联盟形成方法,其特征在于,所述步骤一 中,根据获得完成该任务的任务能力值Q(r,Cab);其中,1代表当 前第1项能力,r/(l)为对最低需求值r(l)进行归一化后的结果;C^aba)是对Cab(l)归一化 后的结果,Cab(l)表示当前潜在小联盟的第1项能力时的能力值。
【文档编号】G06F9/46GK105975332SQ201610286673
【公开日】2016年9月28日
【申请日】2016年5月3日
【发明人】方浩, 卢少磊
【申请人】北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1