pptx

advertisement
Computational Coalition
Formation
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…
I act autonomously to satisfy my goals
and…
most importantly…
I am social !!!
Organizations in Multi-Agent Systems
Hierarchies
Compounds
Markets
Teams
Coalitions
MatrixControl
Organizations
Holarchies
Congregations
Federations
Societies
Data
Organizations in Multi-Agent Systems
Hierarchies
Compounds
Markets
Teams
Coalitions
Matrix
Organizations
Holarchies
Congregations
Federations
Societies
seller
buyer
Organizations in Multi-Agent Systems
Hierarchies
Compounds
Markets
Teams
Coalitions
Matrix
Organizations
Holarchies
Congregations
Federations
Societies
Coalition Formation
Main characteristicis
Coalitions in general are goal-directed and short-lived
No coordination among members of different coalitions
The organizational structure within each coalition is flat
Applications of Coalition Formation
Smart Energy Grids
Intelligent appliances and energy
storage devices coordinate for
optimal energy use
Electronic-commerce
Cooperation among buyers to
obtain quantity discounts, and
sellers to maintain cartel pricing.
Disaster Management
UN report said: "Efforts by the
United Nations in Haiti have lacked
sufficient coordination“
Applications of Coalition Formation
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].
Cooperative Game Theory
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?
Example: the Prisoner’s Dilemma
• 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 years
• Agents have no way of communicating or making
binding agreements
Prisoners’ Dilemma: Matrix Representation
a2
quiet
confess
quiet
(-1,-1)
(-4, 0)
confess
(0, -4)
(-3, -3)
a1
• Interpretation: 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
Prisoners’ Dilemma: the Rational Outcome
• a1’s reasoning:
– if a2 stays quiet,
I should confess
– if a2 confesses,
I should confess, too
•
•
•
•
a1 a 2
Quite
Confess
Quite
(-1,-1)
Confess
(-4, 0)
(0, -4) (-3, -3)
a2 reasons in the same way
Result: both confess and get 3 years in prison.
But: they could have got only 1 year each!
So why do not they cooperate?
Cooperative vs. Non-Cooperative
Games
• In Non-Cooperation games, players cannot make
binding agreements
• But what if binding agreements are possible?
• Cooperative games model scenarios, where
– agents can benefit by cooperating
– binding agreements are possible
Cooperative Games
Does a coalition
influence other
co-existing
coalitions?
Cooperative
Game
Can a player
transfer part of
its utility to
another?
Partition Function
Game (PFG)
Characteristic
Function Game
(CFG)
Transferable
Utility (TU)
Game
Non-Transferable
Utility (NTU) Game
Example: Writing Papers
• n researchers working at n different universities can form
groups to write papers
• the composition of a group determines the quality of the
paper they produce
• each author receives a payoff
from his own university:
– promotion
– bonus
– teaching load reduction
• TU or NTU? NTU (payoffs are non-transferable)
• CFG or PFG? CFG (a group does not influence others)
Example: Growing Fruits
• n farmers can cooperate to grow fruit
• Each 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 k
• The market price of a fruit drops monotonically as the
number of tons available in the market increases
• TU or NTU? TU (money is transferable)
• CFG or PFG? PFG (a group can influence another)
Example: Buying Ice-cream
• 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 $9
– Type 3 contains 1kg, costs $11
• children have utility for ice-cream, and don‘t care about money
• The payoff of a group is the maximum amount of ice-cream the
members of the group can buy by pooling their money
• TU or NTU? TU (ice-cream is transferable)
• CFG or PFG? CFG (many available tubs)
How is a Cooperative Game
Played?
• Although agents work together, they can still be selfish
• We need to:
– Partition the agents into coalitions
– Divide the payoff of each coalition among its members
such 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 fair
• We will now see how to formalize these ideas
Cooperative Games
Does a coalition
influence other
co-existing
coalitions?
Cooperative
Game
Can a player
transfer part of
its utility to
another?
Partition Function
Game (PFG)
Characteristic
Function Game
(CFG)
Transferable
Utility (TU)
Game
Non-Transferable
Utility (NTU) Game
Focus
of this
talk
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 function
• for each C ⊆ A, v(C) is the value of C, i.e., the payoff that
members of C can attain by working together
– usually it is assumed that
• v(Ø) = 0
• v(C) ≥ 0 for any C ⊆ A
• v(C) ≤ v(D) for any C, D such that C ⊆ D
• The biggest possible coalition (the one containing all
agents) is called the grand coalition
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}) = 0
• v({C, M}) = 750, v({C, P}) = 750, v({M, P}) = 500
• v({C, M, P}) = 1000
Transferable Utility Games: Outcome
An outcome of a TU game G =(A, v) is a pair (CS, x), where:
• CS =(C1, ..., Ck) is a coalition structure,
i.e., a partition of A into coalitions:
– C1  ...  Ck = A,
– Ci  Cj = Ø for i ≠ j
• x = (x1, ..., xn) is a payoff vector, which
specifies the payoff of each agent:
– xi ≥ 0 for all ai A
– S𝑖∶ 𝑎𝑖𝐶 xi = v(C) for all CCS
Superadditive Games
• 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 D
• Example: 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 coalition
Superadditive Games
• In super-additive games, the grand coalition forms, so:
Which coalition
structure is optimal?
How should we
divide the payoffs?
Non-Superadditive
Game
Grand coalition is
always optimal !
Superadditive
Game
How to divide payoff
of grand coalition ?
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}) = 750
This is a superadditive game
– outcomes are payoff vectors
• How 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!
Transferable Utility Games: Stability
• 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) | S𝑖∶ 𝑎𝑖𝐶 xi ≥ v(C) for any C ⊆ A}
• Note: G is not necessarily superadditive
• Example:
a2
a4
a
1
– v({a1, a2, a3}) = 9
a3
a5
– v({a4, a5}) = 4,
– but if v({a2, a4}) = 7 ?
– then (({a1, a2, a3}, {a4, a5}), (3, 3, 3, 3, 1)) is NOT in
the core
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!
Games with Empty Core
• The 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 otherwise
consider an outcome (CS, x)
if CS = ({a1}, {a2}, {a3}), the grand coalition can deviate
if CS = ({a1, a2}, {a3}), either a1 or a2 gets less than 1,
so can deviate with a3
– same argument for CS = ({a1, a3}, {a2}) or CS = ({a2, a3},
{a1})
– suppose CS = {a1, a2, a3}:
xi > 0 for some ai, so x(A\{ai}) < 1, yet v(A\{ai}) = 1
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  N
• Is usually defined for superadditive games only
• Example: G = (A, v), A = {a1, a2, a3},
v(C) = 1 if |C| > 1, v(C) = 0 otherwise
– 1/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\{ai}) = 1
What is a Good Outcome ?
Given 3 agents, the set of agents is:
A = {a1, a2, a3}
The possible coalitions are:
a1
a2
a3
a1 a2
a1 a3
a2 a3
a1 a2 a3
5
5
5
12
12
12
24
A solution of a coalitional game:
STABILITY  THE CORE
STABILITY
<? ? ?>
Characteristic Function Games
Given 3 agents, the set of agents is:
N = {a1, a2, a3}
The possible coalitions are:
a1
a2
a3
a1 a2
a1 a3
a2 a3
5
5
5
12
12
12
A solution of a coalitional game:
a2 : Wait!
But it is not fair!
STABILITY  THE CORE
Such division of payoff
that no sub-coalition
wants to deviate
a1 : Great!
I like this core
division!`
a1 a2 a3
24
<13 7 4>
<10
7>
a3 : My contribution
to every coalition in the
game is the same as a1
Characteristic Function Games
Given 3 agents, the set of agents is:
N = {a1, a2, a3}
The possible coalitions are:
a1
a2
a3
a1 a2
a1 a3
a2 a3
5
5
5
12
12
12
A solution of a coalitional game:
Fairness criteria:
FAIRNESS  SHAPLEY VALUE
A unique division of payoff
That meets fairness criteria
(axioms)
a1 a2 a3
24
<8
<? ?8 ?>
8>
 Symmetry
 Null-player
 Additivity
 Efficiency
Shapley Value – Definition
a1
a2
a3
a1
a2
a3
a2
a1
a3
a2
a3
a1
a3
a1
a2
a3
a2
a1
a1
a2
a3
a1 a2
a1 a3
a2 a3
5
5
5
12
12
12
Shapley Value – Definition
a1
a2
a3
a1
a2
a3
a2
a1
a3
a2
a3
a1
a3
a1
a2
a3
a2
a1
a1
a2
a3
a1 a2
a1 a3
a2 a3
5
5
5
12
12
12
Shapley Value – Definition
MC(a1)
0
a1
a2
a3
+5
0
a1
a2
a3
+5
a2
a1
a3
+7
a2
a3
a1
a3
a1
a2
a3
a2
a1
+12 = 8
48/6
= Sh(a
+7 1)
+12
a1
a2
a3
a1 a2
a1 a3
a2 a3
5
5
5
12
12
12
Coalition Formation Process
optimal?
Coalition structure
generation
Value
Value
Payoff
distribution
Value
Value
Coalition Structure Generation
(in Characteristic Function Games)
Given 3 agents, the set of agents is:
{a1,a2,a3}
The possible coalitions are:
{a1}
20
{a2}
40
{a3}
30
{a1,a2}
70
40
{a1,a3}
{a2,a3}
65
95
{a1,a2,a3}
The possible coalition structures:
{{a1},{a2},{a3}}
20+40+30=90
{{a1,a2},{a3}}
70+30= 100
{{a2},{a1,a3}}
40+40= 80
{{a1},{a2,a3}}
20+65 = 85
{{a1,a2,a3}}
95
Input: a value of every possible coalition
Output: a coalition structure in which the sum of values is maximized
L1
value
{1}
{2}
{3}
{4}
30
40
25
45
value
L2
{1,
{1,
{1,
{2,
{2,
{3,
2}
3}
4}
3}
4}
4}
50
60
80
55
70
80
L3
{1,
{1,
{1,
{2,
2,
2,
3,
3,
3}
4}
4}
4}
Exercise
What is the optimal coalition
structure ?
Answer
{ {1}, {2}, {3,4} }
value
L4
value
90
120
100
115
{1,2,3,4}
140
L1 value L2
value
L3
value
L4
value
L5
value
L6
value
826
1108
1065
890
907
1024
1750
1670
1989
1664
2023
2083
2272
2082
1995
1807
2529
2045
1683
2115
1956
1, 2, 3
1, 2, 4
1, 2, 5
1, 2, 6
1, 3, 4
1, 3, 5
1, 3, 6
1, 4, 5
1, 4, 6
1, 5, 6
2, 3, 4
2, 3, 5
2, 3, 6
2, 4, 5
2, 4, 6
2, 5, 6
3, 4, 5
3, 4, 6
3, 5, 6
4, 5, 6
3352
3102
3301
3119
3287
2696
2950
3324
2460
3134
2943
2956
2950
3661
2618
2906
2769
3070
3135
1, 2, 3, 4
1, 2, 3, 5
1, 2, 3, 6
1, 2, 4, 5
1, 2, 4, 6
1, 2, 5, 6
1, 3, 4, 5
1, 3, 4, 6
1, 3, 5, 6
1, 4, 5, 6
2, 3, 4, 5
2, 3, 4, 6
2, 3, 5, 6
2, 4, 5, 6
3, 4, 5, 6
4355
4373
3770
3528
3967
3647
4142
3875
3905
3645
3850
4099
3967
3318
3576
1, 2, 3, 4, 5
1, 2, 3, 4, 6
1, 2, 3, 5, 6
1, 2, 4, 5, 6
1, 3, 4, 5, 6
2, 3, 4, 5, 6
4804
5657
4609
4829
5650
5852
1,2, 3, 4, 5, 6
6217
1
2
3
4
5
6
1, 2
1, 3
1, 4
1, 5
1, 6
2, 3
2, 4
2, 5
2, 6
3, 4
3, 5
3, 6
4, 5
4, 6
5, 6
Exercise
What is the optimal coalition
structure ?
Limit the permitted sizes, and use greedy
algorithms (Shehory & Kraus 1999, 1996, 1995)
Example:
The set of possible
coalitions of agents:
A = {1, 2, 3, 4, 5, 6}
CL
1
CL2
CL3
CL4
CL5
CL6
1
2
3
4
5
6
1,2
1,3
1,4
1,5
1,6
2,3
2,4
2,5
2,6
3,4
3,5
3,6
4,5
4,6
5,6
1,2,3
1,2,4
1,2,5
1,2,6
1,3,4
1,3,5
1,3,6
1,4,5
1,4,6
1,5,6
2,3,4
2,3,5
2,3,6
2,4,5
2,4,6
2,5,6
3,4,5
3,4,6
3,5,6
4,5,6
1,2,3,4
1,2,3,5
1,2,3,6
1,2,4,5
1,2,4,6
1,2,5,6
1,3,4,5
1,3,4,6
1,3,5,6
1,4,5,6
2,3,4,5
2,3,4,6
2,3,5,6
2,4,5,6
3,4,5,6
1,2,3,4,5
1,2,3,4,6
1,2,3,5,6
1,2,4,5,6
1,3,4,5,6
2,3,4,5,6
1, 2, 3, 4, 5, 6
Integer programming (IP)
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15
Z=
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
{1,2,4}
{3}
2n
The integer model:
max Sv(ci) . xi
s.t.
Z . x = (1,…,1)
xi
{1,0}
i=1
1
2
3
4
Order-based genetic algorithms (OBGA)
(S. Sen & P. Dutta 2000)
1 7 6 3 8 4 2 5 9
{ {1},
2 5 7 1 4 3 9 8 6
{ {2, 5}, {1, 4, 3}
{3}, {4, 2, 5} }
}
GA consists of 3 steps:
(1) Evalutation
(2) Selection
(3) Re-combination
Samples
7 1 5 6 2 3 4 8 9
9 3 2 8 6 1 7 5 4
Parents
Offspring
6 1 2 3 4 8 7 5 9
9 3 2 8 6 1 7 5 4
9 3 2 8 6 1 9 5 3
3 8 9 1 5 4 2 6 7
4 2 1 7 6 8 9 5 3
4 2 1 7 6 8 7 5 4
4 2 1 7 6 8 9 5 3
{{3, 2}, {1}, {5, 3}}
6 9 3 1 7 8 4 5 2
{{4, 2, 1}, {5, 4}}
Related Work
Dynamic Programming techniques
IDP
[Rahwan & Jennings N. R., An Improved Dynamic Programming
Algorithm for Coalition Structure Generation, AAMAS 2008].
Anytime with guarantees on solution quality
IP
Property
[Rahwan et al., An Anytime Algorithm for Optimal Coalition
Structure Generation, AAAI 2007, JAIR 2009].
Algorithm
IDP
IP
Worst case
performance
O(3n)
O(nn)
Return solutions
anytime
False
True
Time to return
optimal solution
Slow
Fast
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.
size coalition
1
2
3
4
Evaluations performed before setting f
{1}
{2}
{3}
{4}
V({1})=30
V({2})=40
V({3})=25
V({4})=45
Best split
f
{1}
{2}
{3}
{4}
30
40
25
45
{1,2}
V({1,2})=50
f({1})+f({2})=70
{1} {2}
70
{1,3}
V({1,3})=60
f({1})+f({3})=55
{1,3}
60
{1,4}
V({1,4})=80
f({1})+f({4})=75
{1,4}
80
{2,3}
V({2,3})=55
f({2})+f({3})=65
{2} {3}
65
{2,4}
V({2,4})=70
f({2})+f({4})=85
{2} {4}
85
{3,4}
V({3,4})=80
f({3})+f({4})=70
{3,4}
80
{2} {1,3}
100
{1,2,4}
120
{1,2,3}
V({1,2,3})=90
f({2})+f({1,3})=100
{1,2,4}
V({1,2,4})=120
f({1})+f({2,4})=115
f({2})+f({1,4})=110
f({4})+f({1,2})=115
f({1})+f({2,3})=95
f({3})+f({1,2})=95
{1,3,4}
V({1,3,4})=100
f({3})+f({1,4})=105
f({1})+f({3,4})=110
f({4})+f({1,3})=105
{1} {3,4}
110
{2,3,4}
V({2,3,4})=115
f({3})+f({2,4})=110
f({2})+f({3,4})=120
f({4})+f({2,3})=110
{2} {3,4}
120
{1,2,3,4}
V({1,2,3,4})=140
f({2})+f({1,3,4})=150
f({4})+f({1,2,3})=145
f({1,3})+f({2,4})=145
f({1})+f({2,3,4})=150
f({3})+f({1,2,4})=145
f({1,2})+f({3,4})=150
f({1,4})+f({2,3})=145
{1,2}
{3,4}
150
The Coalition Structure Graph
{a1},{a2},{a3},{a4}
V = 140
optimal
{a1},{a2},{a3,a4} {a3},{a4},{a1,a2} {a1},{a3}},{a2,a4} {a2},{a4},{a1,a3} {a1},{a4},{a2,a3} {a2},{a3},{a1,a4}
V = 150
V = 120
V = 125
V = 145
V = 130
V = 145
{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}
V = 145
V = 130
V = 140
V = 130
V = 145
V = 135
V = 135
{a1,a2,a3,a4}
V = 140
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*
The Coalition Structure Graph
{a1},{a2},{a3},{a4}
optimal
{a1},{a2},{a3,a4} {a3},{a4},{a1,a2} {a1},{a3},{a2,a4} {a2},{a4},{a1,a3} {a1},{a4},{a2,a3} {a2},{a3},{a1,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}
size Coalition
1
Evaluations performed before setting f
Best split
V({1})=50
V({2})=30
V({3})=45
V({4})=35
{1}
{2}
{3}
{4}
50
30
45
{1}
{2}
{3}
{4}
2
3
35
{1,2}
V({1,2})=90
f({1})+f({2})=80
{1,2}
90
{1,3}
V({1,3})=80
f({1})+f({3})=95
{1} {3}
95
{1,4}
V({1,4})=65
f({1})+f({4})=85
{1} {4}
85
{2,3}
V({2,3})=90
f({2})+f({3})=75
{2,3}
90
{2,4}
V({2,4})=70
f({2})+f({4})=65
{2,4}
70
{3,4}
V({3,4})=60
f({3})+f({4})=80
{3} {4}
80
{1} {2,3}
140
{1,2,3}
{1,2,4}
4
f
V({1,2,3})=125
f({2})+f({1,3})=125
V({1,2,4})=120
f({2})+f({1,4})=115
f({1})+f({2,3})=140
f({3})+f({1,2})=135
f({1})+f({2,4})=120
f({4})+f({1,2})=125
{1,2,3}
{4} {1,2}
{1,2,4}
125
125
120
{1,3,4}
V({1,3,4})=135
f({3})+f({1,4})=130
f({1})+f({3,4})=130
f({4})+f({1,3})=130
{1,3,4}
135
{2,3,4}
V({2,3,4})=115
f({2})+f({3,4})=110
{4} {2,3}
125
f({3})+f({2,4})=115
f({4})+f({2,3})=125
{2,3,4}
{1,2,3,4}
V({1,2,3,4})=160
f({2})+f({1,3,4})=160
f({4})+f({1,2,3})=175
f({1,3})+f({2,4})=165
f({1})+f({2,3,4})=175
f({3})+f({1,2,4})=170
f({1,2})+f({3,4})=170
f({1,4})+f({2,3})=175
{4}
{1,4}{1,2,3}
{2,3}
115
175
Evaluation of IDP
The total number of evaluations performed by IDP is only 38.7% of those
performed by the original dynamic programming (DP) algorithm
Question
How can we reduce the memory
requirements ?
size Coalition
Evaluations performed before setting f
Best split
f
V[{1}]=30
V[{2}]=40
V[{3}]=25
V[{4}]=45
{1}
{2}
{3}
30
40
1
2
3
4
{4}
25
45
V[{1,2}]=50
f[{1}]+f[{2}]=70
{1} {2}
70
V[{1,3}]=60
f[{1}]+f[{3}]=55
{1,3}
60
V[{1,4}]=80
f[{1}]+f[{4}]=75
{1,4}
80
V[{2,3}]=55
f[{2}]+f[{3}]=65
{2} {3}
65
V[{2,4}]=70
f[{2}]+f[{4}]=85
{2} {4}
85
V[{3,4}]=80
f[{3}]+f[{4}]=70
{3,4}
80
{2} {1,3}
100
{1,2,4}
120
V[{1,2,3}]=90
f[{2}]+f[{1,3}]=100
f[{1}]+f[{2,3}]=95
f[{3}]+f[{1,2}]=95
V[{1,2,4}]=120
f[{2}]+f[{1,4}]=110
f[{1}]+f[{2,4}]=115
f[{4}]+f[{1,2}]=115
V[{1,3,4}]=100
f[{3}]+f[{1,4}]=105
f[{1}]+f[{3,4}]=110
f[{4}]+f[{1,3}]=105
{1} {3,4}
110
V[{2,3,4}]=115
f[{2}]+f[{3,4}]=120
{2} {3,4}
120
f[{3}]+f[{2,4}]=110
f[{4}]+f[{2,3}]=110
V[{1,2,3,4}]=140
f[{2}]+f[{1,3,4}]=150
f[{4}]+f[{1,2,3}]=145
f[{1,3}]+f[{2,4}]=145
f[{1}]+f[{2,3,4}]=150
f[{3}]+f[{1,2,4}]=145
f[{1,2}]+f[{3,4}]=150
f[{1,4}]+f[{2,3}]=145
{1,2}
{3,4}
150
Related Work
Dynamic Programming techniques
IDP
[Rahwan & Jennings N. R., An Improved Dynamic Programming
Algorithm for Coalition Structure Generation, AAMAS 2008].
Anytime with guarantees on solution quality
IP
[Rahwan et al., An Anytime Algorithm for Optimal Coalition
Structure Generation, AAAI 2007, JAIR 2009].
Basic Idea of IP
Upper bound = 550
Sub-space 500
Upper bound = 450
Sub-space
Lower bound = 200
Lower bound = 250
Search space
Upper bound = 250
Upper bound = 300
Sub-space
Lower bound = 100
Sub-space
Upper bound = 600
Sub-space
400
Lower bound = 100
Lower bound = 200
Upper bound = 350
Sub-space
Lower bound = 150
Basic Idea of IP
S
{{a1, a2, a3, a4}}
Upper bound [4]
= 550
Sub-space 500
{{a1,a2}, {a3,a4}}
Lower bound
S [2,2] {{a1,a3},={a200
2,a4}}
{{a1,a4}, {a2,a3}}
Upper bound = 300
SSub-space
1 3
[1,3]
Lower bound = 200
Upper bound = 450
Sub-space
{{a=1},
{a2}, {a3,a4}}
Lower bound
250
{{a1}, {a3}, {a2,a4}}
{{a1}, {a4}, {a2,a3}}
Upper bound
= 250
S
[1,1,2]
}
{a1}}, {a2,a3,aSub-space
{{a2}, {a3}, {a1,a4}}
{{a
}}
4
Upper
bound = 600
bound = 100
{{a
},
,a
}
{a2}}, {a1,aLower
{{a
}}
2 {a4}, {a1,a3}}
3 4
Sub-space
{{a3}, {a4}, {a1400
,a2}}
{a3}}, {a1,a2,a4}}}
{{a
Lower bound = 100
{a4}}, {a1,a2,a3}}}
{{a
Upper bound = 350
Sub-space
S[1,1,1,1] Lower
{{a1bound
}, {a2},= 150
{a3}, {a4}}
How the Bounds are Computed
value
L1
1
2
3
4
125
50
75
150
Max1 = 150
Avg1 = 100
value
L2
{1,
{1,
{1,
{2,
{2,
{3,
2}
3}
4}
3}
4}
4}
175
150
100
150
200
125
Max2 = 200
Avg2 = 150
{1,
{1,
{1,
{2,
2,
2,
3,
3,
S [4]
Avg=425
S [2,2]
Avg=300
UB=400
S[1,1,2]
Avg=350
UB=500
value
L3
UB=425
{{a1,a2}, {a3,a4}}
{{a1,a3}, {a2,a4}}
{{a1,a4}, {a2,a3}}
{{a1}, {a2}, {a3,a4}}
{{a1}, {a3}, {a2,a4}}
{{a1}, {a4}, {a2,a3}}
{{a2}, {a3}, {a1,a4}}
{{a2}, {a4}, {a1,a3}}
{{a3}, {a4}, {a1,a2}}
3}
4}
4}
4}
200
150
300
150
Max3 = 300
Avg3 = 200
L4
value
{1, 2, 3, 4}
425
Max4 = 425
Avg4 = 425
{{a1, a2, a3, a4}}
S [1,3]
Avg=300
UB=450
S [1,1,1,1]
Avg=400
UB=600
{{a1}, {a2}, {a3}, {a4}}
{ {a1}, {a1, a2, a3} }
{ {a1}, {a1, a2, a4} }
{ {a1}, {a1, a3, a4} }
{ {a1}, {a2, a3, a4} }
{ {a2}, {a1, a2, a3} }
{{a
{ {a2},
{a1,
a2,
a4}
1}, {a
2,a
3,a
4}}}
{ {a2}, {a1, a3, a4} }
{{a
2}, {a
1,a
3,a
4}}}
{ {a2},
{a2,
a3,
a4}
{{a3}, {a1,a2,a4}}
{ {a3}, {a1, a2, a3} }
{{a
{ {a3},
{a1,
a2,
a4}
4}, {a
1,a
2,a
3}}}
{ {a3}, {a1, a3, a4} }
{ {a3}, {a2, a3, a4} }
{ {a4}, {a1, a2, a3} }
{ {a4}, {a1, a2, a4} }
{ {a4}, {a1, a3, a4} }
{ {a4}, {a2, a3, a4} }
Searched initially
(contains one solution)
[8]
Searched while
scanning the input
[4,4]
[2,3,3]
Avg=350
Avg=450
Avg=520
UB=600
[1,3,4]
UB=575
Avg=450
UB=520
[1,1,2,2,2]
Avg=380
UB=490
[1,1,1,1,2,2]
Avg=500
UB=480
[1,1,1,2,3]
Avg=470
UB=650
UB=525
Searched initially
(contains one solution)
Avg=390
UB=480
Avg=550
Avg=320
UB=390
[1,1,1,1,1,1,1,1]
UB=620
Avg=420
UB=400
Avg=460 UB=510
[1,1,1,5]
[1,1,1,1,4]
[1,1,1,1,1,3]
[1,1,1,1,1,1,2]
Avg=360
[1,1,6]
[1,1,2,4]
[1,1,3,3]
Avg=440
[1,7]
[1,2,5]
Avg=500 UB=700
[1,2,2,3]
[2,2,2,2]
[2,6]
[3,5]
[2,2,4]
UB=400
Upper bound = 700
Lower bound = 550
UB=475
Avg=520
UB=540
Searched initially
(contains one solution)
[8]
Searched while
scanning the input
[4,4]
[2,3,3]
Avg=350
Avg=450
Avg=520
UB=600
[1,3,4]
UB=575
Avg=450
UB=520
[1,1,2,2,2]
Avg=380
UB=490
[1,1,1,1,2,2]
Avg=500
UB=480
[1,1,1,2,3]
Avg=470
UB=650
UB=525
Searched initially
(contains one solution)
Avg=390
UB=480
Avg=550
Avg=320
UB=390
[1,1,1,1,1,1,1,1]
UB=620
Avg=420
UB=400
Avg=460 UB=510
[1,1,1,5]
[1,1,1,1,4]
[1,1,1,1,1,3]
[1,1,1,1,1,1,2]
Avg=360
[1,1,6]
[1,1,2,4]
[1,1,3,3]
Avg=440
[1,7]
[1,2,5]
Avg=500 UB=700
[1,2,2,3]
[2,2,2,2]
[2,6]
[3,5]
[2,2,4]
UB=400
700
Upper bound = 650
550
Lower bound = 600
UB=475
Avg=520
UB=540
Why select sub-space with highest UB ?
UB*
UB*
UB* UB*
V*
UB*
Exercise: find the optimal solution using IP
L1
Value
1
2
3
4
5
20
10
30
30
10
L2
Avg=20
Max=30
1,
1,
1,
1,
2,
2,
2,
3,
3,
4,
Value
2
3
4
5
3
4
5
4
5
5
40
30
30
40
40
20
30
20
65
35
L3
1,
1,
1,
1,
1,
1,
2,
2,
2,
3,
2,
2,
2,
3,
3,
4,
3,
3,
4,
4,
Avg=35
Max=65
Value
3
4
5
4
5
5
4
5
5
5
70
70
60
60
40
80
70
50
75
75
Avg=65
Max=80
[5]
Avg=165 UB=165
[1,4]
[2,3]
Avg=140 UB=180
Avg=100 UB=145
[1,1,3]
[1,2,2]
Avg=105 UB=140
Avg=90 UB=160
[1,1,1,2]
[1,1,1,1,1]
Avg=95 UB=155
Avg=100 UB=150
L4
1,
1,
1,
1,
2,
2,
2,
2,
3,
3,
3,
3,
4,
4,
4,
4
5
5
5
5
value
L5
value
110
140
100
150
100
1, 2, 3, 4, 5
165
Avg=120
Max=150
Avg=165
Max=165
Scanning the input
L1 value
1
2
3
4
5
6
826
1108
1065
890
907
1024
L2 value
1, 2
1, 3
1, 4
1, 5
1, 6
2, 3
2, 4
2, 5
2, 6
3, 4
3, 5
3, 6
4, 5
4, 6
5, 6
1742
1667
1989
1664
2023
2083
2272
2082
1995
1807
2529
2045
1683
2115
1956
value
L4
value
L5
value
L6
value
1, 2, 3
1, 2, 4
1, 2, 5
1, 2, 6
1, 3, 4
1, 3, 5
1, 3, 6
1, 4, 5
1, 4, 6
1, 5, 6
2, 3, 4
2, 3, 5
2, 3, 6
2, 4, 5
2, 4, 6
2, 5, 6
3, 4, 5
3, 4, 6
3, 5, 6
4, 5, 6
3352
3102
3301
3119
3287
2696
2950
3324
2460
3134
2943
2956
2950
3661
2618
2906
2769
3070
3135
1, 2, 3, 4
1, 2, 3, 5
1, 2, 3, 6
1, 2, 4, 5
1, 2, 4, 6
1, 2, 5, 6
1, 3, 4, 5
1, 3, 4, 6
1, 3, 5, 6
1, 4, 5, 6
2, 3, 4, 5
2, 3, 4, 6
2, 3, 5, 6
2, 4, 5, 6
3, 4, 5, 6
4355
4373
3770
3528
3967
3647
4142
3875
3905
3645
3850
4099
3967
3318
3576
1, 2, 3, 4, 5
1, 2, 3, 4, 6
1, 2, 3, 5, 6
1, 2, 4, 5, 6
1, 3, 4, 5, 6
2, 3, 4, 5, 6
4804
5657
4609
4829
5650
5852
1,2, 3, 4, 5, 6
6217
[6]
L=1
L=2
L3
[3,3]
[2,4]
[1,5]
Searching a Sub-space
Example: Search the following sub-space
Coalitions
of size x
Coalitions
of size y
[x, y, z]
Coalitions
of size z
Direction of cycle
C3
Overlap with {C1,
C2}
C2
C3
C2
Overlap
with C1
Overlap with {C1,
C2}
C3
C1
C1
C1
C1
Overlap
with C1
Overlap with {C1,
C2}
Example
L3
C3
A = {1, 2, 3, 4, 5, 6, 7}
Subspace = [2, 2, 3]
Direction of cycle
L2
C1
C1
C1
6,
5,
5,
4,
4,
4,
3,
3,
3,
3,
2,
2,
2,
2,
2,
1,
1,
1,
1,
1,
1,
L2
7
7
6
7
6
5
7
6
5
4
7
6
5
4
3
7
6
5
4
3
2
C2
C2
C2
6,
5,
5,
4,
4,
4,
3,
3,
3,
3,
2,
2,
2,
2,
2,
1,
1,
1,
1,
1,
1,
7
7
6
7
6
5
7
6
5
4
7
6
5
4
3
7
6
5
4
3
2
invalid
5,
4,
4,
4,
3,
3,
3,
3,
3,
3,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
6,
6,
5,
5,
6,
5,
5,
4,
4,
4,
6,
5,
5,
4,
4,
4,
3,
3,
3,
3,
6,
5,
5,
4,
4,
4,
3,
3,
3,
3,
2,
2,
2,
2,
2,
2,
7
7
7
6
7
7
6
7
6
5
7
7
6
7
6
5
7
6
5
4
7
7
6
7
6
5
7
6
5
4
7
6
5
5
4
3
invalid
Searching a Sub-space
Example: Search the following sub-space
[x, y, z]
Applying Branch and Bound:
Example: If value of best solution found so far is 500, then if:
Direction of cycle
Coalitions
of size x
Coalitions
of size y
Coalitions
of size z
C2
C3
Value=100
C2
Overlap
with C1
Value=100
C1
Overlap
with C1
Maxz=200
then prune
and
gowith
back
Overlap
{C1,
C2}
one step.
Overlap with {C1,
C2}
Overlap with {C1,
C2}
A1 = A = { a, b , c , d , e , f ,g }
Searching a subset
A = {a,b,c,d,e,f,g}
6, 7
G = {2, 2, 3}
5, 7
5, 6
Direction of cycle
4, 7
4, 6
4, 5
M1
3,
3,
3,
3,
7
6
5
4
2,
2,
2,
2,
2,
7
6
5
4
3
1,
1,
1,
1,
1,
1,
7
6
5
4
3
2
A2 = A1 / C1 = { b, c, d, e, fg}
4, 5
3, 5
3, 4
C1={a,g}
C1={a,f}
M2
2, 5
2, 4
2, 3
M2
1,
1,
1,
1,
5
4
3
2
C2={c,d}
c
b, d
e , fe
g}
C2={b,g} A3=A2 / C2 = {d
C2={b,c}
M3 1, 2, 3
Evaluation
(Time to Terminate)
2.5 days
4 hours
25 min
379 sec
CPLEX
IDP-IP
The Integer-Partition Graph
[1,1,1,1,1,1,1,1]
Level8
[1,1,1,1,1,1,2]
Level7
[1,1,1,1,2,2]
[1,1,2,2,2]
1,1
[2,2,2,2]
2
[2,3,3]
[1,2,2,3]
[2,2,4]
[4,4]
Level6
[1,1,1,1,1,3]
[1,1,1,2,3]
[1,1,3,3]
[1,3,4]
[2,6]
[3,5]
[8]
Level5
[1,1,1,1,4]
[1,1,2,4]
[1,1,1,5]
Level4
[1,2,5]
[1,1,6]
Level3
[1,7]
Level2
Level1
Coalition Structure Graph
{a1},{a2},{a3},{a4}
{a1},{a
2},{a3,a4} {a3},{a4},{a1,a2} {a1},{a3},{a2,a4} {a2},{a4},{a1,a3} {a1},{a4},{a2,a3} {a2},{a3},{a1,a4}
{1},{2},{3,4}
{a{1},{2,3,4}
1},{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}
Integer Partition Graph
[1,1,1,1]
{{a1}, {a2}, {a3,a4}} , {{a1}, {a3}, {a2,a4}}
{{a1}, {a4}, {a2,a3}} , {{a2}, {a3}, {a1,a4}}
{{a2}, {a4}, {a1,a3}} , {{a3}, {a4}, {a1,a2}}
{{a1}, {a2,a3,a4}}
{{a2}, {a1,a3,a4}}
{{a3}, {a1,a2,a4}}
{{a4}, {a1,a2,a3}}
{{a1, a2, a3, a4}}
Level3
[1,1,2]
[2,2]
[1,3]
[4]
Level4
{{a1,a2}, {a3,a4}}
{{a1,a3}, {a2,a4}}
{{a1,a4}, {a2,a3}}
{{a1}, {a2}, {a3}, {a4}}
Level2
Level1
IDP-IP
The Integer-Partition Graph
[1,1,1,1,1,1,1,1]
IDP
Level8
[1,1,1,1,1,1,2]
IDP
Level7
[1,1,1,1,2,2] IDP
[1,1,2,2,2]
[2,2,2,2]
IDP
[2,3,3]
IDP
[1,1,1,2,3] IDP
IDP
[1,2,2,3]
IDP
[2,2,4] IDP
[4,4] IDP
[1,1,1,1,1,3]
[1,1,3,3] IDP
[1,3,4] IDP
[3,5]IDP
Level6
[1,1,1,1,4] IDP
[1,1,2,4] IDP
[1,2,5]
[2,6]IDP
[8] IDP
IDP
IDP
Level5
[1,1,1,5] IDP Level4
[1,1,6] IDP
[1,7] IDP
Level3
Level2
Level1
IDP-IP
The Integer-Partition Graph
[1,1,1,1,1,1,1,1]
Which one should
we search first ?
[1,1,1,1,1,1,2]
[1,1,1,1,2,2]
[1,1,2,2,2]
IP
No edge!
[2,2,2,2]
IDP
Level8
IDP
Level7
[1,1,1,1,1,3]
[1,1,1,2,3] IDP
IDP
[1,2,2,3]
IDP
IDP
[1,1,3,3]
IDP
IDP
Level6
[1,1,1,1,4]
[1,1,2,4] IDP
IDP
Level5
[1,1,1,5] IDP Level4
?
IP
No edge!
IP
No edge!
[2,3,3]
[2,2,4]
?
?
[4,4] IDP
IP
No edge!
[1,3,4]
[1,2,5]
IDP
[1,1,6] IDP
Level3
?
[3,5]IDP
[2,6]IDP
[8] IDP
[1,7] IDP
Level2
Level1
Exercise
By setting m=2, which
subspaces are searched
by IP, and in which
order ?
1
[1,1,1,1,1,2]
21
[1,1,1,2,2]
105
[1,2,2,2]
[1,3,3]
[3,4]
size of
subspace
[1,1,1,1,1,1,1]
70
35
105
[1,1,2,3]
210
[1,2,4]
105
21
[2,5]
[7]
35
[1,1,1,1,3]
1
35
[1,1,1,4]
21
[1,1,5]
[1,6]
7
Exercise
By setting m=2, which
subspaces are searched
by IP, and in which
order ?
[1,1,1,1,1,1,1]
1
[1,1,1,1,1,2]
21
[1,1,1,2,2]
105
[1,2,2,2]
[1,3,3]
[3,4]
70
35
105
35
[1,1,1,1,3]
[1,1,2,3]
210
[1,2,4]
105
21
[2,5]
[7]
delete
1
35
[1,1,1,4]
21
[1,1,5]
[1,6]
7
Exercise
By setting m=2, which
subspaces are searched
by IP, and in which
order ?
[1,1,1,1,1,1,1]
IDP 1
[1,1,1,1,1,2]
IDP 21
[1,1,1,2,2]
[1,2,2,2]
IP 105
[1,3,3]
IP 70
[3,4]
IDP 35
IDP 105
[1,1,1,1,3]
IDP 35
[1,1,2,3]
IP 210
[1,1,1,4]
[1,2,4]
[2,5]
[7]
IP 105
IDP 21
IDP 1
[1,1,5]
[1,6]
IDP 35
IDP 21
IDP 7
Exercise
By setting m=2, which
subspaces are searched
by IP, and in which
order ?
[1,1,1,1,1,1,1]
IDP 1
[1,1,1,1,1,2]
IDP 21
[1,1,1,2,2]
[1,2,2,2]
IP 105
105+105+21+1
= 2.21
105
[1,3,3]
70
70
[1,1,1,1,3]
IDP 35
[1,1,2,3]
IP 210
[1,1,1,4]
210+35
210
IP 70
IDP 35
[1,2,4]
[2,5]
[7]
IDP 35
= 1.16
105+35
105
=1
[3,4]
IDP 105
IP 105
[1,1,5]
IDP 21
= 1.33
IDP 21
IDP 1
[1,6]
IDP 7
Coalition Structure Generation in Multi-Agent
Systems with Positive and Negative Externalities
CSG in Characteristic Function Games
Given 3 agents: the set of agents is:
{a1,a2,a3}
INPUT
The possible coalitions are:
{a1}
20
{a2}
40
{a3}
30
{a1,a2}
70
40
a value for every coalition
{a1,a3}
{a2,a3}
65
95
{a1,a2,a3}
OUTPUT
The possible coalition structures:
{{a1},{a2},{a3}}
20+40+30=90
{{a1,a2},{a3}}
70+30= 100
an optimal coalition structure
{{a2},{a1,a3}} {{a1},{a2,a3}} {{a1,a2,a3}}
40+40 = 80
20+65= 85
95
Assumption: The value of a coalition structure is the sum of the values
of the coalitions within that structure
CSG in Characteristic Function Games
Given 3 agents: the set of agents is:
{a1,a2,a3}
INPUT
The possible coalitions are:
{a1}
20
{a2}
40
{a3}
30
{a1,a2}
70
40
a value for every coalition
{a1,a3}
{a2,a3}
65
95
OUTPUT
The possible coalition structures:
{{a1},{a2},{a3}}
{{a1,a2},{a3}}
90 70+30 = 100
35 +40+30= 105
20
{a1,a2,a3}
an optimal coalition structure
{{a2},{a1,a3}} {{a1},{a2,a3}} {{a1,a2,a3}}
40+40= 80
+65 =15
20
95
80
85
Assumption: The value of a coalition structure is the sum of the values
of the coalitions within that structure
The merging of two coalitions may affect the values of
other coalitions in the structure!
Michalak et. al. [ECAI-2008] focused on the following classes:
-
CS'
C1
+
externality
CS'
C2 U CC
3 1
C2 U C3
-
+
CS
CS
C1
C2
C31
C2
C3
Sub-additive values,
Super-additive values,
Games with externalities are known as Partition Function Games
positive externalities
negative externalities
Computing Upper & Lower Bounds
We need to compute upper and lower bounds on the value
of any combination of disjoint coalitions
Example:
C1
C2
The maximum possible value of this combination
is 500, and the minimum possible value is 100
:
PF
<>
PF +
< >
Establishing Worst-Case Guarantees
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
the best coalition structure in this
set is within a bound m
from the optimal
coalition structure
Search
space
Main Theorem
X
is a set of elements
Y is a set of subsets of X
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
The bound equals
the size of the
biggest subset
MUS
T BE
Y/Y’
Y
x2
x3
x1 x2 x4
x4
x5
Y'
x 3 x4
50
x3 x 5
x1 x5
30
x 2 x5
x1 x3
x1 x4 x5 20
70
X
x2 x 4
x 1 x 3 x5
In the next few slides, we will be using the following
graphical representation:
i,j,k,...
integers represent
coalition sizes
2
{a1, a2}
{a1,a3}
{a1,a4}
{a2,a3}
{a2,a4}
{a3,a4}
1,1
{{a1}, {a2}}
{{a1}, {a3}}
{{a1}, {a4}}
{{a2}, {a3}}
{{a2}, {a4}}
{{a3}, {a4}}
{ {a1,a2},
{ {a1,a3},
{ {a1,a4},
{ {a2,a3},
{ {a2,a4},
{ {a3,a4},
2,1,1
{a3},
{a2},
{a2},
{a1},
{a1},
{a1},
4
1,3
2,1,1
2
2,2
1,1,1,1
Set of coalition structures
1
4
3
Set of coalitions
{a4} }
{a4} }
{a3} }
{a4} }
{a3} }
{a2} }
Establishing the Worst-Case Bound
Y'
in this set, every
coalition appears with
its maximum value
[10]
Y
[8,1,1]
[9,1]
[8,2]
[7,2,1]
[6,3,1]
[7,1,1,1]
[5,1,1,1,1,1]
[5,2,1,1,1]
[4,1,1,1,1,1,1]
[3,1,1,1,1,1,1,1]
[3,1,1,1,1,1,1,1
[6,4]
[4,2,2,2]
[3,3,1,1,1,1]
[3,2,1,1,1,1,1]
[2,2,1,1,1,1,1,1]
[1,1,1,1,1,1,1,1,1,1]
[4,4,2]
[5,2,2,1]
[3,3,3,1]
[4,2,2,1,1]
[5,5]
[5,3,2]
[5,4,1]
[5,3,1,1]
[4,3,1,1,1]
[4,2,1,1,1,1]
the bound equals
the size of the
biggest subset
[6,2,2]
[6,2,1,1]
[4,3,2,1]
[6,1,1,1,1]
[7,3]
[4,3,3]
[4,4,1,1]
[3,3,2,2]
[3,3,2,1,1]
[3,2,2,2,1]
[3,2,2,1,1,1]
[2,2,2,2,2]
[2,2,2,2,1,1]
[2,2,2,1,1,1,1]
X
[2,1,1,1,1,1,1,1,1]
?
[1,1]
[2,2]
[1,1,1,1]
[1]
[2]
[3]
[6]
[7]
[9]
[4]
[8]
[10]
[5]
Solve Using Integer
Programming
Constrained Coalition Formation
88
Constrained Coalition Formation (CCF)
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.
89
General Model
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 agents
• CS ⊆ P(A) is the set of coalition structures that are feasible
• v : (⋃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 structure
90
Locally Constrained Games
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 bi : 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.
91
Basic CCF Model
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 ∈ P
• N ⊈ C for all N ∈ N
• |C| ∈ S
We will denote the feasible coalitions as c (A, P, N, S)
92
Basic CCF Model
93
94
Basic CCF Model
N
P
S
1 3
2
9
4
General CCF games
Constraints are placed on Coalition Structures
Local CCF games
Constraints are placed on Coalitions
• Constraint can be expressed
using propositional logic
Basic CCF games
Constraints are placed on
Coalitions In the form of:
• Size constraints
• Positive constraints
• Negative constraints
95
How to Generate Feasible Coalitions?
Given a set of constraints, how do we generate the feasible coalitions?
P = {Ø} , N = { {1,2,3,4}, {1,2,4,5}, {5,6} }
size=1
size = 2
size = 3
size = 4
size = 5
size = 6
1
1, 2
1, 2, 3
1, 2, 3, 4
1, 2, 3, 4, 5
1, 2, 3, 4, 5, 6
2
1, 3
1, 2, 4
1, 2, 3, 5
1, 2, 3, 4, 6
3
1, 4
1, 2, 5
1, 2, 3, 6
1, 2, 3, 5, 6
4
1, 5
1, 2, 6
1, 2, 4, 5
1, 2, 4, 5, 6
5
1, 6
1, 3, 4
1, 2, 4, 6
1, 3, 4, 5, 6
6
2, 3
1, 3, 5
1, 2, 5, 6
2, 3, 4, 5, 6
2, 4
1, 3, 6
1, 3, 4, 5
2, 5
1, 4, 5
1, 3, 4, 6
2, 6
1, 4, 6
1, 3, 5, 6
3, 4
1, 5, 6
1, 4, 5, 6
3, 5
2, 3, 4
2, 3, 4, 5
3, 6
2, 3, 5
2, 3, 4, 6
4, 5
2, 3, 6
2, 3, 5, 6
4, 6
2, 4, 5
2, 4, 5, 6
5, 6
2, 4, 6
3, 4, 5, 6
2, 5, 6
3, 4, 5
3, 4, 6
3, 5, 6
4, 5, 6
96
Divide & Conquer
A
P
N
N∗ P∗
f ( {12345678} , {158},{257},{578} , {123}{235} , Ø , Ø )
f ( {2345678} , {58}{257}{578} , {23}{235} , {1} , Ø )
f ( {2345678} , {257}{578} , {235} , Ø , {1} )
97
Divide & Conquer
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
99
f ( A, P, N, P*, N*) = f ( {12345678} , {158}{257}{578} , {123}{235} , Ø , Ø )
Divide & Conquer
f ( {2345678} , {58}{257}{578} , {23}{235} , {1} , Ø )
f ( {234678} , {8}{27} , {23} , {15} , Ø )
f ( {34678} , {8}{7} , {3} , {152} , Ø )
f ( {234678} , Ø , {23} , {1} , {5} )
f ( {34678} , {8} , Ø , {15} , {2} )
Impossible
case
P* = {{158}} , N* = {{2}}
f ( {467} , Ø{7} , Ø , {1528} , Ø )
P* = {{1528}} , N* = Ø
f ( {467} , {7} , Ø , {152} , {8} )
P* = {{1527}} , N* = {{8}}
f ( {2345678} , {257}{578} , {235} , Ø , {1} )
f ( {345678} , {57}{578} , {35} , {2} , {1} )
f ( {345678} , {578} , Ø , Ø , {1}{2} )
P* = {{578}} , N* = {{1}{2}}
f ( {45678} , {57} , {5} , {23} , {1} )
Impossible case
f ( {45678} , {57}, Ø , {2} , {1}{3} )
P* = {{257}} , N* = {{1}{3}}
100
How to Generate the coalitions that
correspond to a base case?
Example: base case give 10 agents
P* = {{1,2}} , N* = { {3,4,5},{6},{7}} , S* = {1,2}
The single
constraint
in P*
{1,2}
X
C  {3,4,5} : |C| ∈ S*
Ø
{3}
{4}
{5}
{3,4}
{3,5}
{4,5}
X
C  {8,9,10} : |C| ∈ S*
Ø
{8}
{9}
{10}
{8,9}
{8,10}
{9,10}
101
Back to our Example
We wanted to generate the feasible coalitions using the base cases
P = {Ø} , N = { {1,2,3,4}, {1,2,4,5}, {5,6} }
size=1
size = 2
size = 3
size = 4
size = 5
size = 6
1
1, 2
1, 2, 3
1, 2, 3, 4
1, 2, 3, 4, 5
1, 2, 3, 4, 5, 6
2
1, 3
1, 2, 4
1, 2, 3, 5
1, 2, 3, 4, 6
3
1, 4
1, 2, 5
1, 2, 3, 6
1, 2, 3, 5, 6
4
1, 5
1, 2, 6
1, 2, 4, 5
1, 2, 4, 5, 6
5
1, 6
1, 3, 4
1, 2, 4, 6
1, 3, 4, 5, 6
6
2, 3
1, 3, 5
1, 2, 5, 6
2, 3, 4, 5, 6
2, 4
1, 3, 6
1, 3, 4, 5
2, 5
1, 4, 5
1, 3, 4, 6
2, 6
1, 4, 6
1, 3, 5, 6
3, 4
1, 5, 6
1, 4, 5, 6
3, 5
2, 3, 4
2, 3, 4, 5
3, 6
2, 3, 5
2, 3, 4, 6
4, 5
2, 3, 6
2, 3, 5, 6
4, 6
2, 4, 5
2, 4, 5, 6
5, 6
2, 4, 6
3, 4, 5, 6
2, 5, 6
3, 4, 5
3, 4, 6
3, 5, 6
4, 5, 6
102
Back to our Example
This can be done using the base cases as follows:
P = {Ø} , N = { {1,2,3,4}, {1,2,4,5}, {5,6} }
size=1
size = 2
size = 3
size = 4
size = 5
size = 6
1
1, 2
1, 2, 3
1, 2, 3, 4
1, 2, 3, 4, 5
1, 2, 3, 4, 5, 6
2
1, 3
1, 2, 4
1, 2, 3, 5
1, 2, 3, 4, 6
3
1, 4
1, 2, 5
1, 2, 3, 6
1, 2, 3, 5, 6
4
1, 5
1, 2, 6
1, 2, 4, 5
1, 2, 4, 5, 6
5
1, 6
1, 3, 4
1, 2, 4, 6
1, 3, 4, 5, 6
6
2, 3
1, 3, 5
1, 2, 5, 6
2, 3, 4, 5, 6
2, 4
1, 3, 6
1, 3, 4, 5
P1* = {Ø}
N1* = {{1},{5,6}}
P2* = {{1}}
N2* = {{2},{5,6}}
2, 5
1, 4, 5
1, 3, 4, 6
2, 6
1, 4, 6
1, 3, 5, 6
P3* = {{1,2}}
N3* = {{3},{4},{5,6}}
3, 4
1, 5, 6
1, 4, 5, 6
3, 5
2, 3, 4
2, 3, 4, 5
3, 6
2, 3, 5
2, 3, 4, 6
4, 5
2, 3, 6
2, 3, 5, 6
4, 6
2, 4, 5
2, 4, 5, 6
5, 6
2, 4, 6
3, 4, 5, 6
P4* = {{1,2,4}} N4* = {{3},{5}}
P5* = {{1,2,3}} N5* = {{4},{5,6}}
2, 5, 6
3, 4, 5
3, 4, 6
3, 5, 6
4, 5, 6
How to search the feasible coalition structures?
103
Searching Feasible Coalition Structures
a5
a1
a4
a7
a2
a2
(P2*,N2*)
a1
a2
a6
(P4*,N4*)
a4
(P1*,N1*)
a5
a1
a7
(P3*,N3*)
impossible
case
a8
(P5*,N5*)
(P8*,N8*) a3
(P7*,N7*)
a4
(P6*,N6*) a6
(P9*,N9*)
a1
a1
a6
a1
a8
a2
a6
a4
a8
a3
a7
(P11*,N11*)
impossible
case
(P12*,N12*)
(P10*,N10*)
a8
a7
a6
(P13*,N13*)
(P15*,N15*)
a6
(P14*,N14*)
(P1*,N1*)
(P5*,N5*)
(P2*,N2*)
(P6*,N6*)
(P9*,N9*)
(P12*,N12*)
(P3*,N3*)
(P7*,N7*)
(P10*,N10*)
(P13*,N13*)
(P15*,N15*)
(P4*,N4*)
(P8*,N8*)
(P11*,N11*)
(P14*,N14*)
L5
L1
L2
L3
L4
10
4
Searching Feasible Coalition Structures
(P1*,N1*)
(P2*,N2*)
(P3*,N3*)
(P4*,N4*)
(P5*,N5*)
L1
(P6*,N6*)
(P10*,N10*)
(P7*,N7*)
(P11*,N11*)
(P8*,N8*)
(P12*,N12*)
(P9*,N9*)
(P13*,N13*)
L2
L3
(P14*,N14*)
(P15*,N15*)
(P17*,N17*)
(P16*,N16*)
L5
L4
Every feasible coalition structure contains exactly one coalition
from L1, 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*) ∈ L2
If UCS ≠ A, the process is repeated: add a coalition C2 ∈ L2 to
CS, and add the agents in C1 U C2 to every (Pj*,Nj*) ∈ L3… etc.
To speed up the search, we apply a branch-and-bound technique.
105
Experimental Results
Time in log scale to find an optimal coalition structure
We outperform existing algorithms by several orders of magnitude
106
Download