/
Computational Coalition Formation Computational Coalition Formation

Computational Coalition Formation - PowerPoint Presentation

olivia-moreira
olivia-moreira . @olivia-moreira
Follow
376 views
Uploaded On 2018-01-31

Computational Coalition Formation - PPT Presentation

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

idp coalition bound coalitions coalition idp coalitions bound size game structure avg agents set games level optimal core feasible space 150 case

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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 CCS  

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