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
Top Related