Talal Rahwan University of Southampton UK What is an Agent Hello I am an intelligent entity I am situated in a an environment I can perceive the environment I have goals I have a list of available actions ID: 626591
Download Presentation The PPT/PDF document "Computational Coalition Formation" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Computational Coalition Formation
Talal
Rahwan
(University of Southampton, UK)Slide2
What is an Agent?
Hello…
I am an intelligent entity….
I am situated in a an environment…
I can perceive the environment
I have goals…
I have a list of available actions…
I act
autonomously
to satisfy my goals
and…
most importantly…
I am social !!!Slide3
Hierarchies
Markets
Teams
Congregations
Societies
FederationsHolarchiesMatrix OrganizationsCompounds
CoalitionsOrganizations in Multi-Agent Systems
Data
ControlSlide4
Markets
Holarchies
Hierarchies
Teams
Congregations
SocietiesFederationsMatrix OrganizationsCompounds
CoalitionsOrganizations in Multi-Agent Systems
buyer
sellerSlide5
Hierarchies
Markets
Teams
Congregations
Societies
FederationsHolarchiesMatrix OrganizationsCompounds
CoalitionsOrganizations in Multi-Agent SystemsSlide6
Coalition Formation
Coalitions
in general are goal-directed and short-lived
No coordination among members of different coalitions
The organizational structure within each coalition is flatMain characteristicisSlide7
Smart Energy Grids
Electronic-commerce
Disaster Management
UN report said:
"Efforts
by the United Nations in Haiti have lacked sufficient coordination“
Cooperation among buyers to obtain quantity discounts, and sellers to maintain cartel pricing.Intelligent appliances and energy storage devices coordinate for optimal energy
use
Applications of Coalition FormationSlide8
Distributed sensor networks:
Coalitions
of sensors can work together to track targets of interest [Dang et al. 2006]
Distributed vehicle routing: Coalitions of delivery companies can be formed to reduce the transportation costs by sharing deliveries [Sandholm and Lesser, 1997]. Information gathering: Several information servers can form coalitions to answer queries [Klusch and Shehory, 1996].Applications of Coalition FormationSlide9
Game theory studies interactions between agents in situations known as games
Coalition Formation is studied in a field of Game theory, called
Cooperative Game Theory
In cooperative game, agents benefit from cooperation, but is that all that makes a game a cooperative one?
Cooperative Game TheorySlide10
Two agents committed a crime. Court does not have enough evidence to convict them of the crime, but can convict them of a minor offence
(
1 year in prison each)If one suspect confesses (acts as an informer), he walks free, and the other suspect gets
4 years
If both confess, each gets 3 yearsAgents have no way of communicating or making
binding agreementsExample: the Prisoner’s DilemmaSlide11
(
-1
,-1
)(
-4, 0)
(0, -4)(-3, -3)quietconfessquietconfessInterpretation: the pair (x, y) at the intersection of row i and column j means that the row player gets x and the column player gets y a2
a1
Prisoners’ Dilemma: Matrix Representation Slide12
Prisoners’ Dilemma: the Rational Outcome
(
-1
,
-1)
(-4, 0)(0, -4)(-3, -3)a1’s reasoning: if a2 stays quiet, I should confessif a2 confesses, I should confess, tooa2 reasons in the same wayResult: both confess and get 3 years in prison.But: they could have got only 1 year each!So why do not they cooperate? QuiteConfessQuite
Confessa1a2Slide13
In Non-Cooperation games, players cannot make binding agreements
But what if binding agreements are possible?
Cooperative games
model scenarios, whereagents can benefit by cooperating
binding agreements are possible
Cooperative vs. Non-Cooperative GamesSlide14
Cooperative Games
Cooperative Game
Characteristic Function Game (CFG)
Partition Function Game (PFG)
Does a coalition influence other co-existing coalitions?
YesNoTransferable Utility (TU) Game Non-Transferable Utility (NTU) Game Can a player transfer part of its utility to another?
YesNoSlide15
Example: Writing Papers
n
researchers working at
n
different universities can form groups to write papersthe composition of a group determines the quality of the paper they produceeach author receives a payoff
from his own university: promotionbonusteaching load reduction
TU or NTU?CFG or PFG?
NTU (payoffs are non-transferable)
CFG (a group does not influence others)Slide16
n farmers can cooperate to grow fruitEach group grows apples or oranges
a group of size
k
can grow f(k
) tons of apples, or g(k) tons of oranges, where
f() and g() are convex functions of kExample: Growing Fruits
The market price of a fruit drops monotonically as the number of tons available in the market increases
TU or NTU?
CFG or PFG?
TU (money is transferable)
P
FG (a group can influence another)Slide17
n children, each has some money:
Supermarkets
sells many ice-cream tubs
, in different sizes:Type
1 contains 500g, costs $7
Type 2 contains 750g, costs $9Type 3 contains 1kg, costs $11children have utility for ice-cream, and don‘t care about moneyThe payoff of a group is the maximum amount of ice-cream the members of the group can buy by pooling their moneyExample: Buying Ice-cream
TU or NTU?
CFG or PFG?
TU (ice-cream is transferable)
CFG (many available tubs)Slide18
How is a Cooperative Game Played?
Although agents work together, they can still be
selfish
We need to:
Partition the agents into coalitionsDivide the payoff of each coalition among its memberssuch that the outcome is stable
(i.e., no player, or group of players, has an incentive to deviate)We may also want to ensure that the outcome is fairWe will now see how to formalize these ideasSlide19
Cooperative Games
Transferable Utility (TU) Game
Non-Transferable Utility (NTU) Game
Characteristic Function Game (CFG)
Partition Function Game (PFG)
Focus of this talkCan a player transfer part of its utility to another?Does a coalition influence other co-existing coalitions?Cooperative GameY
esNo
Yes
NoSlide20
Transferable Utility Games Formalized
A
transferable utility game is a pair
(A, v), where:
A ={a1, ..., an
} is the set of players (or agents)v: 2A → R is the characteristic functionfor each C ⊆ A, v(C) is the value of C, i.e., the payoff that members of C can attain by working togetherusually it is assumed thatv(Ø) = 0v(C) ≥ 0 for any C ⊆ Av(C) ≤ v(D) for any C, D such that C ⊆ DThe biggest possible coalition (the one containing all agents) is called the grand coalitionSlide21
Ice-Cream Game: Characteristic Function
C: $6, M: $4, P: $3
w = 500g w = 750g w = 1000g
p = $7 p = $9 p = $11
v(Ø) = v({C}) = v({M}) = v({P}) = 0v({C, M}) = 750, v({C, P}) = 750, v({M, P}) = 500v({C, M, P}) = 1000Slide22
Transferable Utility Games: Outcome
CS
=(C
1, ..., C
k) is a coalition structure, i.e., a partition of
A into coalitions:C1 ... Ck = A,Ci Cj = Ø for i ≠ jx = (x1, ..., xn) is a payoff vector, which specifies the payoff of each agent:xi ≥ 0 for all ai A xi = v(C) for all CCS
An
outcome
of a TU game
G =(A, v)
is a pair
(CS,
x
)
, where:Slide23
Definition: a game G = (A, v)
is called
superadditive
iff: v(C
U D) ≥ v(C)+
v(D) for any two disjoint coalitions C and DExample: v(C) = |C|2:v(C U D) = (|C|+|D|)2 ≥ |C|2+|D|2 = v(C) + v(D)In superadditive games, any two coalitions can always merge without losing money; hence, we can assume that players form the grand coalitionSuperadditive GamesSlide24
Superadditive Games
In super-additive games, the
grand coalition forms, so:
Superadditive
Game
How should we divide the payoffs?
Which coalition structure is optimal?
Non-
Superadditive
Game
Grand coalition is always optimal !
How to divide payoff of grand coalition ?Slide25
What Is a Good Outcome? C: $4, M: $3, P: $3
v(Ø) = v({C}) = v({M}) = v({P}) = 0
v({C, M}) = 500, v({C, P}) = 500, v({M, P}) = 0
v({C, M, P}) = 750This is a superadditive game
outcomes are payoff vectorsHow should the players share the ice-cream?if they share as (200, 200, 350), Charlie and Marcie can get more
ice-cream by buying a 500g tub on their own, and splitting it equally the outcome (200, 200, 350) is not stable!Slide26
Definition: the
core
of a game is the set of all stable
outcomes, i.e., outcomes that no coalition wants to deviate from. That is: core(G) = {(CS,
x) |
xi ≥ v(C) for any C ⊆ A}Note: G is not necessarily superadditiveExample:v({a1, a2, a3}) = 9v({a4, a5}) = 4,but if v({a2, a4}) = 7 ?then (({a1, a
2, a3}, {a4, a5}), (3, 3, 3, 3, 1
)) is NOT in the core Transferable Utility Games: Stability
a
1
a
2a3a4
a5Slide27
Ice-Cream Game: Core C: $4, M: $3, P: $3
v(Ø) = v({C}) = v({M}) = v({P}) = 0, v({C, M, P}) = 750
v({C, M}) = 500, v({C, P}) = 500, v({M, P}) = 0
(200, 200, 350) is not in the core: v({C, M}) >
xC + xM(250, 250, 250) is in the core: no subgroup of players can deviate so that each member of the subgroup gets more
(750, 0, 0) is also in the core: Marcie and Pattie cannot get more on their own! Slide28
Games with Empty CoreThe core is a very attractive solution concept
However, some games have empty cores
G = (A, v)
A = {a1
, a2, a3
}, v(C) = 1 if |C| > 1 and v(C) = 0 otherwiseconsider an outcome (CS, x)if CS = ({a1}, {a2}, {a3}), the grand coalition can deviateif CS = ({a1, a2}, {a3}), either a1 or a2 gets less than 1, so can deviate with a3same argument for CS = ({a1, a3}, {a2}) or CS = ({a2, a3}, {a1})suppose CS = {a1, a
2, a3}: xi > 0 for some ai, so x(A\{ai}) < 1, yet v(A\{
ai}) = 1Slide29
e-Core
If the core is empty, we may want to find
approximately stable
outcomes Need to relax
the notion of the core: core: (CS, x
): x(C) ≥ v(C) for all C N e-core: (CS, x): x(C) ≥ v(C) - e for all C NIs usually defined for superadditive games onlyExample: G = (A, v), A = {a1, a2, a3}, v(C) = 1 if |C| > 1, v(C) = 0 otherwise1/3-core is non-empty: (1/3, 1/3, 1/3) 1/3-core
e-core is empty for any e < 1/3: xi ≥ 1/3 for some i = 1, 2, 3, so
x(A\{ai}) ≤ 2/3, v(A\{a
i}) = 1Slide30
Given
3
agents, the set of agents
is:
The possible
coalitions are:What is a Good Outcome ?A = {a1, a2, a3}a1a1 a2512
a2a3a
1 a3a
2
a3
a
1 a2 a355121224A solution of a coalitional game:
<? ? ?>STABILITYSTABILITY THE CORESlide31
Given
3
agents, the set of agents
is:
The possible
coalitions are:Characteristic Function GamesN = {a1, a2, a3}a1a1 a2512
a2a3a
1 a3a
2 a
3
a
1 a2 a355121224A solution of a coalitional game:STABILITY THE CORE
<13 7 4><10 7 7>Such division of payoff
that no sub-coalition wants to deviatea
2 : Wait!
But it is not fair!
a1 : Great!I like this core division!`a3 : My contribution to every coalition in the game is the same as a1Slide32
Given
3
agents, the set of agents
is:
The possible
coalitions are:Characteristic Function GamesN = {a1, a2, a3}a1a1 a2512
a2a3a
1 a3a
2 a
3
a
1 a2 a355121224A solution of a coalitional game:FAIRNESS SHAPLEY VALUE
<? ? ?>A unique division of payoffThat meets fairness criteria (axioms)
<8 8 8> Symmetry
Efficiency
Additivity
Null-playerFairness criteria:Slide33
a
1
a
2
a
3
a
1
a
2
a
3a2a1
a3a2
a3
a1
a
3a1a2a3a2a1Shapley Value – Definition
a
1
a
1
a
2
5
12
a
2
a
3
a
1
a
3
a
2
a
3
5
5
12
12Slide34
a
1
a
2
a
3a1a2a3a2a1
a3a2
a3a
1
a
3
a1a2a3a2a1Shapley Value – Definitiona1
a1 a2512
a2
a
3
a1 a3a2 a3551212Slide35
a
2
a
2
a
3a3a3a2a1
a2a3a1
a2
a
3
a
1a3a1a1a2a1Shapley Value – DefinitionMC(a1)
+5+5
+7
+12
+7
+1248/6 = 8= Sh(a1)00a1
a1 a25
12a2
a
3
a1 a3a2 a3551212Slide36
Coalition
Formation
P
rocess
Value
ValueValueValue
Payoff distribution
Coalition structure generation
optimal?Slide37
20+40+30=
90 70+30
=
100 40+40 =
80 20+65 = 85 95 Given 3 agents, the set of agents is: {a1,a2,a3} The possible coalitions are:{a1} {a2} {a3} {a1,a2} {a1,a3} {a2,a
3} {a1,a2,a3} The possible coalition structures:
{{a1},{a
2}
,{
a3}}
{{a1,a2},{a3}} {{a2},{a1,a3}} {{a1},{a2,a3}} {{a1,a2,a3}}
Input: a value of every possible coalition Output: a coalition structure in which the sum of values is maximized 20 40 30 70 40 65 95
Coalition Structure Generation
(in Characteristic Function Games)Slide38
What is the optimal coalition structure ?
Exercise
value
L
4
value
L3
value
L
2
value
L1
140
{1,2,3,4}
90
120
100115{1, 2, 3}{1, 2, 4}{1, 3, 4}
{2, 3, 4}
5060
80
55
7080{1, 2}{1, 3}{1, 4}{2, 3}{2, 4}
{3, 4}
3040
25
45
{1}{2}{3}{4}{ {1}, {2}, {3,4} }
AnswerSlide39
value
L
6
value
L
5
value
L4
value
L
3
valueL
2value
L
1
6217
1,2, 3, 4, 5, 6
48045657
46094829
5650
5852
1, 2, 3, 4, 51, 2, 3, 4, 61, 2, 3, 5, 61, 2, 4, 5, 61, 3, 4, 5, 62, 3, 4, 5, 6
4355
43733770
3528
3967
364741423875390536453850409939673318
3576
1, 2, 3, 41, 2, 3, 5
1, 2, 3, 6
1, 2, 4, 5
1, 2, 4, 61, 2, 5, 61, 3, 4, 51, 3, 4, 61, 3, 5, 61, 4, 5, 62, 3, 4, 52, 3, 4, 62, 3, 5, 62, 4, 5, 6
3, 4, 5, 6
3352
3102
3301
311932872696295033242460313429432956
295036612618
2906
2769
3070
31351, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 6
1, 4, 51, 4, 61, 5, 6
2, 3, 42, 3, 5
2, 3, 6
2, 4, 5
2, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 61750
167019891664
20232083
2272
2082
1995180725292045168321151956
1, 21, 31, 4
1, 51, 6
2, 3
2, 4
2, 52, 63, 43, 53, 64, 54, 65, 6
82611081065
890907
1024
1
23456
What is the optimal coalition structure ?ExerciseSlide40
The set of possible coalitions of agents: A = {1, 2, 3, 4, 5, 6}
CL
6
CL
5
CL4CL3
CL2
CL
1
1, 2, 3, 4, 5, 6
1 , 2 , 3 , 4 , 5
1 , 2 , 3 , 4 , 61 , 2 , 3 , 5 , 61 , 2 , 4 , 5 , 61 , 3 , 4 , 5 , 62 , 3 , 4 , 5 , 6
1 , 2 , 3 , 41 , 2 , 3 , 51 , 2 , 3 , 6
1 , 2 , 4 , 5
1 , 2 , 4 , 6
1 , 2 , 5 , 6
1 , 3 , 4 , 51 , 3 , 4 , 61 , 3 , 5 , 61 , 4 , 5 , 62 , 3 , 4 , 52 , 3 , 4 , 62 , 3 , 5 , 62 , 4 , 5 , 63 , 4 , 5 , 6
1 , 2 , 31 , 2 , 4 1 , 2 , 5
1 , 2 , 61 , 3 , 4
1 , 3 , 5
1 , 3 , 6
1 , 4 , 51 , 4 , 61 , 5 , 62 , 3 , 42 , 3 , 52 , 3 , 62 , 4 , 52 , 4 , 62 , 5 , 63 , 4 , 5
3 , 4 , 63 , 5 , 64 , 5 , 6
1 , 2
1 , 3
1 , 4
1 , 51 , 62 , 32 , 42 , 52 , 63 , 43 , 53 , 64 , 5
4 , 65 , 6
1
2
3
456Example:
Limit the permitted sizes, and use greedy algorithms (Shehory & Kraus
1999, 1996, 1995)Slide41
Integer programming (IP)
The integer model:
s.t.
{1,2,4}
1
2341 0 1 0 1 0 1 0 1 0 1 0 1 0 11 1 0 0 1 1 0 0 1 1 0 0 1 1 01 1 1 1 0 0 0 0 1 1 1 1 0 0 01 1 1 1 1 1 1 1 0 0 0 0 0 0 0Z =
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15xi {1,0}
Z . x = (1,…,1)
{3}
max
S
v(ci) . xii=12nSlide42
Order-based genetic algorithms (OBGA)
(S. Sen & P. Dutta 2000)
GA consists of 3 steps:
(1)
Evalutation (2) Selection (3) Re-combination9 3 2 8 6 1 7 5 44 2 1
7 6 8 9 5 3Parents
9
3 2
8 6
1 9
5 34 2 1 7 6 8 7 5 4Offspring7 1 5 6 2 3 4 8 9
9 3 2 8 6 1 7 5 46 1 2 3 4 8 7
5 93 8 9 1 5 4 2
6 7
4 2 1 7 6 8 9 5 3
6 9 3 1 7 8 4 5 2Samples{{3, 2}, {1}, {5, 3}}{{4, 2, 1}, {5, 4}}1 7 6 3 8 4 2 5 92 5 7 1 4 3 9 8 6
{ {2, 5}, {1, 4, 3
} }{ {1
}, {
3}, {4
, 2, 5} }overlapSlide43
Dynamic Programming techniques
IDP
Anytime with guarantees on solution quality
IP
Slow
False
True
O(
n
n
)O(3n)
Fast
IP
IDP
AlgorithmPropertyWorst case performanceReturn solutions anytimeTime to return optimal solution [Rahwan & Jennings N. R., An Improved Dynamic Programming Algorithm for Coalition Structure Generation, AAMAS 2008].[Rahwan et al., An Anytime Algorithm for Optimal Coalition Structure Generation, AAAI 2007, JAIR 2009].Related WorkSlide44
The Dynamic Programming (DP) Algorithm
Main observation:
To find the optimal partition of a set of agents, it is sufficient to:
try the possible ways to split the
set into two sets
, and
For every half, find the optimal partition of that half.Slide45
f
Best split
Evaluations performed before setting f
coalition
size
1
2
3
4
V({1,2})=50 f({1})+f({2})=70
V({1,3})=60 f({1})+f({3})=55
V({1,4})=80 f({1})+f({4})=75
V({2,3})=55 f({2})+f({3})=65
V({2,4})=70 f({2})+f({4})=85
V({3,4})=80 f({3})+f({4})=70
V({1,2,3})=90 f({1})+f({2,3})=95 f({2})+f({1,3})=100 f({3})+f({1,2})=95
V({1,2,4})=120 f({1})+f({2,4})=115 f({2})+f({1,4})=110 f({4})+f({1,2})=115
V({1,3,4})=100 f({1})+f({3,4})=110 f({3})+f({1,4})=105 f({4})+f({1,3})=105
V({2,3,4})=115 f({2})+f({3,4})=120 f({3})+f({2,4})=110 f({4})+f({2,3})=110
V({1,2,3,4})=140 f({1})+f({2,3,4})=150 f({2})+f({1,3,4})=150 f({3})+f({1,2,4})=145 f({4})+f({1,2,3})=145 f({1,2})+f({3,4})=150 f({1,3})+f({2,4})=145 f({1,4})+f({2,3})=145
{1} {2}
{1,3}
{1,4}
{2} {3}
{2} {4}
{3,4}
{2} {1,3}
{1,2,4}{1} {3,4}{2} {3,4}
{1,2} {3,4}
{1,2}
{1,3}{1,4}
{2,3}{2,4}{3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}{1,2,3,4}706080658580
100120110120
150
V({
1})=30
V
({2})=40
V
({3})=25
V({4})=45
{1}{2}{3}{4}{1}{2}{3}{4}3040
2545Slide46
{
a
1
}
,
{
a
2
}
,
{
a
3
,a
4
}
{a3},{a4},{a1,a2} {a1},{a3},{a2,a4} {a2},{
a4},{a1,a3} {a1},
{a4},{a2,a
3}
{a2
},{a3},{a1,a4}{a1},{a2},{a3},{a4}{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}
The Coalition Structure Graph
V = 150 V = 120 V = 125 V = 145 V = 130 V = 145
V = 140
V = 145 V = 130 V = 140 V = 130 V = 145 V = 135 V = 135
V = 140
{
a
1
},{a3}{a1,a3}
optimalSlide47
The Improved
Dynamic
Programming
Algorithm (
IDP)
We define a subset of edges E* We prove that the edges in E* are sufficient to form a path to every node in the graph We modify the original algorithm such that it only evaluates the movements through the edges in E*Slide48
{
a
1
}
,
{
a
2
}
,
{
a3,a4} {a3},{a4},{a1,a2} {a1},{a3},{a2,a4} {a2},{a4},{a
1,a3} {a1},{a4},{
a2,a3} {a
2},
{a3}
,{a1,a4}{a1},{a2},{a3},{a4}{a1},{a2,a3,a4} {a1
,a2},{a3,a4} {a2},{a
1,a3,a4} {a
1,a
3},{a
2,a4} {a3},{a1,a2,a4} {a1,a4},{a2,a3} {a4},{a1,a2,a3}{a1
,a2,a3,a4}The Coalition Structure Graph
optimalSlide49
f
Best split
Evaluations performed before setting f
Coalition
size
1
2
3
4
V({1,2
})=90
f({1})+f({2
})=80
V({1,3
})=80
f({1})+f({3
})=95
V({1,4
})=65
f({1})+f({4
})=85
V({2,3
})=90
f({2})+f({3
})=75
V({2,4})=70 f({2})+f({4
})=65V({3,4})=60 f({3})+f({4})=80 V({1,2,3})=125 f({1})+f({2,3})=140 f({2})+f({1,3})=125 f({3})+f({1,2})=135V({1,2,4})=120 f({1})+f({2,4})=120 f({2})+f({1,4})=
115 f({4})+f({1,2})=125V({1,3,4})=135 f({1})+f({3,4})=130 f({3})+f({1,4})=130 f({4})+f({1,3})=130
V({2,3,4})=115 f({2})+f({3,4})=110 f({3})+f({2,4})=115 f({4})+f({2,3})=125
V({1,2,3,4})=
160 f({1})+f({2,3,4})=175 f({2})+f({1,3,4})=
160 f({3})+f({1,2,4})=170 f({4})+f({1,2,3})=175 f({1,2})+f({3,4})=170 f({1,3})+f({2,4})=165 f({1,4})+f({2,3})=175{1,2}{1} {3}{1} {4}{2,3}{2,4}{3} {4}{1} {2,3}
{4} {1,2}{1,3,4}{4} {2,3}
{4} {1,2,3}
{1,2}
{1,3}
{1,4}{2,3}{2,4}{3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}{1,2,3,4}90958590
7080140125
135125
175
V
({1,2,3
})=125
V
({1,2,4})=
120
V({1,3,4})=135V({2,3,4})=115120
{1,2,4}
115
{2,3,4}
125
{1,2,3}
V
({1,2,3,4})=
160
f
({1,2})+f({3,4})=
170f({1,3})+f({2,4})=165
f({1,4})+f({2,3})=175
{1,4} {2,3}
V({
1})=50V({2})=30V({3})=45V({4})=35{1}{2}{3}{4}{1}{2}{3}{4}
50304535Slide50
Evaluation of IDP
The total number of evaluations performed by IDP is only
38.7%
of those performed by the original dynamic programming (DP) algorithmSlide51
How can we reduce the memory requirements ?
QuestionSlide52
f
Best split
Evaluations performed before setting f
Coalition
size
1
2
3
4
V[{1}]=30
V[{2}]=40
V[{3}]=25
V[{4}]=45
V[{1,2}]=50
f[{
1
}]+f[{
2}]=70
V[{1,3}]=60
f[{
1
}]+f[{
3}]=55
V[{1,4}]=80
f[{
1}]+
f[{4}]=75 V[{2,3}]=55 f[{2}]+f[{3}]=65V[{2,4}]=70 f[{2}]+f[{4}]=85V[{3,4}]=80
f[{3}]+f[{4}]=70V[{1,2,3}]=90 f[{1}]+f[{2,3}]=95 f[{
2}]+f[{1,3}]=100 f[{3}]+f[{1,2}]=95
V[{1,2,4}]=120
f[{1
}]+f[{2,4}]=115 f[{2}]+f[{1,4}]=110 f[{4}]+f[{1,2}]=115V[{1,3,4}]=100 f[{1}]+f[{3,4}]=110 f[{3}]+f[{1,4}]=105 f[{4}]+f[{1,3}]=105V[{2,3,4}]=115 f[{2}]+f[{3,4}]=120 f[{3}]+f[{2,4}]=110 f[{4
}]+f[{2,3}]=110V[{1,2,3,4}]=140 f[{1}]+f[{2,3,4}]=150 f[{2}]+f[{
1,3,4}]=150 f[{3}]+f[{1,2,4}]=145 f[{
4}]+f[{
1,2,3}]=145 f[{1,2
}]+f[{3,4}]=150 f[{1,3}]+f[{2,4}]=145 f[{1,4}]+f[{2,3}]=145{1}{2}{3}{4}{1} {2}{1,3}{1,4}{2} {3}{2} {4}{3,4}{2} {1,3}
{1,2,4}{1} {3,4}{2} {3,4}
{1,2} {3,4}30
40
2545
706080658580100120110120150Slide53
Dynamic Programming techniques
IDP
Anytime with guarantees on solution quality
IPRelated Work [Rahwan & Jennings N. R., An Improved Dynamic Programming Algorithm for Coalition Structure Generation, AAMAS 2008].[Rahwan et al., An Anytime Algorithm for Optimal Coalition Structure Generation, AAAI 2007, JAIR 2009].Slide54
Basic
Idea of
IP
Search space
Sub-space
Sub-space
Sub-spaceSub-spaceSub-spaceSub-space
Lower bound = 150
Upper bound = 350
Lower bound = 100
Upper bound = 600
Lower bound = 250 Upper bound = 450Lower bound = 200Upper bound = 550Lower bound = 200Upper bound = 300Lower bound = 100Upper bound = 250
400
500Slide55
Sub-space
Sub-space
Sub-space
Sub-space
Sub-space
Sub-spaceLower bound = 150
Upper bound = 350Lower bound = 100Upper bound = 600
Lower bound = 250 Upper bound = 450
Lower bound = 200
Upper bound = 550
Lower bound = 200
Upper bound = 300Lower bound = 100Upper bound = 250
400
500
{{a
1
}, {a2}, {a3,a4}}{{a1}, {a3}, {a2,a4}}{{a1}, {a4}, {a2,a3}}{{a2}, {a3
}, {a1,a4}}{{a2}, {a4}, {a1,a3}}
{{a3}, {a4}, {a1,a2}}
{{a
1
}, {a2}, {a3}, {a4}}{{a1,a2}, {a3,a4}}{{a1,a3}, {a2,a4}}{{a1,a4}, {a2,a3}}
{{a1, a2, a3, a4
}}
{{a
1}, {a2,a3
,a4}}{{a2}, {a1,a3,a4}}{{a3}, {a1,a2,a4}}{{a4}, {a1,a2,a3}}Basic Idea of IP
[4][1,3]
[2,2]
[1,1,2]
[
1,1,1,1]SSSSS{a
1}{a2}{a3}{a4}
{a2,a3
,a
4}{a
1,a3,a4}{a1,a2,a4}{a1,a2,a3}31Slide56
value
L
4
value
L
3
value
L
2
value
L
1425
{1, 2, 3, 4}
200
150
300
150{1, 2, 3}{1, 2, 4}{1, 3, 4}{2, 3, 4}
175150100
150
200
125
{1, 2}{1, 3}{1, 4}{2, 3}{2, 4}{3, 4}
1255075
150
1
2
34Avg1 = 100Avg2 = 150 Avg3 = 200Avg4 = 425
Max1 = 150
Max2 = 200 Max3 = 300
Max4 = 425
{{a
1}, {a2}, {a3,a4}}{{a1}, {a3}, {a2,a4}}{{a1}, {a4}, {a2,a3}}{{a2}, {a3}, {a1,a4}}{{a2}, {a
4}, {a1,a3}}{{a3}, {a4}, {a1,a2}}
{{a
1},
{a2}, {a3
}, {a4}}{{a1,a2}, {a3,a4}}{{a1,a3}, {a2,a4}}{{a1,a4}, {a2,a3}}{{a1, a2, a3,
a4}}{{a1}, {a2
,a3,a4}}{{a2}, {a1
,a3
,a4}}{{a
3}, {a1,a2,a4}}{{a4}, {a1,a2,a3}}[4][1,3][2,2]
[1,1,2]
[1,1,1,1]S
S
S
SSAvg=300UB=400Avg=300UB=450Avg=350UB=500Avg=400
UB=600Avg=425UB=425
How the Bounds are Computed
{ {a1}, {a1, a2, a3} }
{ {a1}, {a1, a2, a4} }
{ {a1}, {a1, a3, a4} }{ {a1}, {a2, a3, a4} }{ {a2}, {a1, a2, a3} }{ {a2}, {a1, a2, a4} }{ {a2}, {a1, a3, a4} }{ {a2}, {a2, a3, a4} }{ {a3}, {a1, a2, a3} }{ {a3}, {a1, a2, a4} }{ {a3}, {a1, a3, a4} }{ {a3}, {a2, a3, a4} }{ {a4}, {a1, a2, a3} }{ {a4}, {a1, a2, a4} }{ {a4}, {a1, a3, a4} }{ {a4}, {a2, a3, a4} }Slide57
[8]
[1,1,1,1,1,3]
[1,1,1,1,2,2]
[1,1,1,1,1,1,2]
[1,1,1,1,1,1,1,1]
[1,1,1,1,4]
[1,1,1,2,3]
[1,1,2,2,2]
[1,1,1,5]
[1,1,2,4]
[1,1,3,3]
[1,2,2,3]
[1,1,6]
[1,2,5]
[1,3,4]
[2,2,2,2]
[2,2,4][2,3,3][1,7][2,6][3,5]
[4,4]
Avg=350
Avg
=450
Avg=500Avg=390Avg=460Avg=520Avg=450Avg=440Avg=550Avg=520Avg=380
Avg=470Avg=420Avg=500
Avg=320Avg=360
UB=400
UB=575
UB=480UB=510UB=600UB=520UB=480UB=620UB=540UB=490UB=525UB=475UB=650
UB=400UB=390UB=700
Lower bound = 550
Upper bound = 700
Searched initially (contains one solution)
Searched while scanning the inputSearched initially (contains one solution)Slide58
Avg=520
Avg=450
Avg=440
Avg=550
Avg=520
UB=600UB=520
UB=480UB=620UB=540
Avg=350
Avg
=450
Avg=500
Avg=390Avg=460UB=400UB=575UB=480UB=510UB=700
Avg=500
Avg=380
Avg=470
Avg=420
Avg=320Avg=360UB=650UB=490UB=525UB=475
UB=400UB=390
Search
Lower bound = 550
Upper bound = 700
Lower bound = 600
[1,1,1,1,1,3]
[1,1,1,1,2,2]
[1,1,1,1,1,1,2]
[1,1,1,1,1,1,1,1]
[1,1,1,1,4]
[1,1,1,2,3]
[1,1,2,2,2]
[1,1,1,5]
[1,1,2,4]
[1,1,3,3]
[1,2,2,3]
[1,1,6]
[1,2,5]
[1,3,4]
[2,2,2,2][2,2,4][2,3,3]
[8]
[1,7]
[2,6]
[3,5]
[4,4]Searched while scanning the inputUpper bound = 650SearchSearched initially (contains one solution)
Searched initially (contains one solution)?
??Slide59
UB*
UB*
UB*
V*
UB*
Why select
sub-space with highest UB ?
UB*Slide60
value
L
5
value
L
4
Value
L3
Value
L
2
ValueL
1
165
1, 2, 3, 4, 5
110
140100150100
1, 2, 3, 4
1, 2, 3, 51, 2, 4, 5
1, 3, 4, 5
2, 3, 4, 5
707060604080
705075
75
1, 2, 3
1, 2, 4
1, 2, 5 1, 3, 41, 3, 51, 4, 52, 3, 42, 3, 52, 4, 53, 4, 5
40
30
30
40
4020302065351, 2
1, 31, 41, 5
2, 32, 4
2, 5
3, 4
3, 54, 52010303010
1
23
4
5
Avg=165UB=165Avg=100UB=145Avg=90UB=160
Avg=140UB=180
Avg=95
UB=155
Avg
=100UB=150Avg=105UB=140[5][2,3]
[1,4][1,2,2]
[1,1,1,2]
[1,1,3]
[1,1,1,1,1]
find the optimal solution using IP
Exercise:Avg
=20Avg=35
Avg
=65
Avg=120Avg=165Max=30Max=65Max=80Max=150Max=165Slide61
value
L
6
value
L
5
value
L4
value
L
3
valueL
2value
L
1
6217
1,2, 3, 4, 5, 6
48045657
46094829
5650
5852
1, 2, 3, 4, 51, 2, 3, 4, 61, 2, 3, 5, 61, 2, 4, 5, 61, 3, 4, 5, 62, 3, 4, 5, 6
4355
43733770
3528
3967
364741423875390536453850409939673318
3576
1, 2, 3, 41, 2, 3, 5
1, 2, 3, 6
1, 2, 4, 5
1, 2, 4, 61, 2, 5, 61, 3, 4, 51, 3, 4, 61, 3, 5, 61, 4, 5, 62, 3, 4, 52, 3, 4, 62, 3, 5, 62, 4, 5, 6
3, 4, 5, 6
3352
3102
3301
311932872696295033242460313429432956
295036612618
2906
2769
3070
31351, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 6
1, 4, 51, 4, 61, 5, 6
2, 3, 42, 3, 5
2, 3, 6
2, 4, 5
2, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 61742
166719891664
20232083
2272
2082
1995180725292045168321151956
1, 21, 31, 4
1, 51, 6
2, 3
2, 4
2, 52, 63, 43, 53, 64, 54, 65, 6
82611081065
890907
1024
1
23456
Scanning the input
L=3
[ 1 , 1 , 4 ]
[ 1 , 2 , 3 ]
[ 6 ]
[
2 , 2 , 2 ]
L=2
[ 1 , 5 ]
[ 2 , 4 ][ 3 , 3 ]L=1Slide62
Direction of cycle
C2
Overlap with C1
C3
Overlap with {C1, C2}
C3
Overlap with {C1, C2}
C3
Overlap with {C1, C2}
Overlap with C1
C1
C2
C1
C1
C1
C3
Searching a
Sub-space
Example: Search the following sub-space
[
x
, y, z]
Coalitions of size x
Coalitions of size y
Coalitions of size zSlide63
6, 7
5, 7
5, 6
4, 7
4, 6
4, 53, 73, 63, 53, 42, 72, 62, 52, 42, 31, 71, 61, 51, 41, 31, 26, 75, 75, 64, 74, 64, 53, 73, 63, 53, 4
2, 72, 62, 52, 42, 31, 71, 61, 51, 4
1, 31, 2
5, 6, 7
4, 6, 7
4, 5, 74, 5, 63, 6, 7
3, 5, 73, 5, 63, 4, 73, 4, 63, 4, 52, 6, 72, 5, 72, 5, 62, 4, 72, 4, 62, 4, 52, 3, 72, 3, 62, 3, 52, 3, 41, 6, 71, 5, 71, 5, 61, 4, 71, 4, 61, 4, 51, 3, 71, 3, 61, 3, 51, 3, 41, 2, 71, 2, 61, 2, 51, 2, 5
1, 2, 41, 2, 3
Redundant
invalid
invalid
L
2
L
2
L
3
C1
C2
C3
C1
C1
C2
C2
Direction of cycle
A = {1, 2, 3, 4, 5, 6, 7}
Subspace = [2, 2, 3]
ExampleSlide64
Overlap with C1
Overlap with {C1, C2}
Overlap with {C1, C2}
Overlap with {C1, C2}
Overlap with C1
Direction of cycle
C1
C2
Searching a
Sub-space
C3
Coalitions of size x
Coalitions of size y
Coalitions of size z
Value=
100
C2
Max
z
=
200
Example:
If
value of
best
solution found so far
i
s
500
, then if:
Applying Branch and Bound:
Value=
100
Example: Search the following sub-space
[
x
, y, z]
then prune and go back one step.Slide65
M2
M2
A2 = A1 / C1 = { , , , , }
A3=A2 / C2 = { , , }
4, 5
3, 5
3, 4
2, 5
2, 4
2, 3
1, 5
1, 4
1, 3
1, 2
A1 = A = { , , , , , , }
6, 7
5, 7
5, 6
4, 7
4, 6
4, 5
3, 7
3, 6
3, 5
3, 4
2, 72, 6
2, 52, 42, 31, 71, 61, 51, 41, 31, 2M11, 2, 3M3b c d e g
c d eb e g
b c d e f
d e f
A = {a,b,c,d,e,f,g} G = {2, 2, 3}
Searching a subsetM2C1={a,f}C2={b,g}C2={c,d}C1={a,g}
C2={b,c}a b c d e f g
Direction of cycleSlide66
CPLEX
Dynamic programming
2.5 days
4
hours
25 min
379 sec
Evaluation
(Time to Terminate)Slide67
IDP-IPSlide68
[1,1,1,5]
[1,1,2,4]
[1,1,3,3]
[1,2,2,3]
Level
8
Level
6
Level
5
Level
4
Level
3
Level
7
[1,1,1,1,1,3]
[1,1,1,1,2,2]
[1,1,1,1,1,1,2]
[
1,1,1,1,1,1,1,1]
[1,1,1,1,4]
[1,1,1,2,3]
[1,1,6]
[1,2,5]
[1,3,4]
[2,2,4]
[2,3,3]
Level
1
Level
2[8][1,7]
[2,6][3,5][4,4]
[1,1,2,2,2][2,2,2,2]
2
1,1
The Integer-Partition GraphSlide69
{{
a
1}
, {
a2,a3
,a4}} {{a2}, {a1,a3,a4}}{{a3}, {a1,a2,a4}}{{a4}, {a1,a2,a3}}{{a1}
, {a2,a3,a4}}
{{
a
1
}
, {a2}, {a3,a4}} , {{a1}, {a3}, {
a2,a4}}{{a1}, {a4}, {a
2,a3}} , {{a2},
{a
3}, {a
1,a4}}{{a2}, {a4}, {a1,a3}} , {{a3}, {a4}, {a1,a2}}{{a1}, {a2
}, {a3}, {a4}}
{{a1,a2},
{a
3,a4}}
{{a1,a3}, {a2,a4}}{{a1,a4}, {a2,a3}}{{a1, a2, a3, a4}}
Integer Partition Graph
Coalition Structure Graph
[4]
[1,3]
[
1,1,1,1]
{{
a
1}, {
a2}, {a3,a4}}Level4Level3Level2Level1{1},{2,3,4}
{1},{2},{3,4}[2,2][1,1,2]
{
a
1
}
,
{
a
2
},{a3,a4} {a3},{a4},{a1,a2} {a1},{a3},{a2,a4} {a2
},{a4},{a1,a3} {a
1},{a4},{a
2
,a3} {
a2},{a3},{a1,a4}{a1},{a2},{a3},{a4}{a1},{a2,a
3,a4} {a1,a2},{a3,a
4} {a2},{a
1,a
3,a4}
{a1,a3},{a2,a4} {a3},{a1,a2,a4} {a1,a4},{a2,a3} {a4},{a1,a2,a3
}{a1,a2,a3,a4}
{
a
1
}
,
{
a
2
,a3
,a4}{a1},{
a2},{a3
,a
4}Slide70
IDP-IPSlide71
Level
8
Level
6
Level
5
Level
4
Level
3
Level
7
Level1
Level2
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
[1,1,1,5]
[1,1,6]
[1,2,5]
[8]
[1,7]
[2,6]
[3,5]
[4,4]
[1,1,3,3]
[1,2,2,3]
[1,1,1,1,2,2]
[1,1,1,1,1,1,2]
[1,1,1,2,3]
[1,1,2,2,2]
[1,1,2,4]
[1,3,4]
[2,2,2,2]
[2,2,4]
[2,3,3]
[
1,1,1,1,1,1,1,1][1,1,1,1,1,3]
[1,1,1,1,4]The Integer-Partition GraphSlide72
IDP-IPSlide73
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
[1,1,1,5]
[1,1,6]
[1,2,5]
[8]
[1,7]
[2,6]
[3,5]
[4,4]
No edge!
No edge!
No edge!
No edge!
Level
8
Level
6
Level
5
Level
4
Level
3
Level
7
Level
1
Level
2
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IP
IP
IPIP
IDP
IDP
[
1,1,1,1,1,1,1,1]
[1,1,1,1,1,1,2][1,1,1,1,2,2][1,1,2,2,2][2,2,2,2][1,1,1,1,1,3][1,1,1,1,4][1,1,1,2,3][1,1,2,4]
[1,1,3,3][1,2,2,3][2,3,3]
[2,2,4]
[1,3,4]
The Integer-Partition Graph
?
?
?
?
Which one should
we search first ? Slide74
[1,1,5
]
[1,6
]
[2,5
]
[7
]
[1,3,3
]
[1,1,1,1,1,2
]
[1,1,2,3
]
[1,2,4
]
[3,4][1,1,1,1,1,1,1][1,1,1,4]
Exercise
By setting m=2, which subspaces are searched by IP, and in which order ?
1
21
1053521010570105
35211
7
21
35
[1,1,1,2,2][1,1,1,1,3][1,2,2,2]size ofsubspaceSlide75
[1,1,5
]
[1,6
]
[2,5
]
[7
]
[1,3,3
]
[1,1,1,1,1,2
]
[1,1,2,3][1,2,2,2][1,2,4]
[3,4]
[1,1,1,1,1,1,1]
delete
Exercise
By setting m=2, which subspaces are searched by IP, and in which order ?
[1,1,1,4
]
[1,1,1,2,2
][1,1,1,1,3]121105
35210105
70
105
35
211 72135Slide76
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IP
IP
IP
IP
Exercise
By setting m=2, which subspaces are searched by IP, and in which order ?
[1,1,5
]
[1,6
]
[2,5
]
[7
]
[1,3,3
]
[1,1,1,1,1,2][1,1,2,3][1,2,4][3,4]
[1,1,1,1,1,1,1][1,1,1,4]
[1,1,1,2,2][1,1,1,1,3]
[1,2,2,2
]
1211053521010570105
3521
1
7
21
35Slide77
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IDP
IP
IP
IP
IP
Exercise
By setting m=2, which subspaces are searched by IP, and in which order ?
[1,1,5
]
[1,6
]
[2,5
]
[7
]
[1,3,3
]
[1,1,1,1,1,2][1,1,2,3][1,2,4][3,4]
[1,1,1,1,1,1,1][1,1,1,4]
[1,1,1,2,2][1,1,1,1,3]
[1,2,2,2
]
1211053521010570105
3521
1
7
21
35105+105+21+1210+35105+3570105
10570
210
= 1
= 1.33
= 1.16= 2.21Slide78
Coalition Structure Generation in Multi-Agent Systems with Positive and Negative ExternalitiesSlide79
Given
3 agents: the set of agents is:
{a1,a2
,a3} The possible coalitions are:{a1} {a2} {a3} {a1,a2} {a1,a3} {a2,a3} {a1,a2,a3} The possible coalition structures:{{a
1},{a2},{a3}}
{{a1,a2},{
a3
}}
{{a2
},{a1,a3}} {{a1},{a2,a3}} {{a1,a2,a3}} Assumption: The value of a coalition structure is the sum of the values of the coalitions within that structure 20 40 30 70 40 65 95
20+40+30= 90 70+30 = 100 40+40 = 80 20+65 =
85 95a value for every coalition
INPUT
an optimal coalition structure
OUTPUTCSG in Characteristic Function GamesSlide80
35
20
15
20
Given 3 agents: the set of agents is: {a1,a2,a3} The possible coalitions are:{a1} {a2} {a3} {a1,a2} {a1,a3} {a2,a3} {a
1,a2,a3} The possible coalition structures:{{
a1},{a2}
,{
a
3}} {{
a1,a2},{a3}} {{a2},{a1,a3}} {{a1},{a2,a3}} {{a1,a2,a3}}
Assumption: The value of a coalition structure is the sum of the values of the coalitions within that structure+40+30=
70+30 = 100 40+40 = 80 +65
=
95
20 40 30 70 40 65 95CSG in Characteristic Function GamesPartition
a value for every coalition
INPUT
an optimal coalition structure
OUTPUT
105908580Slide81
-
+
C
1
C
2
C3
C2 U
C
3
C
1CSCS'
C
1
C
2
C3C2 U C3C1
+
-CS
CS'
Super
-additive values, negative externalitiesSub-additive values, positive externalitiesexternalityMichalak et. al. [ECAI-2008] focused on the following classes:
The merging of two coalitions may affect the values of
other coalitions in the structure!
Games with externalities are known as
Partition Function GamesSlide82
Computing Upper & Lower Bounds
We need to compute upper and lower bounds on the value of any combination of disjoint coalitions
C
2
C
1The maximum possible value of this combination is 500, and the minimum possible value is 100Example:
>
>
<
<
P
F+
P F :Slide83
Search
space
the best coalition structure in this
from the optimal
set is within a bound
m
coalition structure
We need to identify the minimum set of coalition structures that must be searched in order to establish a worst-case guarantee
We need to develop a novel algorithm for improving the worst-case bound with further search
Establishing Worst-Case GuaranteesSlide84
Y
is a set of subsets of
X
Y
'Main TheoremXx1x2
x3x4x
5
MUST BE Y/Y’
Y
x
1x2x3x5x4x1x4x2
x3x5
x1x2
x
3
x4x5x5x1x3x4x5x1
x1x1
x1
The bound equals the size of the biggest subset
Every
xi X may have different values in different subsets
Let
Y
'
be a subset of Y such that every element in X appears with its maximum value in Y'then the value of the best subset in Y' is within a bound m from the optimal, where m is the size of the biggest subset in Y
X is a set of elementsif every
xi
X
appears with its maximum value
20703050Slide85
In the next few slides, we will be using the following graphical representation:
{ {a
1
,a
2
}, {a3}, {a4} }{ {a1,a3}, {a2}, {a4} }{ {a1,a4}, {a2}, {a3} }{ {a2,a3}, {a1}, {a4} }{ {a2
,a4}, {a1}, {a3} }{ {a3,a4},
{a1}, {a2} }
2,1,1
1,1
{{a
1}, {a2}}{{a1}, {a3}}{{a1}, {a4}}{{a2}, {a
3}}{{a2}, {a4}}{{a3}, {a4
}}
2
{a
1, a2}{a1,a3}{a1,a4}{a2,a3}{a2,a4}{a3,a4}
1
2
3
4
Set of coalitions41,3
2,2
2,1,1
1,1,1,1
Set of coalition structures
i,j,k,... integers represent coalition sizesSlide86
[5,2,1,1,1] [4,3,1,1,1] [4,2,2,1,1] [3,3,2,1,1] [3,2,2,2,1] [2,2,2,2,2]
[5,1,1,1,1,1] [4,2,1,1,1,1] [3,3,1,1,1,1] [3,2,2,1,1,1] [2,2,2,2,1,1]
[4,1,1,1,1,1,1] [3,2,1,1,1,1,1] [2,2,2,1,1,1,1]
[3,1,1,1,1,1,1,1] [2,2,1,1,1,1,1,1]
[2,1,1,1,1,1,1,1,1]
[1,1,1,1,1,1,1,1,1,1]
Y
[7,1,1,1] [6,2,1,1] [5,3,1,1] [5,2,2,1] [4,4,1,1]
[4,3,2,1] [4,2,2,2] [3,3,3,1] [3,3,2,2]
[7,2,1]
[6,3,1]
[5,4,1]
[5,3,2]
[4,4,2]
[4,3,3]
[
10]
[2]
[1]
[7]
[3]
[4]
[5]
[9]
[6]
[10]
[8]
X
[1,1]
[1,1,1,1]
[2,2]
[9,1]
[8,2][7,3]
[6,4]
[5,5]
Y
'[6,1,1,1,1][6,2,2][8,1,1]
?
Establishing the Worst-Case Bound
in this set, every coalition appears with its maximum value
the bound equals the size of the biggest subset
[3,1,1,1,1,1,1,1
[3,2,1,1,1,1,1]
[3,2,2,1,1,1]
[5,2,1,1,1]
[4,3,1,1,1]
[3,3,2,1,1]
[3,2,2,2,1]
[3,3,3,1]
[4,3,2,1]
?
Y
X
Y
'Slide87
Solve Using Integer ProgrammingSlide88
Constrained Coalition Formation
88Slide89
In conventional models:
every possible subset of agents is a potential
coalition
,
every possible partition of the set of agents is a potential coalition structure.
Many times we have constraints that enforce or prohibit the co-existence of certain agents in a coalition.To date, very limited work on constraints, e.g., only permitting certain sizes.Constrained Coalition Formation (CCF)89Slide90
Let
P
(A)
be the set of all coalition structures. A constrained coalition formation (CCF) game is a tuple
G = 〈
A,CS, v〉 where:A = {a1, …, an} is the set of agentsCS ⊆ P(A) is the set of coalition structures that are feasiblev : (
⋃CS ∈ CS ⋃C
∈ CS
{C}
)
→ ℝ assigns a value to every coalition that appears in some feasible coalition structure
Feasibility is defined for coalition structures rather than for coalitions:Example: a coalition structure is feasible only if it contains coalitions of equal sizes. In this example, {{a1},{a2},{a3,a4}} is not feasible, even though each of its coalitions may be a part of some feasible coalition structureGeneral Model90Slide91
A CCF game G =
〈
A,
CS
, v〉 is
locally constrained if there exists a set of coalitions, C ⊆ 2A, such that CS = {CS ∈ P(A) : CS ⊆ C }.We will refer to the coalitions in C as feasible coalitions.Constraints are represented using propositional logic:Boolean variables correspond to agents: BA = { bi : ai ∈
A }Let d be a propositional formula over BA constructed using the classical connectives
( ⋀, ⋁, ¬, →, …).Coalition C satisfies
d
iff
d is satisfied under the truth assignment that sets all b
i : i ∈ C to true, and all bi : i ∉ C to false.Example: C = {a1,a4,a5,a7} satisfies d
= b4 ⋀ b5 Proposition: The class of propositionally definable CCF games is equal to the class of locally constrained CCF
games.Locally Constrained Games
91Slide92
A
basic CCF game
is a tuple G
=
〈A
, P, N, S, v〉 where:P is a set of subsets of A (Positive constraints)N is a set of subsets of A (Negative constraints)S ⊆ ℕ (permitted sizes) A coalition C is feasible if:
P ⊆ C for some P ∈ PN
⊈ C for all N ∈ N
|C| ∈
S
We will denote the feasible coalitions as
c (A, P, N, S)92Basic CCF ModelSlide93
93
Basic CCF ModelSlide94
94
P
N
S
1
2
3
94
Basic CCF ModelSlide95
General CCF games
Constraints are placed
on Coalition Structures
Local CCF games
Constraints are placed
on CoalitionsConstraint can be expressed using propositional logicBasic CCF gamesConstraints are placed on Coalitions In the form of:Size constraintsPositive constraintsNegative constraints95Slide96
96
size = 6
size = 5
size = 4
size = 3
size = 2
size=1
1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5
1, 2, 3, 4, 6
1, 2, 3, 5, 6
1, 2, 4, 5, 61, 3, 4, 5, 62, 3, 4, 5, 6
1, 2, 3, 41, 2, 3, 51, 2, 3, 61, 2, 4, 5
1, 2, 4, 6
1, 2, 5, 6
1, 3, 4, 5
1, 3, 4, 61, 3, 5, 61, 4, 5, 62, 3, 4, 52, 3, 4, 62, 3, 5, 62, 4, 5, 63, 4, 5, 61, 2, 3
1, 2, 41, 2, 5 1, 2, 6
1, 3, 41, 3, 5
1, 3, 6
1, 4, 5
1, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 6
3, 5, 64, 5, 6
1, 21, 3
1, 4
1, 5
1, 62, 32, 42, 52, 63, 43, 53, 64, 54, 6
5, 61
23
4
5
6
P
= {
Ø
}
, N = { {1,2,3,4}, {1,2,4,5}, {5,6} }Given a set of constraints, how do we generate the feasible coalitions?How to Generate Feasible
Coalitions?Slide97
f
( {12345678}
,
{158},{257},{578} ,
{123}{235} , Ø , Ø )P97AN
f
( {2345678} , {58}{257}{578} , {23}{235} , {1}
, Ø )contain agent 1
do not contain agent 1f ( {2345678} , {257}{578} , {235} , Ø
, {1} )
Divide & ConquerSlide98
Divide & Conquer
98
For any
i
∈ A, we divide the feasible coalitions c (A, P, N, S) into:Coalitions that do not contain ai : For those, we can:Remove ai from ARemove every P ∈ P such that a
i ∈ PRemove every N ∈
N such that ai
∈
N
Coalitions that contain ai : For those, we can:Remove ai from ARemove ai from every P ∈ P such that ai ∈ PRemove ai from every
N ∈ N such that ai ∈
NRepeat the above recursively until we reach:an impossible case
, where:
P = Ø
or N ∋ Øor a base case: |P| = 1, ∩N = Ø, |{N ∈ N : |N|>1 }| < 1 Slide99
Divide & Conquer
99
Repeat the division recursively until we reach:
an
impossible case
, where:P = Ø or N ∋ Øor a base case, where:|P| = 1 and ∩N = Ø and |{N
∈ N : |N|>1 }| < 1 Slide100
f
( {12345678} ,
{158}{257}{578} , {123}{235} ,
Ø , Ø )
contains 1does not contain 1f ( A, P, N, P*, N*) =100
Divide & Conquerf
( {234678} , Ø , {23} , {1} , {5} )
f
( {234678} , {8}{27} , {23} , {15} ,
Ø )
f ( {34678} , {8} , Ø , {15} , {2} ) P* = {{158}} , N* = {{2}}f ( {34678} , {8}{7} , {3} , {152} , Ø )f ( {467} , {7} , Ø , {152} , {8} ) P* = {{1527}} , N* = {{8}}
P* = {{1528}} , N* = Ø
does not contain
8
contains
8does not contain 2does not contain 5contains
2contains 5
Impossible case
f
( {467} , Ø{7} , Ø , {1528} , Ø )f ( {345678} , {578} ,
Ø , Ø , {1}{2} )f ( {345678} , {57}{578} , {35} , {2} , {1}
)P* = {{578}} , N* = {{1}{2}}
P* = {{2
57}} , N* = {{1}{3}}
f ( {45678} , {57}, Ø , {2} , {1}{3} )f ( {45678} , {57} , {5} , {23} , {1} )does not contain 2
contains 2
does not contain
3
contains
3Impossible case
f ( {2345678} , {58}{257}{578} , {23}{235} , {1} , Ø )
f
( {2345678} , {257}{578} , {235} ,
Ø , {1} )Slide101
101
P* = {{
1,2
}}
,
N* = { {3,4,5},{6},{7}} , S* = {1,2}How to Generate the coalitions that correspond to a base case?The single constraint in P*XC {3,4,5} : |C| ∈ S*
XC {8,9,10} : |
C| ∈ S*
Example: base case give 10 agents
{1,2}
Ø
{3}{4}{5}{3,4}{3,5}{4,5}Ø{8}{9}{10}{8,9}{8,10}{9,10}Slide102
102
Back to our Example
size = 6
size = 5
size = 4
size = 3
size = 2
size=1
1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5
1, 2, 3, 4, 6
1, 2, 3, 5, 61, 2, 4, 5, 61, 3, 4, 5, 62, 3, 4, 5, 6
1, 2, 3, 41, 2, 3, 5
1, 2, 3, 61, 2, 4, 5
1, 2, 4, 6
1, 2, 5, 6
1, 3, 4, 51, 3, 4, 61, 3, 5, 61, 4, 5, 62, 3, 4, 52, 3, 4, 62, 3, 5, 62, 4, 5, 63, 4, 5, 6
1, 2, 31, 2, 41, 2, 5
1, 2, 61, 3, 4
1, 3, 5
1, 3, 6
1, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 5
3, 4, 63, 5, 64, 5, 6
1, 2
1, 3
1, 4
1, 51, 62, 32, 42, 52, 63, 43, 53, 64, 5
4, 65, 6
12
3
4
56
P
= {
Ø
}
, N = { {1,2,3,4}, {1,2,4,5}, {5,6} }We wanted to generate the feasible coalitions using the base casesSlide103
P
1
*
= {
Ø}
N1* = {{1},{5,6}}P2* = {{1}} N2* = {{2},{5,6}}P3* = {{1,2}} N3* = {{3},{4},{5,6}}P4* = {{1,2,4}} N4* = {{3},{5}}P5* = {{1,2,3}} N5* = {{4},{5,6}}
size = 6
size = 5
size = 4
size = 3
size = 2
size=1
1, 2, 3, 4, 5, 6
1, 2, 3, 4, 5
1, 2, 3, 4, 6
1, 2, 3, 5, 6
1, 2, 4, 5, 61, 3, 4, 5, 62, 3, 4, 5, 6
1, 2, 3, 41, 2, 3, 5
1, 2, 3, 61, 2, 4, 5
1, 2, 4, 6
1, 2, 5, 6
1, 3, 4, 51, 3, 4, 61, 3, 5, 61, 4, 5, 62, 3, 4, 52, 3, 4, 62, 3, 5, 62, 4, 5, 63, 4, 5, 6
1, 2, 31, 2, 41, 2, 5
1, 2, 61, 3, 4
1, 3, 5
1, 3, 6
1, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 5
3, 4, 63, 5, 64, 5, 6
1, 2
1, 3
1, 4
1, 51, 62, 32, 42, 52, 63, 43, 53, 64, 5
4, 65, 6
12
3
4
56
103
P
= {
Ø
}
,
N
= {
{1,2,3,4
},
{
1,2,4,5},
{
5,6} }
Back to our Example
How to search the feasible coalition structures?
This can be done using the base cases as follows:Slide104
104
Searching Feasible Coalition Structures
(
P
1
*,N1*)(P2*,N2*)(P3*,N3*)(P4*,
N4*)(P6*,N
6*)(
P7
*,
N7*)
(P8*,N8*)(P9*,N9*)(P10*,N10*)(P11
*,N11*)(P12*,
N12*)
(
P14*,
N14*)(P15*,N15*)
a
1
a
1
a
4
a
7
a
2
a
1
a
6
a3a4a6a7
a6a8a8
a
4
a
7a2a1a6a3a4a6a6a7
a8a1
a2a5
a
5
a2a1a8(P13*,N13*)L3L4
L5
L
1
L
2(P1*,N1*)
(P2*,N2*)
(P3*,
N
3*)
(P4*,N4*)(P6*,N6*)(P7*,N7*)(P8*,
N8*)(P5*,N
5*)(
P
10*,N10
*)(P11*,N11*)(P9*,N9*)(P12*,N12*)(
P14*,N14*)(
P15*,N15*)
(
P
13*,N13*)impossible caseimpossible case(P5*,N5*)Slide105
105
Searching Feasible Coalition Structures
L
3
L
4L5
L
1
L
2
(
P1*,N1*)(P2*,N2*)(P3*,N3*)(P4*,
N4*)(P5*,N
5*)(
P6
*,N6
*)(P7*,N7*)(P8*,N8*)(P9*,N9*)(
P10*,N10*)(P11
*,N11*)
(
P12*,
N12*)(P13*,N13*)(P14*,N14*)(P16*,N16*)
(P17*,N17*)(
P15*,N15*)
Every feasible coalition structure contains
exactly one coalition from L
1, and at most one coalition from Li : i = 2, 3, …For every coalition C1 ∈ L1: add C1 to CS and, and add the agents in C1 to Nj* for every (Pj*,Nj*) ∈ L2If UCS
≠ A, the process is repeated: add a coalition C2 ∈ L2 to CS, and add the agents in
C1 U C2 to every (P
j*,
Nj*)
∈ L3… etc.To speed up the search, we apply a branch-and-bound technique.Slide106
106
Experimental Results
Time
in
log
scale to find an optimal coalition structureWe outperform existing algorithms by several orders of magnitude