“almost stable” matchings in the roommates problem

18
1 “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 David Manlove University of Glasgow Department of Computing Science Supported by EPSRC grant GR/R84597/01, RSE / Scottish Exec Personal

Upload: asasia

Post on 07-Jan-2016

33 views

Category:

Documents


3 download

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

TRANSCRIPT

Page 1: “Almost stable” matchings in the Roommates problem

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

Page 2: “Almost stable” matchings in the Roommates problem

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

Page 3: “Almost stable” matchings in the Roommates problem

3

Example SR Instance (1)

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

Page 4: “Almost stable” matchings in the Roommates problem

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.

Page 5: “Almost stable” matchings in the Roommates problem

5

Example SR Instance (2)

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

Page 6: “Almost stable” matchings in the Roommates problem

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

Page 7: “Almost stable” matchings in the Roommates problem

7

Application: kidney exchange

d1

p1

Page 8: “Almost stable” matchings in the Roommates problem

8

Application: kidney exchange

d1

p1

d2

p2

Page 9: “Almost stable” matchings in the Roommates problem

9

Application: kidney exchange

d1

p1

d2

p2

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

appear

Page 10: “Almost stable” matchings in the Roommates problem

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

Page 11: “Almost stable” matchings in the Roommates problem

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”

Page 12: “Almost stable” matchings in the Roommates problem

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

Page 13: “Almost stable” matchings in the Roommates problem

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

Page 14: “Almost stable” matchings in the Roommates problem

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

Page 15: “Almost stable” matchings in the Roommates problem

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

Page 16: “Almost stable” matchings in the Roommates problem

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

Page 17: “Almost stable” matchings in the Roommates problem

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

Page 18: “Almost stable” matchings in the Roommates problem

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}