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

54
Matching Games Computing the Nucleolus in Polynomial Time By Justin Toth Joint work with Jochen Könemann and Kanstantsin Pashkovich University of Waterloo

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

Page 1: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Matching GamesComputing the Nucleolus in Polynomial Time

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

University of Waterloo

Page 2: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Weighted Matching Games

• Vertices: Players• Edges: PotentialCollaborations

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

1

Page 3: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 4: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 5: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 6: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 7: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 8: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

An Outcome

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

4

Page 9: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

The Nucleolus

The nucleolus is fairest allocation p∗

5

Page 10: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

The Nucleolus

The nucleolus is fairest allocation p∗

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

5

Page 11: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

The Nucleolus

The nucleolus is fairest allocation p∗

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

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

5

Page 12: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 13: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 14: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 15: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 16: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 17: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 18: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 19: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 20: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 21: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 22: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 23: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 24: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 25: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 26: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 27: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 28: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

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

← Examples

9

Page 29: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

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

← Examples

9

Page 30: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Describing Constraints of P1

Tight P1 constraints ≡ optimal wmatchingsOptimal Matchings defined by:

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

← Examples

9

Page 31: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 32: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 33: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 34: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 35: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 36: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 37: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 38: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 39: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 40: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 41: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 42: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 43: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 44: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 45: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Observation 3

Need to understand w distributionover each B ∈ L

13

Page 46: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Observation 3

Need to understand w distributionover each B ∈ L

← Equal on each edge?

13

Page 47: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Observation 3

Need to understand w distributionover each B ∈ L

← Equal on each edge?

Fails for larger examples!

13

Page 48: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

Observation 3

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

pu - pu = pv − pv

13

Page 49: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 50: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 51: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 52: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 53: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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

Page 54: Matching Games - Computing the Nucleolus in Polynomial Time · An Outcome Problems with the Least Core: • outcomesarenotunique • Excess:p(S) (S) only controlledforworstcoalitions

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