of 72 /72
A Simply Exponential Upper Bound on the Maximum Number of Stable Matchings Robbie Weber Joint work with Anna Karlin and Shayan Oveis Gharan
• Author

others
• Category

Documents

• view

1
• download

0

Embed Size (px)

Transcript of A Simply Exponential Upper Bound on the Maximum Number of ...rtweber2/StableMatchingSlides.pdfΒ Β·...

• 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?