Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least...

Post on 02-Oct-2020

1 views 0 download

Transcript of Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least...

Matching GamesComputing the Nucleolus in Polynomial Time

By Justin TothJoint work with Jochen Könemann and Kanstantsin Pashkovich

University of Waterloo

Weighted Matching Games

• Vertices: Players• Edges: PotentialCollaborations

• Have ≤ 1 collaborator• Models Network Bargainingsetting of [Kleinberg and Tardos’08]

1

Weighted Matching Games

• Value ν(S) = max{w(M) :M is a matching on G[S]}

• S ⊆ T =⇒ ν(S) ≤ ν(T)• So assume the grandcoalition forms.

2

Least Core

How to fairly distribute matchingvalue to the players?

min ϵ

s.t.

∑i∈S

pi ≥ ν(S)

− ϵ

∀S ⊆ V

∑i∈V

pi = ν(V)

pi ≥ 0 ∀i ∈ V

3

Least Core

ν(V) = 70+ 70+ 70 = 210νfrac(V) = 7 · 35 = 245

min ϵ

s.t.

∑i∈S

pi ≥ ν(S)

− ϵ

∀S ⊆ V

∑i∈V

pi = ν(V)

pi ≥ 0 ∀i ∈ V

3

Least Core

ν(V) = 70+ 70+ 70 = 210νfrac(V) = 7 · 35 = 245

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V

∑i∈V

pi = ν(V)

pi ≥ 0 ∀i ∈ V

3

An Outcome

ν(V) = 210ϵ1 = 70 - 2·34+ 70− 2 · 24 = 24

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V

∑i∈V

pi = ν(V)

pi ≥ 0 ∀i ∈ V

4

An Outcome

Problems with the Least Core:• outcomes are not unique• Excess: p(S)− ν(S) onlycontrolled for worst coalitions

4

The Nucleolus

The nucleolus is fairest allocation p∗

5

The Nucleolus

The nucleolus is fairest allocation p∗

exp(S) := p(S)− ν(S)

5

The Nucleolus

The nucleolus is fairest allocation p∗

exp(S) := p(S)− ν(S)

Sort excesses: exp(S1) ≥ exp(S2) ≥ · · · ≥ exp(S) ≥ · · · =: θ(p)

5

The Nucleolus

The nucleolus is fairest allocation p∗

exp(S) := p(S)− ν(S)

Sort excesses: exp(S1) ≥ exp(S2) ≥ · · · ≥ exp(S) ≥ · · · =: θ(p)

p∗ lexicographically minimizes θ(p)

5

The Nucleolus

The nucleolus is fairest allocation p∗

exp(S) := p(S)− ν(S)

Sort excesses: exp(S1) ≥ exp(S2) ≥ · · · ≥ exp(S) ≥ · · · =: θ(p)

p∗ lexicographically minimizes θ(p)

And it is unique!

5

Hardness of Computing the Nucleolus

In P

• Shortest Path Games• Node-Weighted Matching• Convex Games

• Our Result: Matching Games

NP-hard

• Spanning Tree Games• Flow Games• Weighted Voting Games• Linear Production Games

Open for 15 years: How about Weighted Matching Games?

[Kern and Paulusma ’03]

6

Hardness of Computing the Nucleolus

In P• Shortest Path Games• Node-Weighted Matching• Convex Games

• Our Result: Matching Games

NP-hard• Spanning Tree Games• Flow Games• Weighted Voting Games• Linear Production Games

Open for 15 years: How about Weighted Matching Games?

[Kern and Paulusma ’03]

6

Hardness of Computing the Nucleolus

In P• Shortest Path Games• Node-Weighted Matching• Convex Games

• Our Result: Matching Games

NP-hard• Spanning Tree Games• Flow Games• Weighted Voting Games• Linear Production Games

Open for 15 years: How about Weighted Matching Games?

[Kern and Paulusma ’03]

6

Hardness of Computing the Nucleolus

In P• Shortest Path Games• Node-Weighted Matching• Convex Games• Our Result: Matching Games

NP-hard• Spanning Tree Games• Flow Games• Weighted Voting Games• Linear Production Games

Open for 15 years: How about Weighted Matching Games?

[Kern and Paulusma ’03]

6

Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

Subsequent LPs minimize excess over coalitions not fixed

P2 : min ϵ

s.t. p ∈ P1p(S) ≥ ν(S)− ϵ ∀S ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

7

Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

Each LP fixes new coalitions =⇒ dimension of Pi+1 reduces

P2 : min ϵ

s.t. p ∈ P1p(S) ≥ ν(S)− ϵ ∀S ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

7

Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

O(2|V|) constraints in naive formulation of each Pi

P2 : min ϵ

s.t. p ∈ P1p(S) ≥ ν(S)− ϵ ∀S ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

7

Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

To implement Maschler’s Scheme give a polynomial sizedformulation for each Pi

P2 : min ϵ

s.t. p ∈ P1p(S) ≥ ν(S)− ϵ ∀S ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

7

Separation for P1

w(uv) = w(uv)− pu − pv Min

Excess Matchings: maxw(M)

Solve using your favourite maxweight matching algorithm!

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V (???)

∑i∈V

pi = ν(V) (Easy!)

pi ≥ 0 ∀i ∈ V (Easy!)

8

Separation for P1

w(uv) = w(uv)− pu − pv

Min

Excess Matchings: maxw(M)

Solve using your favourite maxweight matching algorithm!

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V (???)

∑i∈V

pi = ν(V) (Easy!)

pi ≥ 0 ∀i ∈ V (Easy!)

8

Separation for P1

w(uv) = w(uv)− pu − pv Min

Excess Matchings: maxw(M)

Solve using your favourite maxweight matching algorithm!

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V (???)

∑i∈V

pi = ν(V) (Easy!)

pi ≥ 0 ∀i ∈ V (Easy!)

8

Separation for P1

w(uv) = w(uv)− pu − pv Min

Excess Matchings: maxw(M)

Solve using your favourite maxweight matching algorithm!

min ϵ

s.t.∑i∈S

pi ≥ ν(S)− ϵ ∀S ⊆ V (Easy!)

∑i∈V

pi = ν(V) (Easy!)

pi ≥ 0 ∀i ∈ V (Easy!)

8

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

x(δ(v)) = 1 ∀v ∈ T

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

x(δ(v)) = 1 ∀v ∈ T

Can show T = ∅ when ϵ1 > 0

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

← Examples

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

← Examples

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

← Examples

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

Only describes constraints forone p ∈ P1

9

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

x(E(B)) = |B| − 12 ∀B ∈ L

Only describes constraints forone p ∈ P1

Need something for all p ∈ P1

9

Universal Matchings

If p is in relative interior of P1 we call p a universal allocation.

Matching M: exp(M) = ϵ1 ⇐⇒ exp(M) = ϵ1, ∀p ∈ P1

Max w(uv) := w(uv)− pu − pv weight matchings describe universalmatchings.

Studying the structure of universal matchings will be key!

10

Universal Matchings

If p is in relative interior of P1 we call p a universal allocation.

Matching M: exp(M) = ϵ1 ⇐⇒ exp(M) = ϵ1, ∀p ∈ P1

Max w(uv) := w(uv)− pu − pv weight matchings describe universalmatchings.

Studying the structure of universal matchings will be key!

10

Universal Matchings

If p is in relative interior of P1 we call p a universal allocation.

Matching M: exp(M) = ϵ1 ⇐⇒ exp(M) = ϵ1, ∀p ∈ P1

Max w(uv) := w(uv)− pu − pv weight matchings describe universalmatchings.

Studying the structure of universal matchings will be key!

10

Universal Matchings

If p is in relative interior of P1 we call p a universal allocation.

Matching M: exp(M) = ϵ1 ⇐⇒ exp(M) = ϵ1, ∀p ∈ P1

Max w(uv) := w(uv)− pu − pv weight matchings describe universalmatchings.

Studying the structure of universal matchings will be key!

10

Three Ideas for Description

Consider laminar blossom family L for p

(Recall: Matching M is optimal ⇐⇒ |M ∩ E(B)| = |B|−12 ∀B ∈ L)

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

11

Three Ideas for Description

Consider laminar blossom family L for p

(Recall: Matching M is optimal ⇐⇒ |M ∩ E(B)| = |B|−12 ∀B ∈ L)

Observations

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

11

Three Ideas for Description

Consider laminar blossom family L for p

Observations

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

11

Three Ideas for Description

Consider laminar blossom family L for p

Observations

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

11

Three Ideas for Description

Consider laminar blossom family L for p

Observations

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

11

Three Ideas for Description

Consider laminar blossom family L for p

Observations

1. Negative excess only on blossoms.

2. Other edges have ≥ 0 excess.

3. There is a symmertry property between vertices in the sameblossom

Theorem: These linear constraints suffice to describe Least Core P1

11

Observations 1 and 2

1. w values > 0 on blossom edges.

Proof Idea: Drop non-positiveedge e from M: Optimal but|M− e ∩ E(B)| < |M ∩ E(B)| = |B|−1

2■

2. w values ≤ 0 on non-blossomedges.

Proof Idea: Can satisfy Lconstraints without such edges. ■

12

Observations 1 and 2

1. w values > 0 on blossom edges.

Proof Idea: Drop non-positiveedge e from M: Optimal but|M− e ∩ E(B)| < |M ∩ E(B)| = |B|−1

2■

2. w values ≤ 0 on non-blossomedges.

Proof Idea: Can satisfy Lconstraints without such edges. ■

12

Observation 3

Need to understand w distributionover each B ∈ L

13

Observation 3

Need to understand w distributionover each B ∈ L

← Equal on each edge?

13

Observation 3

Need to understand w distributionover each B ∈ L

← Equal on each edge?

Fails for larger examples!

13

Observation 3

Actually: ∀u, v ∈ B,∀B ∈ L

pu - pu = pv − pv

13

Observation 3

Actually: ∀u, v ∈ B,∀B ∈ L

pu - pu = pv − pv

Technical Proof. Key Idea:M exposing u can be modified

within B to expose v.

13

Least Core Description

Obtain a nice P1 description

min ϵ

s.t. pv − pv = pu − pu for all u, v ∈ S∗i , i ∈ [k]p(e)− w(e) ≤ 0 for all e ∈ E∗p(e)− w(e) ≥ 0 for all e ∈ E+

p(M∗)− w(M∗) = −ϵ M∗ a universal matchingp(V) = ν(G)p ≥ 0

Where S∗1 , . . . , S∗k are maximal sets of L,

E∗ :=(∪

i∈[k] E(S∗i ))∩(∪

M∈M∗ M),

and E+ is the edges with at most one endpoint each S∗i .

14

Implementing Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

To find nucleolus= p∗ give a polynomial sized formulation for eachPi

P2 : min ϵ

s.t. p ∈ P1p(S) ≥ ν(S)− ϵ ∀S ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

15

Implementing Maschler’s Scheme

Solve a hierarchy of linear programs

P1 ⊇ P2 ⊇ · · · ⊇ P|V| ≡ p∗

To find nucleolus= p∗ give a polynomial sized formulation for eachPi

P2 : min ϵ

s.t. p ∈ P1p(e)− w(e) ≥ ϵ− ϵ1 ∀e ∈ E+, e ̸∈ Fix(P1)

pv ≥ ϵ− ϵ1 ∀v ̸∈ Fix(P1)p(e)− w(e) ≤ ϵ− ϵ1 ∀e ∈ E∗, e ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

15

Implementing Maschler’s Scheme

Observation 3 (Blossom Symmetry) plays a major role.

∀u, v ∈ B,∀B ∈ L,pu − pu = pv − pv

Lemma: B ∈ L\Fix(P1) =⇒ v ̸∈ Fix(P1) ∀v ∈ B

P2 : min ϵ

s.t. p ∈ P1p(e)− w(e) ≥ ϵ− ϵ1 ∀e ∈ E+, e ̸∈ Fix(P1)

pv ≥ ϵ− ϵ1 ∀v ̸∈ Fix(P1)p(e)− w(e) ≤ ϵ− ϵ1 ∀e ∈ E∗, e ̸∈ Fix(P1)

Fix(P1) = {S ⊂ V : ∃c s.t. p(S) = c, ∀p ∈ P1}

15

The End - Thank You

Matching GamesComputing the Nucleolus in Polynomial Time

By Justin TothJoint work with Jochen Könemann and Kanstantsin Pashkovich

University of Waterloo

16