105
Computational Coalition Formation Talal Rahwan (University of Southampton, UK)

Computational Coalition Formation

  • Upload
    shlomo

  • View
    43

  • Download
    2

Embed Size (px)

DESCRIPTION

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… - PowerPoint PPT Presentation

Citation preview

Page 1: Computational Coalition Formation

Computational Coalition Formation

Talal Rahwan(University of Southampton, UK)

Page 2: Computational Coalition Formation

What is an Agent?Hello…I am an intelligent entity….I am situated in a an environment…I can perceive the environmentI have goals…I have a list of available actions…I act autonomously to satisfy my goalsand…most importantly…I am social !!!

ad
Different organizational paradigms include hierarchies, teams, federations, and many others. Each of these paradigms has its own strengths and weaknesses, making it more suitable for some problems, and less suitable for others.Among the organizational paradigms that are becoming increasingly important in MAS is the coalitional organization
Page 3: Computational Coalition Formation

Hierarchies

Markets

Teams

Congregations

Societies

Federations

Holarchies

Matrix Organizations

Compounds

Coalitions

Organizations in Multi-Agent Systems

Data

Control

Page 4: Computational Coalition Formation

Markets

Holarchies

Hierarchies

Teams

Congregations

Societies

Federations

Matrix Organizations

Compounds

Coalitions

Organizations in Multi-Agent Systems

buyerseller

Page 5: Computational Coalition Formation

Hierarchies

Markets

Teams

Congregations

Societies

Federations

Holarchies

Matrix Organizations

Compounds

Coalitions

Organizations in Multi-Agent Systems

Page 6: Computational Coalition Formation

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 flat

Main characteristicis

Page 7: Computational Coalition Formation

Smart Energy Grids

Electronic-commerce

Disaster ManagementUN 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 Formation

Page 8: Computational 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].

Applications of Coalition Formation

Talal Rahwan
Coalition formation is an important form of interaction in multi-agent systems. It has received a considerable amount of attention in recent research, and has proven to be useful in a number of scenarios in multi-agent systems.
Page 9: Computational Coalition Formation

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 Theory

Page 10: Computational Coalition Formation

• 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

Example: the Prisoner’s Dilemma

Page 11: Computational Coalition Formation

(-1,-1) (-4, 0)

(0, -4) (-3, -3)

quiet confess

quiet

confess

• 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

a2a1

Prisoners’ Dilemma: Matrix Representation

Page 12: Computational Coalition Formation

Prisoners’ Dilemma: the Rational Outcome

(-1,-1) (-4, 0)

(0, -4) (-3, -3)

• a1’s reasoning: – if a2 stays quiet,

I should confess– if a2 confesses,

I should confess, too• 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?

Quite Confess

Quite

Confess

a1a2

Page 13: Computational Coalition Formation

• 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 vs. Non-Cooperative Games

Page 14: Computational Coalition Formation

Cooperative Games

Cooperative Game

Characteristic Function Game

(CFG)

Partition Function Game (PFG)Does a coalition

influence other co-existing coalitions?

Yes

No

Transferable Utility (TU)

Game

Non-Transferable Utility (NTU) Game

Can a player transfer part of its

utility to another?

Yes

No

Page 15: Computational Coalition Formation

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?• CFG or PFG?

NTU (payoffs are non-transferable)CFG (a group does not influence others)

Page 16: Computational Coalition Formation

• 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

Example: 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)PFG (a group can influence another)

Page 17: Computational Coalition Formation

• 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

Example: Buying Ice-cream

• TU or NTU?• CFG or PFG?

TU (ice-cream is transferable)CFG (many available tubs)

Page 18: Computational Coalition Formation

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

Page 19: Computational Coalition Formation

Cooperative Games

Transferable Utility (TU)

Game

Non-Transferable Utility (NTU) Game

Characteristic Function Game

(CFG)

Partition Function Game (PFG)

Focus of this

talk

Can a player transfer part of its

utility to another?

Does a coalition influence other

co-existing coalitions?

Cooperative Game

Yes

No

Yes

No

Page 20: Computational Coalition Formation

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

Page 21: Computational Coalition Formation

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

Page 22: Computational Coalition Formation

Transferable Utility Games: Outcome

• 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

– xi = v(C) for all CCS

An outcome of a TU game G =(A, v) is a pair (CS, x), where:

Page 23: Computational Coalition Formation

• 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

Page 24: Computational Coalition Formation

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 ?

Page 25: Computational Coalition Formation

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!

Page 26: Computational Coalition Formation

• 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 superadditive

• Example:– v({a1, a2, a3}) = 9

– 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

Transferable Utility Games: Stability

a1a2

a3

a4

a5

Page 27: Computational Coalition Formation

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!

Page 28: Computational Coalition Formation

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

Page 29: Computational Coalition Formation

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

Page 30: Computational Coalition Formation

Given 3 agents, the set of agents is:

The possible coalitions are:

What is a Good Outcome ?

A = {a1, a2, a3}

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3 a1 a2 a3

55 12 12 24

A solution of a coalitional game: <? ? ?>

STABILITY

STABILITY THE CORE

Page 31: Computational Coalition Formation

Given 3 agents, the set of agents is:

The possible coalitions are:

Characteristic Function Games

N = {a1, a2, a3}

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3

a1 a2 a3

55 12 12

24

A solution of a coalitional game:

STABILITY THE CORE

<13 7 4><10 7 7>

Such division of payoffthat no sub-coalition wants to deviate

a2 : 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 a1

Page 32: Computational Coalition Formation

Given 3 agents, the set of agents is:

The possible coalitions are:

Characteristic Function Games

N = {a1, a2, a3}

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3

a1 a2 a3

55 12 12

24

A solution of a coalitional game:

FAIRNESS SHAPLEY VALUE

<? ? ?>

A unique division of payoffThat meets fairness criteria (axioms)

<8 8 8>

Symmetry

Efficiency

Additivity

Null-player

Fairness criteria:

Page 33: Computational Coalition Formation

a1 a2 a3

a1 a2 a3

a2 a1 a3

a2 a3 a1

a3 a1 a2

a3 a2 a1

Shapley Value – Definition

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3

55 12 12

Page 34: Computational Coalition Formation

a1 a2 a3

a1 a2 a3

a2 a1 a3

a2 a3 a1

a3 a1 a2

a3 a2 a1

Shapley Value – Definition

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3

55 12 12

Page 35: Computational Coalition Formation

a2

a2 a3

a3

a3 a2

a1 a2 a3

a1 a2 a3

a1 a3

a1

a1 a2

a1

Shapley Value – DefinitionMC(a1)

+5

+5

+7

+12

+7

+12

48/6 = 8= Sh(a1)

0

0

a1 a1 a2

5 12

a2 a3 a1 a3 a2 a3

55 12 12

Page 36: Computational Coalition Formation

Coalition Formation Process

Value

Value

Value

Value

Payoff distribution

Coalition structure generation

optimal?

Page 37: Computational Coalition Formation

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,a3} {a1,a2,a3}

The possible coalition structures:

{{a1},{a2},{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)

Page 38: Computational Coalition Formation

What is the optimal coalition structure ?

Exercise

value L4 value L3 value L2 value L1

140 {1,2,3,4} 90120100115

{1, 2, 3}{1, 2, 4}{1, 3, 4}{2, 3, 4}

506080557080

{1, 2}{1, 3}{1, 4}{2, 3}{2, 4}{3, 4}

30402545

{1}{2}{3}{4}

{ {1}, {2}, {3,4} }

Answer

Page 39: Computational Coalition Formation

value L6value L5

value L4value L3

value L2value L1

6217 1,2, 3, 4, 5, 6 480456574609482956505852

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

435543733770352839673647414238753905364538504099396733183576

1, 2, 3, 41, 2, 3, 51, 2, 3, 61, 2, 4, 51, 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, 63, 4, 5, 6

3352310233013119328726962950332424603134294329562950366126182906276930703135

1, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 61, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 6

175016701989166420232083227220821995180725292045168321151956

1, 21, 31, 41, 51, 62, 32, 42, 52, 63, 43, 53, 64, 54, 65, 6

826110810658909071024

123456

What is the optimal coalition structure ?

Exercise

Page 40: Computational Coalition Formation

The set of possible coalitions of agents: A = {1, 2, 3, 4, 5, 6}

CL6 CL5 CL4 CL3 CL2 CL1

1 ,2 ,3 ,4 ,5 ,6 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

1 , 2 , 3 , 41 , 2 , 3 , 51 , 2 , 3 , 61 , 2 , 4 , 51 , 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 , 63 , 4 , 5 , 6

1 , 2 , 31 , 2 , 4

1 , 2 , 5 1 , 2 , 61 , 3 , 41 , 3 , 51 , 3 , 61 , 4 , 51 , 4 , 61 , 5 , 62 , 3 , 42 , 3 , 52 , 3 , 62 , 4 , 52 , 4 , 62 , 5 , 63 , 4 , 53 , 4 , 63 , 5 , 64 , 5 , 6

1 , 21 , 31 , 41 , 51 , 62 , 32 , 42 , 52 , 63 , 43 , 53 , 64 , 54 , 65 , 6

123456

Example:

Limit the permitted sizes, and use greedy algorithms (Shehory & Kraus 1999, 1996, 1995)

Page 41: Computational Coalition Formation

Integer programming (IP)

The integer model:

s.t.

{1,2,4}

1234

1 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 0

Z =

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15

xi {1,0}

Z . x = (1,…,1)

{3}

max Sv(ci) . xii=1

2n

Page 42: Computational Coalition Formation

Order-based genetic algorithms (OBGA)(S. Sen & P. Dutta 2000)

GA consists of 3 steps: (1) Evalutation (2) Selection (3) Re-combination

9 3 2 8 6 1 7 5 4

4 2 1 7 6 8 9 5 3

Parents

9 3 2 8 6 1 9 5 3

4 2 1 7 6 8 7 5 4

Offspring7 1 5 6 2 3 4 8 9

9 3 2 8 6 1 7 5 46 1 2 3 4 8 7 5 9

3 8 9 1 5 4 2 6 7

4 2 1 7 6 8 9 5 36 9 3 1 7 8 4 5 2

Samples

{{3, 2}, {1}, {5, 3}}{{4, 2, 1}, {5, 4}}

1 7 6 3 8 4 2 5 9 2 5 7 1 4 3 9 8 6{ {2, 5}, {1, 4, 3} }{ {1}, {3}, {4, 2, 5} }

overlap

Page 43: Computational Coalition Formation

Dynamic Programming techniques IDP

Anytime with guarantees on solution quality IP

Slow

False True

O(nn)O(3n)

Fast

IPIDPAlgorithmProperty

Worst case performance

Return solutions anytime

Time 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 Work

Page 44: Computational Coalition Formation

The Dynamic Programming (DP) AlgorithmMain 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.

Page 45: Computational Coalition Formation

f Best split Evaluations performed before setting f coalitionsize1

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}

70

60

80

65

85

80

100

120

110

120

150

V({1})=30V({2})=40V({3})=25V({4})=45

{1}{2}{3}{4}

{1}{2}{3}{4}

30402545

Page 46: Computational Coalition Formation

{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} {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

{a1},{a3}

{a1,a3}

optimal

Page 47: Computational Coalition Formation

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*

Talal Rahwan
The main idea behind IDP is to avoid the evaluation of as many splittings as possible, without losing the guarantees of finding the optimal coalition structure. This corresponds to the removal of as many edges from the coalition structure graph as possible, without removing all the paths that lead to the optimal node
Page 48: Computational Coalition Formation

{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} {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

optimal

Page 49: Computational Coalition Formation

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})=65

V({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})=135

V({1,2,4})=120 f({1})+f({2,4})=120 f({2})+f({1,4})=115 f({4})+f({1,2})=125

V({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}

90

95

85

90

70

80

140

125

135

125

175

V({1,2,3})=125

V({1,2,4})=120

V({1,3,4})=135

V({2,3,4})=115

120

{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}

50304535

Page 50: Computational Coalition Formation

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

Page 51: Computational Coalition Formation

How can we reduce the memory requirements ?

Question

Page 52: Computational Coalition Formation

f Best split Evaluations performed before setting f Coalition

size

1

2

3

4

V[{1}]=30V[{2}]=40V[{3}]=25V[{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}]=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}{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}

30402545

70

60

80

65

85

80

100

120

110

120

150

Page 53: Computational Coalition Formation

Dynamic Programming techniques IDP

Anytime with guarantees on solution quality IP

Related 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].

Page 54: Computational Coalition Formation

Basic Idea of IP

Search space

Sub-space

Sub-space

Sub-spaceSub-space

Sub-space

Sub-space

Lower bound = 150

Upper bound = 350

Lower bound = 100

Upper bound = 600

Lower bound = 250

Upper bound = 450

Lower bound = 200

Upper bound = 550

Lower bound = 200

Upper bound = 300Lower bound = 100

Upper bound = 250

400

500

Page 55: Computational Coalition Formation

Sub-space

Sub-space

Sub-spaceSub-space

Sub-space

Sub-space

Lower bound = 150

Upper bound = 350

Lower bound = 100

Upper bound = 600

Lower bound = 250

Upper bound = 450

Lower bound = 200

Upper bound = 550

Lower bound = 200

Upper bound = 300Lower bound = 100

Upper bound = 250

400

500

{{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}}

{{a1,a2}, {a3,a4}}

{{a1,a3}, {a2,a4}}

{{a1,a4}, {a2,a3}}

{{a1, a2, a3, a4}}

{{a1}, {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]

S

S

S

S

S

{a1}

{a2}

{a3}

{a4}

{a2,a3,a4}

{a1,a3,a4}

{a1,a2,a4}

{a1,a2,a3}

31

Page 56: Computational Coalition Formation

value L4 value L3 value L2 value L1

425 {1, 2, 3, 4} 200150300150

{1, 2, 3}{1, 2, 4}{1, 3, 4}{2, 3, 4}

175150100150200125

{1, 2}{1, 3}{1, 4}{2, 3}{2, 4}{3, 4}

1255075150

1234

Avg1 = 100

Avg2 = 150

Avg3 = 200

Avg4 = 425

Max1 = 150

Max2 = 200

Max3 = 300

Max4 = 425

{{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}}

{{a1,a2}, {a3,a4}}

{{a1,a3}, {a2,a4}}

{{a1,a4}, {a2,a3}}

{{a1, a2, a3, a4}}

{{a1}, {a2,a3,a4}}

{{a2}, {a1,a3,a4}}

{{a3}, {a1,a2,a4}}

{{a4}, {a1,a2,a3}}

[4]

[1,3][2,2]

[1,1,2] [1,1,1,1]

S

S

S

S

S

Avg=300 UB=400

Avg=300 UB=450

Avg=350 UB=500 Avg=400 UB=600

Avg=425 UB=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} }

Page 57: Computational Coalition Formation

[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=500 Avg=390 Avg=460

Avg=520 Avg=450 Avg=440 Avg=550 Avg=520

Avg=380 Avg=470 Avg=420

Avg=500 Avg=320

Avg=360

UB=400 UB=575 UB=480 UB=510

UB=600 UB=520 UB=480 UB=620 UB=540

UB=490 UB=525 UB=475

UB=650 UB=400

UB=390

UB=700

Lower bound = 550Upper bound = 700Searched initially

(contains one solution)

Searched while scanning the input

Searched initially (contains one solution)

Page 58: Computational Coalition Formation

Avg=520 Avg=450 Avg=440 Avg=550 Avg=520UB=600 UB=520 UB=480 UB=620 UB=540

Avg=350 Avg=450 Avg=500 Avg=390 Avg=460UB=400 UB=575 UB=480 UB=510UB=700

Avg=500

Avg=380 Avg=470 Avg=420

Avg=320

Avg=360

UB=650

UB=490 UB=525 UB=475

UB=400

UB=390

Search

Lower bound = 550Upper bound = 700Lower 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 input

Upper bound = 650

Search

Searched initially (contains one solution)

Searched initially (contains one solution)

? ??

Page 59: Computational Coalition Formation

UB* UB*UB*

V*

UB*

Why select sub-space with highest UB ?

UB*

Page 60: Computational Coalition Formation

value L5value L4

Value L3Value L2

Value L1165 1, 2, 3, 4,

5110140100150100

1, 2, 3, 41, 2, 3, 51, 2, 4, 51, 3, 4, 52, 3, 4, 5

70706060408070507575

1, 2, 31, 2, 41, 2, 5 1, 3, 41, 3, 51, 4, 52, 3, 42, 3, 52, 4, 53, 4, 5

40303040402030206535

1, 21, 31, 41, 52, 32, 42, 53, 43, 54, 5

2010303010

12345

Avg=165 UB=165

Avg=100 UB=145

Avg=90 UB=160

Avg=140 UB=180

Avg=95 UB=155 Avg=100 UB=150

Avg=105 UB=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=20

Avg=35 Avg=65

Avg=120

Avg=165

Max=30

Max=65 Max=80

Max=150

Max=165

Page 61: Computational Coalition Formation

value L6value L5

value L4value L3

value L2value L1

6217 1,2, 3, 4, 5, 6 480456574609482956505852

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

435543733770352839673647414238753905364538504099396733183576

1, 2, 3, 41, 2, 3, 51, 2, 3, 61, 2, 4, 51, 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, 63, 4, 5, 6

3352310233013119328726962950332424603134294329562950366126182906276930703135

1, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 61, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 6

174216671989166420232083227220821995180725292045168321151956

1, 21, 31, 41, 51, 62, 32, 42, 52, 63, 43, 53, 64, 54, 65, 6

826110810658909071024

123456

Scanning the input

L=3 [ 1 , 1 , 4 ][ 1 , 2 , 3 ]

[ 6 ]

[ 2 , 2 , 2 ]

L=2 [ 1 , 5 ][ 2 , 4 ][ 3 , 3 ]

L=1

Page 62: Computational Coalition Formation

Dire

ctio

n of

cyc

le

C2

Overlap with C1

C3

Overlap with {C1, C2}

C3

Overlap with {C1, C2}

C3

Overlap with {C1, C2}

Overlap with C1

C1

C2

C1C1C1

C3

Searching a Sub-spaceExample: Search the following sub-space [x, y, z]

Coalitions of size x

Coalitions of size y

Coalitions of size z

Page 63: Computational Coalition Formation

6, 75, 75, 64, 74, 64, 53, 73, 63, 53, 42, 72, 62, 52, 42, 31, 71, 61, 51, 41, 31, 2

6, 75, 75, 64, 74, 64, 53, 73, 63, 53, 42, 72, 62, 52, 42, 31, 71, 61, 51, 41, 31, 2

5, 6, 74, 6, 74, 5, 74, 5, 63, 6, 73, 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, 51, 2, 41, 2, 3

Redundant

invalid

invalid

L2 L2

L3

C1

C2

C3

C1

C1 C2

C2

Dire

ctio

n of

cyc

leA = {1, 2, 3, 4, 5, 6, 7}Subspace = [2, 2, 3]

Example

Page 64: Computational Coalition Formation

Overlap with C1 Overlap with {C1,

C2}

Overlap with {C1, C2}

Overlap with {C1, C2}

Overlap with C1

Dire

ctio

n of

cyc

le

C1

C2

Searching a Sub-space

C3

Coalitions of size x

Coalitions of size y

Coalitions of size z

Value=100

C2

Maxz=200

Example: If value of best solution found so far is 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.

Page 65: Computational Coalition Formation

M2M2

A2 = A1 / C1 = { , , , , }

A3=A2 / C2 = { , , }

4, 5

3, 53, 4

2, 52, 42, 3

1, 51, 41, 31, 2

A1 = A = { , , , , , , }

6, 7

5, 75, 6

4, 74, 64, 5

3, 73, 63, 53, 4

2, 72, 62, 52, 42, 3

1, 71, 61, 51, 41, 31, 2

M1

1, 2, 3M3

b 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 subset

M2C1={a,f} C2={b,g}C2={c,d}

C1={a,g}

C2={b,c}

a b c d e f gD

irect

ion

of c

ycle

Page 66: Computational Coalition Formation

CPLEX

Dynamic programming2.5 days

4 hours

25 min

379 sec

Evaluation(Time to Terminate)

Page 67: Computational Coalition Formation

IDP-IP

Page 68: Computational Coalition Formation

[1,1,1,5][1,1,2,4][1,1,3,3][1,2,2,3]

Level8

Level6

Level5

Level4

Level3

Level7

[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]

Level1

Level2

[8]

[1,7][2,6][3,5][4,4]

[1,1,2,2,2]

[2,2,2,2]2

1,1

The Integer-Partition Graph

Page 69: Computational Coalition Formation

{{a1}, {a2,a3,a4}}

{{a2}, {a1,a3,a4}}

{{a3}, {a1,a2,a4}}

{{a4}, {a1,a2,a3}}

{{a1}, {a2,a3,a4}}

{{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}}

{{a1,a2}, {a3,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]

{{a1}, {a2}, {a3,a4}}Level4

Level3

Level2

Level1

{1},{2,3,4}

{1},{2},{3,4}

[2,2]

[1,1,2]

{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} {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},{a2},{a3,a4}

Page 70: Computational Coalition Formation

IDP-IP

Page 71: Computational Coalition Formation

Level8

Level6

Level5

Level4

Level3

Level7

Level1

Level2

IDP

IDP IDP IDPIDP

IDPIDP

IDPIDPIDP

IDP IDP

IDP

IDP

IDP

IDP

IDP

IDP

IDP IDPIDP

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 Graph

Page 72: Computational Coalition Formation

IDP-IP

Page 73: Computational Coalition Formation

IDP

IDP IDP IDPIDP

IDPIDP

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!

Level8

Level6

Level5

Level4

Level3

Level7

Level1

Level2

IDP IDP

IDPIDP

IDP IDP

IDP

IDP

IP IPIP

IP

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 ?

Page 74: Computational Coalition Formation

[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]

ExerciseBy setting m=2, which

subspaces are searched by IP, and in which

order ?

1

21

105 35

210105

70 105

35 21

1

7

21

35

[1,1,1,2,2] [1,1,1,1,3]

[1,2,2,2]

size ofsubspace

Page 75: Computational Coalition Formation

[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

ExerciseBy 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]

1

21

105 35

210105

70 105

35 21

1

7

21

35

Page 76: Computational Coalition Formation

IDP

IDPIDP

IDP

IDP

IDP

IDP

IDP

IDP

IDP

IP IP

IPIP

ExerciseBy 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]

1

21

105 35

210105

70 105

35 21

1

7

21

35

Page 77: Computational Coalition Formation

IDP

IDPIDP

IDP

IDP

IDP

IDP

IDP

IDP

IDP

IP IP

IPIP

ExerciseBy 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]

1

21

105 35

210105

70 105

35 21

1

7

21

35

105+105+21+1 210+35

105+3570

105

10570

210

= 1 = 1.33

= 1.16= 2.21

Page 78: Computational Coalition Formation

Coalition Structure Generation in Multi-Agent Systems with Positive and Negative Externalities

Page 79: Computational Coalition Formation

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:

{{a1},{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 95

a value for every coalitionINPUT

an optimal coalition structureOUTPUT

CSG in Characteristic Function Games

Page 80: Computational Coalition Formation

35 201520

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:

{{a1},{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

+40+30= 70+30 = 100 40+40 = 80 +65 = 95

20 40 30 70 40 65 95

CSG in Characteristic Function GamesPartition

a value for every coalitionINPUT

an optimal coalition structureOUTPUT

10590 8580

Page 81: Computational Coalition Formation

-

+

C1 C2 C3

C2 U C3C1

CS

CS'

C1 C2 C3

C2 U C3C1

+

-

CS

CS'

Super-additive values, negative externalities

Sub-additive values, positive externalities

externality

Michalak et. al. [ECAI-2008] focused on the following classes:

The merging of two coalitions may affect the values ofother coalitions in the structure!

Games with externalities are known as Partition Function Games

Page 82: Computational Coalition Formation

Computing Upper & Lower BoundsWe need to compute upper and lower bounds on the value of any combination of disjoint coalitions

C2C1

The maximum possible value of this combination is 500, and the minimum possible value is 100

Example:

>>< <

P F+P F :

Page 83: Computational Coalition Formation

Searchspace

the best coalition structure in this

from the optimalset 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 Guarantees

Page 84: Computational Coalition Formation

Y is a set of subsets of X

Y'

Main Theorem

X x1x2

x3

x4x5

MUST BE Y/Y’

Yx1

x2

x3

x5x4

x1 x4x2

x3 x5x1

x2

x3x4 x5

x5x1x3

x4

x5

x1

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 elements

if every xi X appears with its maximum value

20

70

30

50

Page 85: Computational Coalition Formation

In the next few slides, we will be using the following graphical representation:

{ {a1,a2}, {a3}, {a4} }

{ {a1,a3}, {a2}, {a4} }

{ {a1,a4}, {a2}, {a3} }

{ {a2,a3}, {a1}, {a4} }

{ {a2,a4}, {a1}, {a3} }

{ {a3,a4}, {a1}, {a2} }

2,1,11,1

{{a1}, {a2}}

{{a1}, {a3}}

{{a1}, {a4}}

{{a2}, {a3}}

{{a2}, {a4}}

{{a3}, {a4}}

2

{a1, a2}

{a1,a3}

{a1,a4}

{a2,a3}

{a2,a4}

{a3,a4}

12

34

Set of coalitions

4

1,3 2,22,1,1

1,1,1,1

Set of coalition structures

i,j,k,...

integers represent coalition sizes

Page 86: Computational Coalition Formation

[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'

Page 87: Computational Coalition Formation

Solve Using Integer Programming

Page 88: Computational Coalition Formation

Constrained Coalition Formation

88

Page 89: Computational Coalition Formation

89

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)

Page 90: Computational Coalition Formation

90

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

General Model

Page 91: Computational Coalition Formation

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.

Locally Constrained Games

91

Page 92: Computational Coalition Formation

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

Page 93: Computational Coalition Formation

93

Basic CCF Model

Page 94: Computational Coalition Formation

94

PNS12

3

94

Basic CCF Model

Page 95: Computational Coalition Formation

General CCF games Constraints are placed on Coalition Structures

Local CCF gamesConstraints are placed on Coalitions

• Constraint can be expressed using propositional logic

Basic CCF gamesConstraints are placed on Coalitions In the form of:

• Size constraints• Positive constraints• Negative constraints

95

Page 96: Computational Coalition Formation

96

size = 6 size = 5 size = 4 size = 3 size = 2 size=11, 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, 61, 2, 4, 51, 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, 63, 4, 5, 6

1, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 61, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 6

1, 21, 31, 41, 51, 62, 32, 42, 52, 63, 43, 53, 64, 54, 65, 6

123456

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?

Page 97: Computational Coalition Formation

f ( {12345678} , {158},{257},{578} , {123}{235} , Ø , Ø )

P

97

A N N∗P∗

f ( {2345678} , {58}{257}{578} , {23}{235} , {1} , Ø )

contain

agent 1do not

contain agent 1

f ( {2345678} , {257}{578} , {235} , Ø , {1} )

Divide & Conquer

Page 98: Computational Coalition Formation

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

Page 99: Computational Coalition Formation

f ( {12345678} , {158}{257}{578} , {123}{235} , Ø , Ø )

contains 1 does not

contain 1

f ( A, P, N, P*, N*) =

100

Divide & Conquer

f ( {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 8contains 8

does not contain 2

does not contain 5

contains 2

contains

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* = {{257}} , N* = {{1}{3}}

f ( {45678} , {57}, Ø , {2} , {1}{3} )f ( {45678} , {57} , {5} , {23} , {1} )

does not contain 2contains

2

does not contain 3contains 3

Impossible case

f ( {2345678} , {58}{257}{578} , {23}{235} , {1} , Ø )

f ( {2345678} , {257}{578} , {235} , Ø , {1} )

Page 100: Computational Coalition Formation

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*X C {3,4,5} : |C| ∈ S* X C {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}

Page 101: Computational Coalition Formation

102

Back to our Example

size = 6 size = 5 size = 4 size = 3 size = 2 size=11, 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, 61, 2, 4, 51, 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, 63, 4, 5, 6

1, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 61, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 6

1, 21, 31, 41, 51, 62, 32, 42, 52, 63, 43, 53, 64, 54, 65, 6

123456

P = {Ø} , N = { {1,2,3,4}, {1,2,4,5}, {5,6} }

We wanted to generate the feasible coalitions using the base cases

Page 102: Computational Coalition Formation

P1* = {Ø} 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=11, 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, 61, 2, 4, 51, 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, 63, 4, 5, 6

1, 2, 31, 2, 41, 2, 5 1, 2, 61, 3, 41, 3, 51, 3, 61, 4, 51, 4, 61, 5, 62, 3, 42, 3, 52, 3, 62, 4, 52, 4, 62, 5, 63, 4, 53, 4, 63, 5, 64, 5, 6

1, 21, 31, 41, 51, 62, 32, 42, 52, 63, 43, 53, 64, 54, 65, 6

123456

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:

Page 103: Computational Coalition Formation

104

Searching Feasible Coalition Structures

(P1*,N1*)

(P2*,N2*)

(P3*,N3*)

(P4*,N4*)

(P6*,N6*)

(P7*,N7*)

(P8*,N8*)

(P9*,N9*) (P10*,N10*)

(P11*,N11*)

(P12*,N12*)

(P14*,N14*)

(P15*,N15*)

a1 a1

a4

a7

a2

a1

a6

a3

a4

a6

a7

a6

a8 a8

a4

a7

a2

a1

a6

a3

a4

a6 a6

a7

a8

a1

a2

a5a5

a2

a1

a8

(P13*,N13*)

L3 L4

L5

L1 L2

(P1*,N1*)

(P2*,N2*)

(P3*,N3*)

(P4*,N4*)

(P6*,N6*)

(P7*,N7*)

(P8*,N8*)

(P5*,N5*)

(P10*,N10*)

(P11*,N11*)

(P9*,N9*) (P12*,N12*)

(P14*,N14*)

(P15*,N15*)(P13*,N13*)

impossible case

impossible case

(P5*,N5*)

Page 104: Computational Coalition Formation

105

Searching Feasible Coalition Structures

L3

L4

L5

L1L2

(P1*,N1*)

(P2*,N2*)

(P3*,N3*)

(P4*,N4*)

(P5*,N5*)

(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 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.

Page 105: Computational Coalition Formation

106

Experimental ResultsTime in log scale to find an optimal coalition structure

We outperform existing algorithms by several orders of magnitude