Post on 04-Jun-2020
A Simply Exponential Upper Bound on the Maximum Number of Stable Matchings
Robbie Weber
Joint work with Anna Karlin and Shayan Oveis Gharan
Given π1, β¦ ,ππ , {π€1, β¦ , π€π} each rank the other set.
Stable Matching Problem
Given π1, β¦ ,ππ , {π€1, β¦ , π€π} each rank the other set.
A matching is stable if there is no blocking pair.
A pair (π,π€) is blocking if π prefers π€ to his match, and π€ prefers π to her match.
π€π
πβ² π€β²
π€ ,π€β π ,πβ
Stable Matching Problem
Given π1, β¦ ,ππ , {π€1, β¦ , π€π} each rank the other set.
A matching is stable if there is no blocking pair.
A pair (π,π€) is blocking if π prefers π€ to his match, and π€ prefers π to her match.
π€π
πβ² π€β²
π€ ,π€β π ,πβ
Stable Matching Problem
Given π1, β¦ ,ππ , {π€1, β¦ , π€π} each rank the other set.
A matching is stable if there is no blocking pair.
A pair (π,π€) is blocking if π prefers π€ to his match, and π€ prefers π to her match.
π€π
πβ² π€β²
π€ ,π€β π ,πβ
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
What is the maximum number of stable matchings?
I.e. as the size of the instance increases, how fast can we make the number of stable matchings increase?
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Gale-Shapley β62]
There is always at least one stable matching,
and there can be more than one.
What is the maximum number of stable matchings?
I.e. as the size of the instance increases, how fast can we make the number of stable matchings increase?
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Stable Matching Problem
[Knuthβ76,Gusfield-Irvingβ89]:
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
Lower Bounds (i.e. constructions)
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?π€1, π€2 π1 1
2
β₯ 2π/2
π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Lower Bounds (i.e. constructions)
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?π€1, π€2 π1 1
2
β₯ 2π/2
β₯ 2.28π [Irving-Leather-Knuthβ86,
Benjamin-Converse-Kriegerβ95, Thurberβ02]
π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Lower Bounds (i.e. constructions)
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?π€1, π€2 π1 1
2
β₯ 2π/2
β₯ 2.28π [Irving-Leather-Knuthβ86,
Benjamin-Converse-Kriegerβ95, Thurberβ02]
β€ π! β 2π log π βπ(π)
π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Lower Bounds (i.e. constructions)
Upper Bounds
[Knuthβ76,Gusfield-Irvingβ89]:
What is the maximum number of stable matchings?π€1, π€2 π1 1
2
β₯ 2π/2
β₯ 2.28π [Irving-Leather-Knuthβ86,
Benjamin-Converse-Kriegerβ95, Thurberβ02]
β€ π! β 2π log π βπ(π)
β€ π!/ππ [Stathopoulosβ11]
π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Lower Bounds (i.e. constructions)
Upper Bounds
Main Result
There is a universal constant πΆ such that every stable matching instance with π men and π women
has β€ πΆπ stable matchings.
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
POSET: A set with a transitive antisymmetric relation βΊ, i.e., a DAG
π’ dominates π£ if π£ βΊ π’.
Downset: a set of elements, and everything they dominate. Downset
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
POSET: A set with a transitive antisymmetric relation βΊ, i.e., a DAG
π’ dominates π£ if π£ βΊ π’.
Downset: a set of elements, and everything they dominate. Downset
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
POSET: A set with a transitive antisymmetric relation βΊ, i.e., a DAG
π’ dominates π£ if π£ βΊ π’.
Downset: a set of elements, and everything they dominate. Downset
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
Fact: POSETs for stable matchings have at most π2 elements.
Does this imply a πΆπ upper bound?
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
Fact: POSETs for stable matchings have at most π2 elements.
Does this imply a πΆπ upper bound?
Proof Outline
Step 1 [Irving Leather 86]: The number of stable matchings equals the number of downsets of a certain POSET.
Fact: POSETs for stable matchings have at most π2 elements.
Does this imply a πΆπ upper bound?
Step 2: POSETs for stable matchings are β2πβmixing.β
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
Our main theorem follows immediately from these three steps.
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
Our main theorem follows immediately from these three steps.
Another of Knuthβs problems from 1976:
Find a concise description of the set of stable matchings.
Irving and Leatherβs POSET
Another of Knuthβs problems from 1976:
Find a concise description of the set of stable matchings.
Idea:
Start at the man-optimal matching, and jump from one matching to another, getting closer to the woman optimal matching.
Irving and Leatherβs POSET
Another of Knuthβs problems from 1976:
Find a concise description of the set of stable matchings.
Idea:
Start at the man-optimal matching, and jump from one matching to another, getting closer to the woman optimal matching.
There can be exponentially many stable matchings
But there are only polynomially many βsimple transformationsβ to jump from one stable matching to another.
Irving and Leatherβs POSET
A trivial example: π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Irving and Leatherβs POSET
A trivial example:
There are 2π/2 stable matchings
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Irving and Leatherβs POSET
A trivial example:
There are 2π/2 stable matchings
but only π/2 simple transformations from one stable matching to another
(Switching from the blue matching to the green matching in some pair)
π€1, π€2 π1 1
2π2π€2, π€1
π2, π1
π1, π2
π€1
1π€2
π€3, π€4 π3 1
2π4π€4, π€3
π4, π3
π3, π4
π€3
1π€4
π€πβ1, π€π ππβ1 1
2πππ€π, π€πβ1
ππ, ππβ1
ππβ1, ππ
π€πβ1
1π€π
Irving and Leatherβs POSET
RotationA rotation is an ordered list of pairs:
π = π1, π€1 , π2, π€2 , β¦ , ππ , π€π
s.t., for all stable matchings π where π β π
β’ πβ² = π \ π βͺ π1, π€2 , π2, π€3 , β¦ (ππ , π€1)is stable.
β’ Each ππ is worse off in πβ² than in π, and each π€π is better off.
β’ [some technical points we donβt need]
π1
π2
π€1
π€2
π3 π€3
RotationA rotation is an ordered list of pairs:
π = π1, π€1 , π2, π€2 , β¦ , ππ , π€π
s.t., for all stable matchings π where π β π
β’ πβ² = π \ π βͺ π1, π€2 , π2, π€3 , β¦ (ππ , π€1)is stable.
β’ Each ππ is worse off in πβ² than in π, and each π€π is better off.
β’ [some technical points we donβt need]
π1
π2
π€1
π€2
π3 π€3
RotationA rotation is an ordered list of pairs:
π = π1, π€1 , π2, π€2 , β¦ , ππ , π€π
s.t., for all stable matchings π where π β π
β’ πβ² = π \ π βͺ π1, π€2 , π2, π€3 , β¦ (ππ , π€1)is stable.
β’ Each ππ is worse off in πβ² than in π, and each π€π is better off.
β’ [some technical points we donβt need]
Any stable matching instance has at most π(π2)rotations that can be constructed in poly time.
π1
π2
π€1
π€2
π3 π€3
RotationA rotation is an ordered list of pairs:
π = π1, π€1 , π2, π€2 , β¦ , ππ , π€π
s.t., for all stable matchings π where π β π
β’ πβ² = π \ π βͺ π1, π€2 , π2, π€3 , β¦ (ππ , π€1)is stable.
β’ Each ππ is worse off in πβ² than in π, and each π€π is better off.
β’ [some technical points we donβt need]
Any stable matching instance has at most π(π2)rotations that can be constructed in poly time.
π1
π2
π€1
π€2
π3 π€3
Rotation POSET
To jump from stable matching to stable matching, some rotations must be eliminated before others.
Rotation POSET
To jump from stable matching to stable matching, some rotations must be eliminated before others.
This induces a partial order on rotations:
π1 βΊ π2 iff π1 must be eliminated before π2.
Rotation POSET
To jump from stable matching to stable matching, some rotations must be eliminated before others.
This induces a partial order on rotations:
π1 βΊ π2 iff π1 must be eliminated before π2.
Nodes of the rotation POSET are rotations and π1 β π2 if π1 βΊ π2.
Rotation POSET
To jump from stable matching to stable matching, some rotations must be eliminated before others.
This induces a partial order on rotations:
π1 βΊ π2 iff π1 must be eliminated before π2.
Nodes of the rotation POSET are rotations and π1 β π2 if π1 βΊ π2.
Observation: All rotations with an agent form a directed path.
[Irving-Leather 86]
#Stable Matchings = #Downsets Rotation POSET
(π1, π€2),(m4, w3)
(π1, π€1),(π2, π€2)
π1
π2
π3
π4
π€1
π€2
π€3
π€4 (π3, π€3),(π4, π€4)
(π2, π€1),(m3, w4)
(π1, π€3),(m2, w4)
(π3, π€1),(m4, w2)
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
A POSET is k-mixing if we can decompose
it into π paths π1, π2, β¦ , ππ s.t.,
β’ βππ includes all elements
β’ Every set π intersects β₯ π paths.
π-Mixing POSETs
π
π
A POSET is k-mixing if we can decompose
it into π paths π1, π2, β¦ , ππ s.t.,
β’ βππ includes all elements
β’ Every set π intersects β₯ π paths.
π-Mixing POSETs
π
π
Each man and each woman have a path ππ with all rotations containing that agent.
Rotation POSETs are 2π-Mixing
Each man and each woman have a path ππ with all rotations containing that agent.
There are 2π paths.
Rotation POSETs are 2π-Mixing
Each man and each woman have a path ππ with all rotations containing that agent.
There are 2π paths.
β’ These paths cover all rotations.
Rotation POSETs are 2π-Mixing
Each man and each woman have a path ππ with all rotations containing that agent.
There are 2π paths.
β’ These paths cover all rotations.
β’ They mix!
1) Every rotation contains a new (man, woman) pair.
2) We need at least π men and or women to make π new pairs. Thus π rotations must intersect at least π paths.
Rotation POSETs are 2π-Mixing
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
Proof Outline
Step 1 [Irving-Leather 86]: The number of stable matchings equals the number of downsets of a POSET with β€ π2 nodes.
Step 2: POSETs for stable matchings are β2πβmixingβ.
Step 3: Every π-mixing POSET has at most πΆπ downsets.
A node is πΌ-critical if it dominates and is dominated by at least πΌ nodes.
Fact: By inspecting an πΌ-critical node, we can eliminate πΌ nodes:
Main Idea: Critical Nodes
A node is πΌ-critical if it dominates and is dominated by at least πΌ nodes.
Fact: By inspecting an πΌ-critical node, we can eliminate πΌ nodes:
Main Idea: Critical Nodes
9-critical
A node is πΌ-critical if it dominates and is dominated by at least πΌ nodes.
Fact: By inspecting an πΌ-critical node, we can eliminate πΌ nodes:
Main Idea: Critical Nodes
9-critical
A node is πΌ-critical if it dominates and is dominated by at least πΌ nodes.
Fact: By inspecting an πΌ-critical node, we can eliminate πΌ nodes:
Main Idea: Critical Nodes
9-critical
T(|V|) β€ 2T(|π| β πΌ) if |π| > π
2π if |π| β€ π
Critical Nodes β Main Theorem
T(|V|) β€ 2T(|π| β πΌ) if |π| > π
2π if |π| β€ π
Main Lem: Every π-mixing poset (π, βΊ) with paths π1, π2, β¦ , ππ has a
Ξ©(π3/2)-critical element, where π =|π|
πis βaverageβ length of a path.
Critical Nodes β Main Theorem
T(|V|) β€ 2T(|π| β πΌ) if |π| > π
2π if |π| β€ π
Main Lem: Every π-mixing poset (π, βΊ) with paths π1, π2, β¦ , ππ has a
Ξ©(π3/2)-critical element, where π =|π|
πis βaverageβ length of a path.
Unfolding the recurrence leads to a geometric series.
Which gives π |π| β€ πΆ|π|.
Critical Nodes β Main Theorem
π1 π2
Constructing Disjoint Subpaths
We construct a partition into subpaths π1, β¦ , ππ s.t.,
β’ Each ππ β ππ.β’ If a node π£ dominates π nodes
in its subpath ππ then it dominates π nodes in all ππ where π£ β ππ.
π3 π4
π1π1
>1
2of nodes
Finding a half-Critical Node
Claim: Most nodes dominates Ξ© π3/2 nodes.
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
π
2levels
>1
2of nodes
Finding a half-Critical Node
Claim: Most nodes dominates Ξ© π3/2 nodes.
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
π
2levels
π
4levels
>1
2of nodes
Finding a half-Critical Node
π
4levels
Claim: Most nodes dominates Ξ© π3/2 nodes.
β’ Red node dominates π/4 green nodes
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
π
4levels
>1
2of nodes
Finding a half-Critical Node
π
4levels
Claim: Most nodes dominates Ξ© π3/2 nodes.
β’ Red node dominates π/4 green nodes
β’ Green nodes mix, so belong to Ξ©( π) paths.
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
π
4levels
>1
2of nodes
Finding a half-Critical Node
π
4levels
Claim: Most nodes dominates Ξ© π3/2 nodes.
β’ Red node dominates π/4 green nodes
β’ Green nodes mix, so belong to Ξ©( π) paths.β’ Every green node dominates at least π/4 in
every path that it appears.
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
π
4levels
>1
2of nodes
Finding a half-Critical Node
π
4levels
Claim: Most nodes dominates Ξ© π3/2 nodes.
β’ Red node dominates π/4 green nodes
β’ Green nodes mix, so belong to Ξ©( π) paths.β’ Every green node dominates at least π/4 in
every path that it appears.
β’ The red node dominates Ξ©(π3/2) blue nodes.
k-mixing: Every set π intersects |π| of paths π1, β¦ , ππ
Partition: Define subpaths π1, π2, β¦ , ππ such that:β’ Each ππ β ππ.β’ If π£ dominates π nodes in ππ then
it dominates π nodes in all ππ where π£ β ππ.
π1 π2 π3 π4 ππβ¦
Existence of a Critical Node
Main Lem: Every π-mixing POSET with paths has a Ξ©(π3/2)-critical element, where π is βaverageβ length of a path.
Most nodes dominate Ξ©(π3/2) nodes.
Most nodes are dominated by Ξ©(π3/2) nodes.
Therefore, there is an Ξ©(π3/2)-critical node.
Proof Summaryπ- mixing POSETs have Ξ©(π3/2) critical nodes
π-mixing POSETs have at most πΆπ downsets
#downsets in rotation POSETs is at most πΆπ
#stable matchings is at most πΆπ
Rotation POSETs are 2n-mixing
β’ Getting close to the 2.28π lower bound?β’ Our current bound is about 217π
β’ Counting algorithms for estimating
β’ #Stable Matchings [Dyer-Goldberg-Greenhill-Jerrumβ04,Chebolu-Goldberg-Martinβ12]
β’ General case equivalent to β’ #Downsets of a POSET
β’ #Independent sets in bipartite graphs
Future directions
β’ Getting close to the 2.28π lower bound?β’ Our current bound is about 217π
β’ Counting algorithms for estimating
β’ #Stable Matchings [Dyer-Goldberg-Greenhill-Jerrumβ04,Chebolu-Goldberg-Martinβ12]
β’ General case equivalent to β’ #Downsets of a POSET
β’ #Independent sets in bipartite graphs
Future directions
Any questions?