“Almost stable” matchings in the Roommates problem

Preview:

DESCRIPTION

“Almost stable” matchings in the Roommates problem. David Abraham Computer Science Department Carnegie-Mellon University Péter Biró Department of Computer Science and Information Theory Budapest University of Technology and Economics - PowerPoint PPT Presentation

Citation preview

1

“Almost stable” matchings in the Roommates problem

David AbrahamComputer Science Department

Carnegie-Mellon University

Péter Biró Department of Computer Science and Information Theory

Budapest University of Technology and Economics

David ManloveUniversity of Glasgow

Department of Computing Science

Supported by EPSRC grant GR/R84597/01,RSE / Scottish Exec Personal Research Fellowship

2

Stable Roommates Problem (SR)

D Gale and L Shapley, “College Admissions and the Stability of Marriage”, American Mathematical Monthly, 1962

Input: 2n agents; each agent ranks all 2n-1 other agents in

strict orderOutput: a stable matching

A matching is a set of n disjoint pairs of agents

A blocking pair of a matching M is a pair of agents {p,q}M such that:

• p prefers q to his partner in M, and• q prefers p to his partner in M

A matching is stable if it admits no blocking pair

3

Example SR Instance (1)

Example SR instance I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2

4

Example SR Instance (1)

Example SR instance I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2

Stable matching in I1: 1: 3 2 42: 4 3 13: 2 1 44: 1 3 2

The matching is not stable as {1,3} blocks.

5

Example SR Instance (2)

Example SR instance I2: 1: 2 3 42: 3 1 43: 1 2 44: 1 2 3

6

Example SR Instance (2)

Example SR instance I2: 1: 2 3 42: 3 1 43: 1 2 44: 1 2 3

The three matchings containing the pairs {1,2}, {1,3}, {1,4} are blocked by the pairs {2,3}, {1,2}, {1,3} respectively.

instance I2 has no stable matching.

1: 2 3 42: 3 1 43: 1 2 44: 1 2 3

1: 2 3 42: 3 1 43: 1 2 44: 1 2 3

7

Application: kidney exchange

d1

p1

8

Application: kidney exchange

d1

p1

d2

p2

9

Application: kidney exchange

d1

p1

d2

p2

A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to

appear

10

Application: kidney exchange

d1

p1

d2

p2

A. Roth, T. Sönmez, U. Ünver, Pairwise Kidney Exchange, Journal of Economic Theory, to

appear

(d1 , p1) (d2 , p2)

• Create a vertex for each donor-patient pair

• Edges represent compatibility• Preference lists can take into

account degrees of compatibility

11

Efficient algorithm for SR

• Knuth (1976): is there an efficient algorithm for deciding whether there exists a stable matching, given an instance of SR?

• Irving (1985): “An efficient algorithm for the ‘Stable Roommates’ Problem”, Journal of Algorithms, 6:577-595

given an instance of SR, decides whether a stable matching exists; if so, finds one

• Algorithm is in two phases Phase 1: similar to GS algorithm for the Stable Marriage problem Phase 2: elimination of “rotations”

12

Empirical results

Instance size

% s

olu

ble

Experiments based on taking average of s1 , s2 , s3 where sj is number of soluble instances among 10,000 randomly generated instances, each of given size 2n

Results due to Colin Sng

Instancesize

4 20 50 100 200 500 1000

2000

4000

6000

8000

%soluble

96.3 82.9

73.1

64.3

55.1

45.1

38.8 32.2 27.8 25.0 23.6

13

Coping with insoluble SR instances

• Coalition formation games Partition agents into sets of size 1 Notions of B-preferences / W-preferences Cechlárová and Hajduková, 1999 Cechlárová and Romero-Medina, 2001 Cechlárová and Hajduková, 2002

• Stable partition Every SR instance admits such a structure Tan 1991 (Journal of Algorithms) Can be used to find a maximum matching such that the matched pairs are stable within themselves Tan 1991 (International Journal of Computer Mathematics)

• Matching with the fewest number of blocking pairs Abraham, Biró, DFM, 2005

14

“Almost stable” matchings

• The following instance I3 of SR is insoluble1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 4 5 1 2 3

• Let bp(M) denote the number of blocking pairs of matching M

• Stable partition {1,2,3, 4,5,6}

bp(M2)=12

1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 4 5 1 2 3

1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 4 5 1 2 3

bp(M1)=2

15

Algorithmic results

• Let I be an SR instance

• Define bp(I)=min{bp(M) : M is a matching in I}

• Problem of determining bp(I) is NP-hard

• Given an integer n, problem of deciding whether bp(I)=n is NP-complete

• Given a fixed integer K 0, problem of deciding whether bp(I)=K is solvable in O(n2(K+1)) time

• Problem of finding bp(I) is not approximable within n½-, for any > 0, unless P=NP Abraham, Biró, DFM, 2005

16

Preference lists with ties

• Let I be an instance of SR with ties• Problem of deciding whether I admits a stable

matching is NP-complete Ronn, Journal of Algorithms, 1990 Irving and DFM, Journal of Algorithms, 2002

• Problem of finding bp(I) is NP-hard Follows immediately from no-ties case

• Given a fixed integer K 0, problem of deciding whether bp(I)=K is NP-complete

• Problem of finding bp(I) is not approximable within n1-, for any > 0, unless P=NP Abraham, Biró, DFM, 2005

17

Interpolation of bp(M)

• Clearly bp(M)½(2n)(2n-2)=2n(n-1)

• Is bp(M) an interpolating invariant? That is, given an SR instance I, if I admits matchings M1, M2 such that bp(M1)=k and bp(M2)=k+2 , is there a matching M3 in I such that bp(M3)=k+1 ?

Not in general!

1: 2 3 5 6 42: 3 1 6 4 53: 1 2 4 5 64: 5 6 2 3 15: 6 4 3 1 26: 4 5 1 2 3

Instance I3 admits 15 matchings:• 9 admit 2 blocking pairs• 2 admit 6 blocking pairs• 3 admit 8 blocking pairs• 1 admits 12 blocking pairs

18

Open problems

1. Is there an approximation algorithm for the problem of determining bp(I) that has performance guarantee o(n2)?

Trivial upper bound is 2n(n-1)

2. Determine values of kn and obtain a characterisation of In such that In is an SR instance with 2n agents in which bp(In)=kn and

kn = max{bp(I) : I is an SR instance with 2n agents}

Recommended