第14卷第3期 智能系统学报 Vol.14 No.3 2019年5月 CAAI Transactions on Intelligent Systems May 2019 D0:10.11992/tis.201804054 网络出版地址:http:/kns.cnki.net/kcms/detail/23.1538.TP.20180619.1422.002.html 约束条件下联盟生成研究进展 任子仪,童向荣 (姻台大学计算机与控制工程学院,山东烟台264005)】 摘要:联盟生成是在多Agent系统的研究中最为重要的挑战之一。如何对Agent进行划分使所得社会福利最 大化是当前面临的主要问题。假设每个Agt都具有理性和自利性的特性,为了追求自身的利益最大化而选 择和其他的Agεt进行联合,进而使整个系统实现利益的最大化。目前,联盟生成问题有很大的计算挑战,即 使在进行联盟的时候添加了约束条件,也需要新的算法来更快更有效地解决该问题。本文主要对约束条件下 的联盟生成的研究进行综述,主要包括4部分:最坏情况有限界联盟生成、动态规划联盟生成求精确最优解 联盟生成求近似最优解和约束条件下联盟生成求最优解。 关键词:联盟结构;社会福利;联盟生成;约束条件;特征函数;联盟结构图:联盟博弈;动态规划 中图分类号:TP18文献标志码:A文章编号:1673-4785(2019)03-0413-10 中文引用格式:任子仪,童向荣.约束条件下联盟生成研究进展机.智能系统学报,2019,14(3):413-422 英文引用格式:REN Ziyi,TONG Xiangrong.Research progress of constrained coalition formation.CAAI transactions on intelli- gent systems,2019,14(3:413-422. Research progress of constrained coalition formation REN Ziyi,TONG Xiangrong (School of Computer and Control Engineering,Yantai University,Yantai 264005,China) Abstract:Coalition formation is one of the most important challenges in the research of multiagent systems.Currently, our main problem is how to divide Agent to maximize the social welfare.We assume that each Agent possesses the characteristics of rationality and self-interest to maximize its own interests.An Agent integrates with another Agent, which also maximizes the interest of the whole system.At present,the coalition formation problem presents notable computational challenges.If constraints are added during the coalition process,new algorithms are needed to solve the problem more rapidly and effectively.This paper mainly summarizes the study of coalition structure generation under constraint conditions.This paper comprises four parts:the coalition structure generation with the worst case guaranteed, the use of the dynamic programming to find the exact optimal solution,the near-optimal solution after formation of the coalition structure,and the optimal solution to the constrained coalition formation. Keywords:coalition structure;social welfare;coalition formation;constraint;characteristic function;coalition structure graph;coalition game;dynamic programming 联盟生成是多Agent系统(multi--agent system, 中的其他Agent合作,共同合作活动的目的是达 MAS)研究基本问题之一a,主要将Agent进行合 到最佳的标准。当Agent通过组建联盟共同工作 作或协商,使其效用增加。Agent联盟基本上被 时,联盟结构生成就会发生。目标就是求一种 认为在MAS的框架内的一组Agent,.愿意与这组 最优的联盟结构,使得所求的社会福利最大,并 返回其值4。 收稿日期:2018-04-26.网络出版日期:2018-06-20 Agent在联盟生成时达到最优方案不一定是 基金项目:国家自然科学基金项目(61572418):山东省科技发 展计划项目(2016GGX109004) 全局最优解,但是应该是Nash最优解6-或者次优 通信作者:童向荣.E-mail:twr@ytu.edu.cn 解,因此联盟生成主要包括以下活动:
DOI: 10.11992/tis.201804054 网络出版地址: http://kns.cnki.net/kcms/detail/23.1538.TP.20180619.1422.002.html 约束条件下联盟生成研究进展 任子仪,童向荣 (烟台大学 计算机与控制工程学院,山东 烟台 264005) 摘 要:联盟生成是在多 Agent 系统的研究中最为重要的挑战之一。如何对 Agent 进行划分使所得社会福利最 大化是当前面临的主要问题。假设每个 Agent 都具有理性和自利性的特性,为了追求自身的利益最大化而选 择和其他的 Agent 进行联合,进而使整个系统实现利益的最大化。目前,联盟生成问题有很大的计算挑战,即 使在进行联盟的时候添加了约束条件,也需要新的算法来更快更有效地解决该问题。本文主要对约束条件下 的联盟生成的研究进行综述,主要包括 4 部分:最坏情况有限界联盟生成、动态规划联盟生成求精确最优解、 联盟生成求近似最优解和约束条件下联盟生成求最优解。 关键词:联盟结构;社会福利;联盟生成;约束条件;特征函数;联盟结构图;联盟博弈;动态规划 中图分类号:TP18 文献标志码:A 文章编号:1673−4785(2019)03−0413−10 中文引用格式:任子仪, 童向荣. 约束条件下联盟生成研究进展[J]. 智能系统学报, 2019, 14(3): 413–422. 英文引用格式:REN Ziyi, TONG Xiangrong. Research progress of constrained coalition formation[J]. CAAI transactions on intelligent systems, 2019, 14(3): 413–422. Research progress of constrained coalition formation REN Ziyi,TONG Xiangrong (School of Computer and Control Engineering, Yantai University, Yantai 264005, China) Abstract: Coalition formation is one of the most important challenges in the research of multiagent systems. Currently, our main problem is how to divide Agent to maximize the social welfare. We assume that each Agent possesses the characteristics of rationality and self-interest to maximize its own interests. An Agent integrates with another Agent, which also maximizes the interest of the whole system. At present, the coalition formation problem presents notable computational challenges. If constraints are added during the coalition process, new algorithms are needed to solve the problem more rapidly and effectively. This paper mainly summarizes the study of coalition structure generation under constraint conditions. This paper comprises four parts: the coalition structure generation with the worst case guaranteed, the use of the dynamic programming to find the exact optimal solution, the near-optimal solution after formation of the coalition structure, and the optimal solution to the constrained coalition formation. Keywords: coalition structure; social welfare; coalition formation; constraint; characteristic function; coalition structure graph; coalition game; dynamic programming 联盟生成是多 Agent 系统 (multi-agent system, MAS) 研究基本问题之一[1-2] ,主要将 Agent 进行合 作或协商,使其效用增加。Agent 联盟基本上被 认为在 MAS 的框架内的一组 Agent,愿意与这组 中的其他 Agent 合作,共同合作活动的目的是达 到最佳的标准。当 Agent 通过组建联盟共同工作 时,联盟结构生成就会发生[3]。目标就是求一种 最优的联盟结构,使得所求的社会福利最大,并 返回其值[4-5]。 Agent 在联盟生成时达到最优方案不一定是 全局最优解,但是应该是 Nash 最优解[6-7]或者次优 解,因此联盟生成主要包括以下活动: 收稿日期:2018−04−26. 网络出版日期:2018−06−20. 基金项目:国家自然科学基金项目 (61572418);山东省科技发 展计划项目 (2016GGX109004). 通信作者:童向荣. E-mail:txr@ytu.edu.cn. 第 14 卷第 3 期 智 能 系 统 学 报 Vol.14 No.3 2019 年 5 月 CAAI Transactions on Intelligent Systems May 2019
·414· 智能系统学报 第14卷 l)联盟结构生成:Agent之间进行协商生成 共有7种情况,分别是{a}、{a2、{a3}、{a,a2}、 联盟,但不考虑各个联盟之间的协商。 {a1,a、{a2,a3}、{a1,2,a3l,联盟结构一共存在5种 2)解决每个联盟优化问题:将Agent的任务 情况,分别是{a,{a2,{a从、{a,{a2,a从{a2l,{a1,a从 和资源集中在一起,共同解决问题。Agent之间 {a3h,{a1,2}和{a1,a2,a3o 进行协商使联盟的社会福利尽可能最大化,即寻 定义2社会福利。社会福利即为联盟结构 找最优的方法使得联盟本身的效用最大化。 CS中所有的联盟C,ie1,2,,k的收益之和,将 3)划分值:在进行收益分配的时候,常用的 联盟的值记为v(C),并且要求(C)≥0,联盟结构 方法有两种,即公平(每个Agent所得到的收益是 的社会福利记为V(CS),将具有最大的社会福利 Agent在博弈中的贡献的体现)和稳定(存在没 联盟结构称为最优联盟结构,记为CS,其最优社 有和其他Agent协商而单独形成自己的自私利益 会福利记为V(CS),则 联盟)。 同样,存在很多方法寻找和创建一个最优的 'CS)=∑C 联盟一协商或搜索以及用于找出解决问题的几 定义3次加性。对于任意的不相交的联盟 种潜在的方法,例如:遗传算法、博弈论、粒子群 S,T∈N,都存在v(SUT)≤v(S)+v(T)。换言之, 算法等。但是,随着研究的不断深入,在现实世 a,{a2小,,{an}为最大社会福利的联盟结构。 界的应用中有一些联盟结构是不允许生成的⑧。 定义4特征函数。给定一个n个Agent的 目前,联盟研究的热点问题主要是约束条件下 博弈,C是一个联盟,v(C)是指C和N-C两个 联盟生成。在现有研究中,很多文献已经考虑 Agent博弈中C的最大效用,(C)称为联盟C特 将联盟进行广泛应用,例如:通过形成联盟,自主 征函数(characteristic function),规定v(O)=0。 传感器可以改善某些区域的监控情况;认识无 1.2博弈类型 线电网络可以增加它们的吞吐量;购买者可以 在常用的联盟博弈模型中,通常用货币来表 通过批量购买而获得较低的价格,自主连接车 示联盟的价值(或奖励)。在进行博弈的过程 辆进行护航工作2);形成联盟促进社交网络关 中,假设存在一个在Agent之间可以自由流动的 系B1等。 交换媒介(如货币),每个Agent可以根据自己的 在Agent联盟研究发展中,Sandholm等u最 绩效得到相应的货币,这种博弈被称为“单边支 先提出最坏情况有限界联盟结构生成;Ych等6 付”博弈或可转移效用(transferable utility,TU)博 首次使用动态规划算法联盟生成并求得精确最优 弈。相反,联盟的绩效是用向量表示的,直接指 解;随着研究的不断深入,Agent数量的增加,先 定每个成员的绩效,Agent只能服从这种分配方 前的算法越来越不能满足当前的需求,Dang等叨 案,不能对分配方案进行修改,这种博弈被称为 首次提出建立次优联盟结构并求得次优解; 不可转移效用(non-transferable utility,NTU)博 Greco等u经过进一步研究,提出了一种新的联盟 弈。在多Agent系统中,可转移效用博弈受到了 结构生成的方式—约束联盟结构,即在生成联 很大的关注。 盟的过程对联盟添加约束。 1)特征函数博弈 1基本定义 特征函数博弈(characteristic function games,. CFGs)是联盟的价值完全取决于它所包含的 1.1主要定义 Agent的值。将特征函数博弈定义为(N,v),其中 假设所有的Agent都是理性的,并使用合作 N表示Agent数据集,v是一个函数,称为特征函 博弈建模进行Agent之间的合作和协商。在博弈 数,对于每个联盟C映射到函数中的值v(C)记为 中,令N是一个Agent集,其中n=W表示N中 v:2w→R。 Agent的个数,则N=(a1,a2,,an,联盟即N中非 2)分区博弈 空的子集。 在分区博弈(partition function games,.PFGs)中 定义1联盟结构。对于任意联盟C,在C上 联盟的价值不仅仅取决于所包含的Agent的值, 形成的联盟结构CS={C,C2,,Ck,其中UCS=C, 也会受非成员分区的影响。将分区博弈定义为 并且对于任意i,j∈L,2,…,,i≠j都需要满足 (N,w),其中N表示Agent数据集,w是一个分区 C:∩C,=0。 函数,每个嵌入式联盟(C,CS)映射到函数中的值 例1一个集合N={a,a2,a,N上的联盟一 是w(C,CS)或w(C,CS)
1) 联盟结构生成:Agent 之间进行协商生成 联盟,但不考虑各个联盟之间的协商。 2) 解决每个联盟优化问题:将 Agent 的任务 和资源集中在一起,共同解决问题。Agent 之间 进行协商使联盟的社会福利尽可能最大化,即寻 找最优的方法使得联盟本身的效用最大化。 3) 划分值:在进行收益分配的时候,常用的 方法有两种,即公平 (每个 Agent 所得到的收益是 Agent 在博弈中的贡献的体现) 和稳定 (存在没 有和其他 Agent 协商而单独形成自己的自私利益 联盟)。 同样,存在很多方法寻找和创建一个最优的 联盟——协商或搜索以及用于找出解决问题的几 种潜在的方法,例如:遗传算法、博弈论、粒子群 算法等。但是,随着研究的不断深入,在现实世 界的应用中有一些联盟结构是不允许生成的[8]。 目前,联盟研究的热点问题主要是约束条件下 联盟生成。在现有研究中,很多文献已经考虑 将联盟进行广泛应用,例如:通过形成联盟,自主 传感器可以改善某些区域的监控情况[9] ;认识无 线电网络可以增加它们的吞吐量[10] ;购买者可以 通过批量购买而获得较低的价格[11] ;自主连接车 辆进行护航工作[ 1 2 ] ;形成联盟促进社交网络关 系 [13-14]等。 在 Agent 联盟研究发展中,Sandholm 等 [15]最 先提出最坏情况有限界联盟结构生成;Yeh 等 [16] 首次使用动态规划算法联盟生成并求得精确最优 解;随着研究的不断深入,Agent 数量的增加,先 前的算法越来越不能满足当前的需求,Dang 等 [17] 首次提出建立次优联盟结构并求得次优解; Greco 等 [18]经过进一步研究,提出了一种新的联盟 结构生成的方式——约束联盟结构,即在生成联 盟的过程对联盟添加约束。 1 基本定义 1.1 主要定义 N n = |N| N N = (a1,a2,· · ·,an) N 假设所有的 Agent 都是理性的,并使用合作 博弈建模进行 Agent 之间的合作和协商。在博弈 中,令 是一个 Agent 集,其中 表示 中 Agent 的个数,则 ,联盟即 中非 空的子集。 C C CS = {C1,C2,· · ·,Ck} ∪CS = C i, j ∈ {1,2,· · ·, k},i , j Ci ∩Cj = Ø 定义 1 联盟结构。对于任意联盟 ,在 上 形成的联盟结构 ,其中 , 并且对于任意 都需要满足 。 例 1 一个集合 N = {a1,a2,a3},N 上的联盟一 {a1} {a2} {a3} {a1,a2} {a1,a3} {a2,a3} {a1,a2,a3} {{a1},{a2},{a3}} {{a1},{a2,a3}} {{a2},{a1,a3}} {{a3},{a1,a2}} {a1,a2,a3} 共 有 7 种情况,分别是 、 、 、 、 、 、 ,联盟结构一共存在 5 种 情况,分别是 、 、 、 和 。 Ci ,i ∈ {1,2,· · ·, k} v(Ci) v(Ci) ⩾ 0 V(CS) CS∗ V(CS∗ ) 定义 2 社会福利。社会福利即为联盟结构 CS 中所有的联盟 的收益之和,将 联盟的值记为 ,并且要求 ,联盟结构 的社会福利记为 ,将具有最大的社会福利 联盟结构称为最优联盟结构,记为 ,其最优社 会福利记为 ,则 V (CS) = ∑k i=1 ν(Ci) S,T ∈ N v(S ∪T) ⩽ v(S )+v(T) {{a1},{a2},· · ·,{an}} 定义 3 次加性。对于任意的不相交的联盟 ,都存在 。换言之, 为最大社会福利的联盟结构。 n C v(C) C N −C C v(C) C v(Ø) = 0 定义 4 特征函数。给定一个 个 Agent 的 博弈, 是一个联盟, 是指 和 两个 Agent 博弈中 的最大效用, 称为联盟 特 征函数 (characteristic function),规定 。 1.2 博弈类型 在常用的联盟博弈模型中,通常用货币来表 示联盟的价值 (或奖励[19] )。在进行博弈的过程 中,假设存在一个在 Agent 之间可以自由流动的 交换媒介 (如货币),每个 Agent 可以根据自己的 绩效得到相应的货币,这种博弈被称为“单边支 付”博弈或可转移效用 (transferable utility,TU) 博 弈。相反,联盟的绩效是用向量表示的,直接指 定每个成员的绩效,Agent 只能服从这种分配方 案,不能对分配方案进行修改,这种博弈被称为 不可转移效用 (non-transferable utility,NTU) 博 弈。在多 Agent 系统中,可转移效用博弈受到了 很大的关注。 1) 特征函数博弈 (N, v) N v v(C) v : 2N → R 特征函数博弈 (characteristic function games, CFGs) 是联盟的价值完全取决于它所包含的 Agent 的值。将特征函数博弈定义为 ,其中 表示 Agent 数据集, 是一个函数,称为特征函 数,对于每个联盟 C 映射到函数中的值 记为 。 2) 分区博弈 (N,w) N w (C,CS) w((C,CS)) w(C,CS) 在分区博弈 (partition function games,PFGs) 中 联盟的价值不仅仅取决于所包含的 Agent 的值, 也会受非成员分区的影响。将分区博弈定义为 ,其中 表示 Agent 数据集, 是一个分区 函数,每个嵌入式联盟 映射到函数中的值 是 或 。 ·414· 智 能 系 统 学 报 第 14 卷
第3期 任子仪,等:约束条件下联盟生成研究进展 ·415· CFGs是PFGs的子集,联盟C在CFGs中有 1)联盟结构图 一个精确值,但在PFGs中却存在很多值,这是因 Sandholm等提出的联盟结构图中,每个节点 为使用PFGs有不同的方法对N/C中的Agent进 代表一个联盟结构,并且将节点进行了划分,表示为 行分区。因此,在进行研究的过程中,使用 ,巧,…,,其中表示由i个联盟组成的所 C℉Gs更容易得到解决方案,提高算法的效率。 有的联盟结构的节点;边缘连接两个联盟结构, 1.3空间表示 当且仅当它们属于不同的划分,如和S:其中 在联盟结构生成问题中,通过联盟结构搜索 口中的联盟结构是由☑S,中的联盟分裂成两个联盟 得到最优联盟结构。 形成的。图1所示为具有4个Agent集联盟结构图。 {a},{a,{a,{a} a,aaa④a.a,atalalaata,ta.aaa.a,aa☑.ai.aa④ alaaa aalaa ☑a44④a4a4④aa44④a4,a4④@}a44④9 {a1,4,43a} 图14个Agent联盟结构 Fig.1 The coalition structure graph with 4 Agents 2)整数分区图 假设I∈P,定义巧∈是所有联盟结构组 在联盟结构图中,能直接看出具有ⅰ个联盟 成的子空间,其中联盟的大小受!部分的影响。例 所组成的联盟结构的情况。而Dean等2o提出的 如:份表示是由2个只有1个Agent联盟 整数分区图中,则是基于联盟结构中所包含的联 和1个有2个Agent组成的联盟形成的联盟结 盟的数量,将联盟结构中的空间划分成不相交的 构。对于这种表示一般用整数分区图来表示。整数 子空间,每个子空间是由n个整数分割表示的。 分区图也是一个无向图,其中每个节点代表一个 整数n的分区值可以通过递归的方法计算2四,用 子空间。两个节点I,∈P"是通过边连接的,当 Pm表示整数分区。例如:P=4,{1,3,{2,2,{1,1,2, 且仅当i,je1时,P=(八伍,)i+(三表示多重集 (1,1,1,1}。 的结合操作)。图2给出了有4个Agent整数分区图。 {1,1,1,1} u={{a1h,{a2,{a,{a}} {a},{az},{as,a},{az},{a},{a,a4} {1,12} {a1},{a3},aa}},{a2},a4},{a1,a3 {{a,{a,a2,a3}},{a3,{a4},{a1,a2}} , {a1,a2},{a1,a}》 a103a103 =2{2,2} {1,3} 3 {a1a4,{a1a2 4 Tr4={{a1,a2,a3,a4}} 图24个Agent整数分区图 Fig.2 The integer-partition graph representation of 4 Agents
N/C CFGs 是 PFGs 的子集,联盟 C 在 CFGs 中有 一个精确值,但在 PFGs 中却存在很多值,这是因 为使用 PFGs 有不同的方法对 中的 Agent 进 行分区。因此,在进行研究的过程中,使 用 CFGs 更容易得到解决方案,提高算法的效率。 1.3 空间表示 在联盟结构生成问题中,通过联盟结构搜索 得到最优联盟结构。 1) 联盟结构图 Π C 1 ,ΠC 2 ,· · ·,ΠC n Π C i Π C i Π C i−1 Π C i Π C i−1 Sandholm 等 [15]提出的联盟结构图中,每个节点 代表一个联盟结构,并且将节点进行了划分,表示为 ,其中 表示由 i 个联盟组成的所 有的联盟结构的节点;边缘连接两个联盟结构, 当且仅当它们属于不同的划分,如 和 ;其中 中的联盟结构是由 中的联盟分裂成两个联盟 形成的。图 1 所示为具有 4 个 Agent集联盟结构图。 2) 整数分区图 P n P 4 = {{4},{1,3},{2,2},{1,1,2}, {1,1,1,1}} 在联盟结构图中,能直接看出具有 i 个联盟 所组成的联盟结构的情况。而 Dean 等 [20]提出的 整数分区图中,则是基于联盟结构中所包含的联 盟的数量,将联盟结构中的空间划分成不相交的 子空间,每个子空间是由 n 个整数分割表示的。 整数 n 的分区值可以通过递归的方法计算[21] ,用 表示整数分区。例如: 。 I ∈ P Π C I ∈ Π C I Π {a1 ,a2 ,a3 ,a4 } {1,1,2} I,I ′ ∈ P n i, j ∈ I I ′ = (I\{i, j})Ξ{i+ j} Ξ 假设 ,定义 是所有联盟结构组 成的子空间,其中联盟的大小受 部分的影响。例 如: 表示是由 2 个只有 1 个 Agent 联盟 和 1 个有 2 个 Agent 组成的联盟形成的联盟结 构。对于这种表示一般用整数分区图来表示。整数 分区图也是一个无向图,其中每个节点代表一个 子空间。两个节点 是通过边连接的,当 且仅当 时, ( 表示多重集 的结合操作)。图 2 给出了有 4 个 Agent 整数分区图。 {a1},{a2 ,a3 ,a4} {a1 ,a2},{a3 ,a4} {a2},{a1 ,a3 ,a4} {a1 ,a3},{a2 ,a4} {a3},{a1 ,a2 ,a4} {a1 ,a4},{a2 ,a3} {a4},{a1 ,a2 ,a3} {a1},{a2},{a3 ,a4} {a1 ,a2},{a3},{a4} {a1},{a3},{a2 ,a4} {a2},{a4},{a1 ,a3} {a1},{a4},{a2 ,a3} {a2},{a3},{a1 ,a4} {a1},{a2},{a3},{a4} {a1 ,a2 ,a3 ,a4} Πc 4 Πc 3 Πc 2 Πc 1 图 1 4 个 Agent 联盟结构 Fig. 1 The coalition structure graph with 4 Agents {1,1,1,1} Πc {1,1,1,1}={{{a1},{a2},{a3},{a4}}} Πc {4}={{{a1 ,a2 ,a3 ,a4}}} {1,1,2} {2,2} {1,3} {4} { } {{a1},{a2},{a3 ,a4}},{{a2},{a3},{a1 ,a4}} {{a1},{a3},{a2 ,a4}},{{a2},{a4},{a1 ,a3}} {{a1},{a4},{a2 ,a3}},{{a3},{a4},{a1 ,a2}} =Πc {1,1,2} { } {{a1 ,a2},{a1 ,a4}}, {{a1 ,a3},{a1 ,a3}}, {{a1 ,a4},{a1 ,a2}} =Π{2,2} { } {{a1},{a2,a3 ,a4}} {{a2},{a1 ,a3 ,a4}} {{a3},{a1 ,a2 ,a4}} {{a4},{a1 ,a2 ,a3}} Πc {1,3}= 图 2 4 个 Agent 整数分区图 Fig. 2 The integer-partition graph representation of 4 Agents 第 3 期 任子仪,等:约束条件下联盟生成研究进展 ·415·
·416· 智能系统学报 第14卷 2联盟生成的复杂度 命题1表明,在联盟结构图上找到最优的联 盟结构是不可行的。所以,在进行联盟结构图的 2.1输入值的大小 搜索的时候设定一个限界。 对于具有n个Agent的数据集,会产生2n-1 对联盟结构的子集N进行搜索,目的在于寻 个非空的子集,生成2”-1个联盟,在进行运算时 找搜索中的最优联盟结构,即局部最优联盟结 需要输人2”-1个值。联盟结构生成算法的输入 构,记 值和Agent的个数之间呈指数关系。 理论上,在进行输入操作时即可排除一些不 CS=arg V(CS) 合理的联盟,或者在进行联盟结构生成的时候就 同时,为了保证设定的联盟结构在最佳范围 可以忽略一部分的输入。但是在接下来进行的操 内,即存在一个有限的但是尽可能小的值k,k被 作过程中无法保证存在单一的联盟与其他的联盟 称为搜索的解的界限,也是衡量局部最优解 进行合作之后的社会福利不是最佳社会福利,这 V(CSw)的标准。能够建立起界限的最小的k记为 V(CS) 是因为:被排除在外的联盟中可能存在比其他的 k=min),K≥vcS 联盟社会福利更大的联盟。 通常,如果没有对联盟结构进行完全搜索,设 2.2联盟结构的数量 定一个正确的界限是很难的。这是因为:在剪枝 随着联盟结构不断发展,Agent数量的增多, 的过程中虽然可以减少一些联盟结构的搜索,但 新问题也随之产生。联盟结构的个数表示为 是很难保证没有剪掉的比剪掉的具有更优性。在 立2 进行社会福利的定义的时候,令任意一个联盟C: 的值v(C)≥0,并且一个联盟结构的社会福利 其中:n代表数据集中的Agent个数;Zn,)表示具 V(CS)=∑v(C),这两点就保证了上述假设是不存 有i个联盟组成的联盟结构的个数;Zm,)满足第 2类Striling数的特征,即 在的,即在没有对联盟结构进行搜索的前提下设 Z(n,i)=iZ(n-1.)+Z(n-1,i-1) 置一个界限来缩小搜索联盟结构的数量。 式中:Zm,)=Zm,1)=1;Zn-1,)表示在现有存在 3.1建立界限 的联盟中增加一个新的Agent形成的联盟结构的 本节主要讨论如何尽可能地减少对图的搜索 个数;Zn-1,i-1)表示将一个新的Agent加入到 的前提下,建立一个界限k。 已有的联盟中,因为现在的联盟结构中只有 定理1对于界限k,可以只搜索联盟结构图 i-1个联盟被计算。有以下基本结果m2: 的最低的两级(图1中第7、5层)。在这个搜 命题1对于具有n个Agent的集合,具有 索中,界限=n,需要搜索的联盟结构节点的数量 2-1个联盟,O(n)和w2)个联盟结构(即联盟结 是2-1,这也是能够建立起界限的最小的搜索,即 构的个数的阶介于?n之间)。 nm=2-l。并且,没有其他的算法对于联盟结构 命题2寻找最优联盟结构是NP难问题。 的搜索的数量会比2-1少。 随着Agent数量的增加,联盟结构的数量也 最底层具有1个联盟结构,第二最底层中具 随之增加。经过实验的证明,当数据集中Agent 有2"-2个联盟(N中的所有子集,除掉全集和空 个数超过15时,使用穷举法列举出所有联盟结构 集)。在这一层中,每个联盟结构都有2个联盟, 是不可行的。 所以一共有2”-2)个联盟结构。只搜索最底下 3最坏情况有限界联盟结构生成 两层,一共搜索1+2-2)=2个联盟结果。 Dean和Boddy在时间依赖规划((time depend- 3.2算法描述 ent planning)的基础上提出了Anytime算法,其本 算法1最坏情况有保证联盟结构生成算法 质是一种反复求解使得结果更加精确的算法。在 1)搜索联盟结构图的最底二层; 算法的运行过程中,能够很快得到一个不精确的 2)从联盟结构图的顶层(第n层)开始,作宽 解,然后进行若干次的重复过程,经过重复后逐 度优先搜索,一直搜索到时间不允许为止或搜索 步提高解的质量,Anytime算法一个最显著的优 完整个联盟结构图; 点就是能够很好地权衡计算时间和解的质量。 3)返回迄今为止所得到的最优的联盟结构。 Sandholm等Is使用Anytime算法开创性地提出了 先前使用特征函数的方式2s2进行联盟结构 种最坏情况有限界联盟结构生成。 生成,算法1是一种任意时间算法,可以在任何时
2 联盟生成的复杂度 2.1 输入值的大小 2 n −1 2 n −1 2 n −1 对于具有 n 个 Agent 的数据集,会产生 个非空的子集,生成 个联盟,在进行运算时 需要输入 个值。联盟结构生成算法的输入 值和 Agent 的个数之间呈指数关系。 理论上,在进行输入操作时即可排除一些不 合理的联盟,或者在进行联盟结构生成的时候就 可以忽略一部分的输入。但是在接下来进行的操 作过程中无法保证存在单一的联盟与其他的联盟 进行合作之后的社会福利不是最佳社会福利,这 是因为:被排除在外的联盟中可能存在比其他的 联盟社会福利更大的联盟。 2.2 联盟结构的数量 随着联盟结构不断发展,Agent 数量的增多, 新问题也随之产生。联盟结构的个数表示为 ∑N i=1 Z(n,i) Z(n,i) Z(n,i) 其中:n 代表数据集中的 Agent 个数; 表示具 有 i 个联盟组成的联盟结构的个数; 满足第 2 类 Striling 数的特征,即 Z(n,i) = iZ(n−1,i)+Z(n−1,i−1) Z(n,i) = Z(n,1) = 1 iZ(n−1,i) Z(n−1,i−1) 式中: ; 表示在现有存在 的联盟中增加一个新的 Agent 形成的联盟结构的 个数; 表示将一个新的 Agent 加入到 已有的联盟中,因为现在的联盟结构中只 有 i-1 个联盟被计算。有以下基本结果[22-24] : 2 n−1 O(n n ) ω(n n/2 ) n 2 命题 1 对于具有 n 个 Agent 的集合,具有 个联盟, 和 个联盟结构 (即联盟结 构的个数的阶介于 ~n 之间)。 命题 2 寻找最优联盟结构是 NP 难问题。 随着 Agent 数量的增加,联盟结构的数量也 随之增加。经过实验的证明,当数据集中 Agent 个数超过 15 时,使用穷举法列举出所有联盟结构 是不可行的。 3 最坏情况有限界联盟结构生成 Dean 和 Boddy 在时间依赖规划 (time dependent planning) 的基础上提出了 Anytime 算法,其本 质是一种反复求解使得结果更加精确的算法。在 算法的运行过程中,能够很快得到一个不精确的 解,然后进行若干次的重复过程,经过重复后逐 步提高解的质量,Anytime 算法一个最显著的优 点就是能够很好地权衡计算时间和解的质量。 Sandholm 等 [15]使用 Anytime 算法开创性地提出了 一种最坏情况有限界联盟结构生成。 命题 1 表明,在联盟结构图上找到最优的联 盟结构是不可行的。所以,在进行联盟结构图的 搜索的时候设定一个限界。 对联盟结构的子集 N 进行搜索,目的在于寻 找搜索中的最优联盟结构,即局部最优联盟结 构,记: CS ∗ N = argmax CS ∈N V(CS ) V(CS ∗ N ) 同时,为了保证设定的联盟结构在最佳范围 内,即存在一个有限的但是尽可能小的值 k,k 被 称为搜索的解的界限,也是衡量局部最优解 的标准。能够建立起界限的最小的 k 记为 k = min{κ}, κ ⩾ V(CS ∗ ) V(CS ∗ N ) Ci v(Ci) ⩾ 0 V(CS ) = ∑k i=1 v(Ci) 通常,如果没有对联盟结构进行完全搜索,设 定一个正确的界限是很难的。这是因为:在剪枝 的过程中虽然可以减少一些联盟结构的搜索,但 是很难保证没有剪掉的比剪掉的具有更优性。在 进行社会福利的定义的时候,令任意一个联盟 的 值 ,并且一个联盟结构的社会福利 ,这两点就保证了上述假设是不存 在的,即在没有对联盟结构进行搜索的前提下设 置一个界限来缩小搜索联盟结构的数量。 3.1 建立界限 本节主要讨论如何尽可能地减少对图的搜索 的前提下,建立一个界限 k。 Π C 1 、Π C 2 2 n−1 nmin = 2 n−1 2 n−1 定理 1 对于界限 k,可以只搜索联盟结构图 的最低的两级 (图 1 中第 层)。在这个搜 索中,界限 k=n,需要搜索的联盟结构节点的数量 是 ,这也是能够建立起界限的最小的搜索,即 。并且,没有其他的算法对于联盟结构 的搜索的数量会比 少。 2 n −2 1 2 (2n −2) 1+ 1 2 (2n −2) = 2 n−1 最底层具有 1 个联盟结构,第二最底层中具 有 个联盟 (N 中的所有子集,除掉全集和空 集)。在这一层中,每个联盟结构都有 2 个联盟, 所以一共有 个联盟结构。只搜索最底下 两层,一共搜索 个联盟结果。 3.2 算法描述 算法 1 最坏情况有保证联盟结构生成算法 1) 搜索联盟结构图的最底二层; 2) 从联盟结构图的顶层 (第 n 层) 开始,作宽 度优先搜索,一直搜索到时间不允许为止或搜索 完整个联盟结构图; 3) 返回迄今为止所得到的最优的联盟结构。 先前使用特征函数的方式[25-26]进行联盟结构 生成,算法 1 是一种任意时间算法,可以在任何时 ·416· 智 能 系 统 学 报 第 14 卷
第3期 任子仪,等:约束条件下联盟生成研究进展 ·417· 间中断。如果将第1、2层搜索完成后,还存在剩 的答案。将动态规划算法应用于最优化的问题, 余时间,则可进一步地搜索缩小界限。 般分为4个步骤来完成: 定理2如果联盟结构图的第1、2层已经被 1)找出最优解的性质,并刻画其结构特征; 搜索完成并且第1层以及以上的层也被搜索完成 2)递归定义的最优值: 亿引当n=-nd且n三mad)时,k=[ 3)以自顶向下的方式计算出最优值; 是紧的,否则k=月是紧的,其中归= n-l 4)根据计算最优值所得到的信息,构造最优解。 +2 2 将动态规划算法应用于联盟中的想法是 在2-1个节点被搜索完之前,无法建立一个 Yeh在1986年首次提出的I;Rothkopf0及刘惊 界限。当搜索到2-1+1个节点时,可以建立界限 雷等B使用DP算法对求解最优联盟结构的算法 k=;搜索到2-l+1个节点的时候,界限变成 进行了改进,主要解决存在大量重复子问题计算 k=”。通过更多实验验证:当界限k变成” 的问题;Rahwan等2提出了IDP(improved dynam- 时,搜索的层数就会增加2层。当搜索的层数每 itic programming))算法;张新良等在2007年提出 增加2层,界限k前面的除数就会加1,若只多搜 了一种快速动态生成(search of coalition structure, 索一层时,没有明显效果。 SCS)算法,主要降低搜索次数。本文中,DP算法 总之,最坏情况有限界联盟结构生成算法中 主要基于定理3。 第2步具有很强的理性,即界限k能够迅速地下 定理3任意给定一个联盟C∈N,V(CS)是 降,同时该算法的收益递减,如图3所示。 最优联盟结构的社会福利,即V(CS)=maxV(CS), 则 (C),IC=1 V(CS*)= maxv(C),ma(vC)+v(C"),其他 ●, (1) 使用定理3进行动态规划,先计算只有一个 Agent的联盟,接着迭代具有2个Agent的联盟, 然后是具有3个Agent的联盟,一直迭代到具有 n个Agent的联盟。对于每个联盟C都需要使用 式(1)计算。从式(1)中易知:当1C≠1时,需要 ×104 2.5 50 7.5 10.0 搜索节点数 分别计算aC)+C和C)的值,然后将 两个值进行比较,得到具有较大社会福利的联 图3界限k作为10个Agent博奔中搜索的函数 盟。在此过程中,将所产生的暂存结果保存在变 Fig.3 Ratio bound k as a function of search in a 10-Agents 量t(C)中。 game 通过上述操作,计算出来的最大(C)就是我 界限k=n的建立与输入的Agct联盟的个 们最终要求的V(CS)。计算CS的迭代过程具体 数之间呈线性关系,这是因为输入2-1个数据,而 操作如例2所示。 当界限k=”时能够建立21个联盟结构,就是 例2令数据集N={a,a2,a3,aal,假设特征函 数为 所说的第1、2层和第n层上面的节点。 胡山立等22对算法1深入研究并进行改进, (a1)=30,v({a2)=40 v({a3)=25,v({a4)=45 给出了解决问题的一种任一时间联盟结构生成算 v{a1,a2})=50,v(《a1,a3)=60. 法和给定界限要求的联盟结构生成。Dang v{a1,aa)=80,v({a2,a3)=55 等提出不以层为单位最坏情况有限界的联盟结 v({a2,aa})=70,v({a3,aa})=80 构生成。 v({a1,a2,a3)=90,v({a1,a2,a4)=120 vla1,a3,a4l)=100,v({a2,a3,aul)=115 v({a1,a2,a3,a4)=140 4动态规划联盟生成求精确最优解 表1表示算法的具体运算过程。由表1知, 动态规划(dynamic programming,DP)算法和 tW=({a1,a2,{a3,au),能够将N分裂成{a1,2}和 分治法类似,其基本思想是将待求解的问题分解 {a,aa},而t({as,a4)={a3,a},这是因为{a1,a2}分 成若干个次级子问题,在求解的过程中,先求解 裂成{a{a2}后的社会福利比较大,{a,aa}不需 子问题,然后从子问题的解中得到要求解的问题 要进行分裂。所以CS={a,{a2,{a3,aa}o
间中断。如果将第 1、2 层搜索完成后,还存在剩 余时间,则可进一步地搜索缩小界限。 l > 3 n ≡ h−l( mod h) n ≡ l( mod h) k = ⌈ n h ⌉ k = ⌊ n h ⌋ h = ⌊ n−l 2 ⌋ +2 定理 2 如果联盟结构图的第 1、2 层已经被 搜索完成并且第 1 层以及以上的层也被搜索完成 ( ),当 且 时, 是紧的,否则 是紧的,其中 。 2 n−1 2 n−1 +1 2 n−1 +1 k = 1 2 n 1 3 n 在 个节点被搜索完之前,无法建立一个 界限。当搜索到 个节点时,可以建立界限 k=n;搜索到 个节点的时候,界限变成 。通过更多实验验证:当界限 k 变成 时,搜索的层数就会增加 2 层。当搜索的层数每 增加 2 层,界限 k 前面的除数就会加 1,若只多搜 索一层时,没有明显效果。 总之,最坏情况有限界联盟结构生成算法中 第 2 步具有很强的理性,即界限 k 能够迅速地下 降,同时该算法的收益递减,如图 3 所示。 k = 1 2 n 2 n−1 k = 1 2 n 2 n−1 界限 的建立与输入的 Agent 联盟的个 数之间呈线性关系,这是因为输入 个数据,而 当界限 时能够建立 个联盟结构,就是 所说的第 1、2 层和第 n 层上面的节点。 胡山立等[27-28]对算法 1 深入研究并进行改进, 给出了解决问题的一种任一时间联盟结构生成算 法和给定界限要求的联盟结构生成。 Dang 等 [29]提出不以层为单位最坏情况有限界的联盟结 构生成。 4 动态规划联盟生成求精确最优解 动态规划 (dynamic programming,DP) 算法和 分治法类似,其基本思想是将待求解的问题分解 成若干个次级子问题,在求解的过程中,先求解 子问题,然后从子问题的解中得到要求解的问题 的答案。将动态规划算法应用于最优化的问题, 一般分为 4 个步骤来完成: 1) 找出最优解的性质,并刻画其结构特征; 2) 递归定义的最优值; 3) 以自顶向下的方式计算出最优值; 4) 根据计算最优值所得到的信息,构造最优解。 将动态规划算法应用于联盟中的想法 是 Yeh 在 1986 年首次提出的[16] ;Rothkopf[30]及刘惊 雷等[31]使用 DP 算法对求解最优联盟结构的算法 进行了改进,主要解决存在大量重复子问题计算 的问题;Rahwan 等 [32]提出了 IDP(improved dynamitic programming) 算法;张新良等[33]在 2007 年提出 了一种快速动态生成 (search of coalition structure, SCS) 算法,主要降低搜索次数。本文中,DP 算法 主要基于定理 3。 C ∈ N V(CS∗ ) V(CS∗ ) = max CS ∈Πn V(CS) 定理 3 任意给定一个联盟 , 是 最优联盟结构的社会福利,即 , 则 V(CS∗ ) = v(C), |C| = 1 max{v(C), max {C′ ,C′′}∈ΠN (v(C ′ )+v(C ′′)}, 其他 (1) |C| , 1 max {C′ ,C′′}∈ΠN v(C ′ )+v(C ′′) v(C) t(C) 使用定理 3 进行动态规划,先计算只有一个 Agent 的联盟,接着迭代具有 2 个 Agent 的联盟, 然后是具有 3 个 Agent 的联盟,一直迭代到具有 n 个 Agent 的联盟。对于每个联盟 C 都需要使用 式 (1) 计算。从式 (1) 中易知:当 时,需要 分别计算 和 的值,然后将 两个值进行比较,得到具有较大社会福利的联 盟。在此过程中,将所产生的暂存结果保存在变 量 中。 v(C) V(CS∗ ) CS∗ 通过上述操作,计算出来的最大 就是我 们最终要求的 。计算 的迭代过程具体 操作如例 2 所示。 例 2 令数据集 N = {a1,a2,a3,a4} ,假设特征函 数为 v({a1}) = 30, v({a2}) = 40, v({a3}) = 25, v({a4}) = 45, v({a1 ,a2}) = 50, v({a1 ,a3}) = 60, v({a1 ,a4}) = 80, v({a2 ,a3}) = 55, v({a2,a4}) = 70, v({a3,a4}) = 80, v({a1,a2,a3}) = 90, v({a1,a2,a4}) = 120 v({a1,a3,a4}) = 100, v({a2,a3,a4}) = 115, v({a1,a2,a3,a4}) = 140 t(N) = ({a1,a2},{a3,a4}) {a1,a2} {a3,a4} t({a3,a4}) = {{a3,a4}} {a1,a2} {a1}、{a2} {a3,a4} CS∗ = {{a1},{a2},{a3,a4}} 表 1 表示算法的具体运算过程。由表 1 知, ,能够将 N 分裂成 和 ,而 ,这是因为 分 裂成 后的社会福利比较大, 不需 要进行分裂。所以 。 5.0 10.0 ×10 1 4 3 5 7 9 k 搜索节点数 2.5 7.5 图 3 界限 k 作为 10 个 Agent 博弈中搜索的函数 Fig. 3 Ratio bound k as a function of search in a 10-Agents game 第 3 期 任子仪,等:约束条件下联盟生成研究进展 ·417·