stable matchings from the perspective of distributed
play

Stable matchings from the perspective of distributed algorithms - PowerPoint PPT Presentation

Stable matchings from the perspective of distributed algorithms Jukka Suomela HIIT, University of Helsinki, Finland Joint work with Patrik Floren, Petteri Kaski, and Valentin Polishchuk 1 2 1 2 3 1 YES 1 2 NO YES 3 1 YES 1 2


  1. Stable matchings from the perspective of distributed algorithms Jukka Suomela — HIIT, University of Helsinki, Finland Joint work with Patrik Floréen, Petteri Kaski, and Valentin Polishchuk 1 2 1 2 3 1 YES 1 2 NO YES 3 1 YES 1 2 1 2 Paderborn, 22 October 2009

  2. Part I: Introduction Stable matchings 1 2 1 2 3 1 1 2 3 1 1 2 1 2 2 / 45

  3. Stable marriage problem Input: bipartite graph G = ( R ∪ B , E ) . . . • R = red nodes • B = blue nodes 3 / 45

  4. Stable marriage problem Input: bipartite graph G = ( R ∪ B , E ) and preferences • 1 = most preferred partner • but anyone is better than no-one 1 2 1 2 3 1 1 2 3 1 1 2 1 2 4 / 45

  5. Stable marriage problem Output: a stable matching, i.e., a matching without unstable edges 1 2 1 2 3 1 1 2 3 1 1 2 1 2 5 / 45

  6. Stable marriage problem Matching: subset M ⊆ E of edges such that each node adjacent to at most one edge in M 1 2 1 2 3 1 1 2 3 1 1 2 1 2 6 / 45

  7. Stable marriage problem Matching: subset M ⊆ E of edges such that each node adjacent to at most one edge in M 1 2 1 2 3 1 1 2 3 1 1 2 1 2 7 / 45

  8. Stable marriage problem Matching: subset M ⊆ E of edges such that each node adjacent to at most one edge in M 1 2 1 2 3 1 1 2 3 1 1 2 1 2 8 / 45

  9. Stable marriage problem Unstable edge: edge { r , b } / ∈ M such that • r prefers b to r ’s current partner (if any) • b prefers r to b ’s current partner (if any) 1 2 1 2 3 1 1 2 3 1 1 2 1 2 9 / 45

  10. Stable marriage problem Unstable edge: edge { r , b } / ∈ M such that • r prefers b to r ’s current partner (if any) • b prefers r to b ’s current partner (if any) 1 2 1 2 3 1 1 2 3 1 1 2 1 2 10 / 45

  11. Stable marriage problem Unstable edge: edge { r , b } / ∈ M such that • r prefers b to r ’s current partner (if any) • b prefers r to b ’s current partner (if any) 1 2 1 2 3 1 1 2 3 1 1 2 1 2 11 / 45

  12. Stable marriage problem No unstable edges = ⇒ stable matching • Does it always exist? • How to find one? 1 2 1 2 3 1 1 2 3 1 1 2 1 2 12 / 45

  13. Part II: Finding a stable matching Gale–Shapley 1 2 1 2 3 1 1 2 3 1 1 2 1 2 13 / 45

  14. Stable marriage problem An adaptation of the Gale–Shapley algorithm (1962) Begin with an empty matching 1 2 1 2 3 1 1 2 3 1 1 2 1 2 14 / 45

  15. Stable marriage problem Unmatched red nodes send proposals to their most-preferred neighbours 1 2 1 2 3 1 ? 1 2 ? ? 3 1 ? 1 2 1 2 15 / 45

  16. Stable marriage problem Blue nodes accept the best proposal 1 2 1 2 3 1 YES 1 2 NO YES 3 1 YES 1 2 1 2 16 / 45

  17. Stable marriage problem Blue nodes accept the best proposal Remove rejected edges and repeat. . . 1 2 1 2 3 1 1 2 3 1 1 2 1 2 17 / 45

  18. Stable marriage problem Unmatched red nodes send proposals to their most-preferred neighbours 1 2 1 2 3 1 ? 1 2 3 1 1 2 1 2 18 / 45

  19. Stable marriage problem Blue nodes accept the best proposal It is ok to change mind if a better proposal is received! 1 2 1 2 3 1 × YES 1 2 3 1 1 2 1 2 19 / 45

  20. Stable marriage problem Blue nodes accept the best proposal Remove rejected edges and repeat. . . 1 2 1 2 3 1 1 2 3 1 1 2 1 2 20 / 45

  21. Stable marriage problem Eventually each red node • is matched, or • has been rejected by all neighbours 1 2 1 2 3 1 1 2 3 1 1 2 1 2 21 / 45

  22. Stable marriage problem Let { r , b } / ∈ M : (i) b ∈ B rejected r ∈ R = ⇒ b was matched to a more preferred neighbour = ⇒ { r , b } is not unstable 1 2 1 2 3 1 r 1 2 b 3 1 1 2 1 2 22 / 45

  23. Stable marriage problem Let { r , b } / ∈ M : (ii) r ∈ R did not ask b ∈ B = ⇒ r is matched to a more preferred neighbour = ⇒ { r , b } is not unstable 1 2 1 2 3 1 r 1 b 2 3 1 1 2 1 2 23 / 45

  24. Stable marriage problem The Gale–Shapley algorithm finds a stable matching Ok, that was published 47 years ago, more recent news? 1 2 1 2 3 1 1 2 3 1 1 2 1 2 24 / 45

  25. Part III: Stable matchings in a distributed setting Stable matchings are unstable 1 2 1 2 3 1 1 2 3 1 1 2 1 2 25 / 45

  26. Stable matchings in a distributed setting Node = computer, edge = communication link Efficient distributed algorithms for stable matchings? 1 2 1 2 3 1 1 2 3 1 1 2 1 2 26 / 45

  27. Stable matchings in a distributed setting The Gale–Shapley algorithm can be interpreted as a distributed algorithm • proposal, acceptance, rejection: messages 1 2 1 2 3 1 YES 1 2 NO YES 3 1 YES 1 2 1 2 27 / 45

  28. Stable matchings in a distributed setting Many nice properties: • small messages, deterministic • unique identifiers not needed 1 2 1 2 3 1 YES 1 2 NO YES 3 1 YES 1 2 1 2 28 / 45

  29. Stable matchings in a distributed setting But Gale–Shapley isn’t fast – it cannot be fast! 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 1 29 / 45

  30. Stable matchings in a distributed setting Solution depends on the input in distant parts of network = ⇒ worst-case running time Ω ( diameter ) 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 1 30 / 45

  31. Stable matchings in a distributed setting Stable matchings are unstable! Minor changes in input may require major changes in output 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 2 1 31 / 45

  32. Stable matchings in a distributed setting Stable matchings are unstable! Minor changes in input may require major changes in output • This isn’t really what we would expect to happen, e.g., in real-world large scale social networks • Very distant parts of the network should not affect my choices • Are stable matchings the right problem to study? Matchings that are more robust and more local ? 32 / 45

  33. Part IV: Almost stable matchings Truncating Gale–Shapley 1 2 1 2 3 1 1 2 3 1 1 2 1 2 33 / 45

  34. Almost stable matchings Our contribution: asking the right questions • What if we allow a small fraction of unstable edges? • What happens if we run Gale–Shapley for a small number of rounds? Others have asked similar questions, too. . . 34 / 45

  35. Almost stable matchings What if we allow a small fraction of unstable edges? • Biró et al. (2008): finding a maximum matching with few unstable edges is hard • Finding any matching with few unstable edges? Running Gale–Shapley for a small number of rounds? • Quinn (1985): experimental work suggests that we get few unstable edges • Any theoretical guarantees? 35 / 45

  36. Almost stable matchings Definition: A matching M is ǫ -stable if there are at most ǫ | M | unstable edges Main result: There is a distributed algorithm that finds an ǫ -stable matching in O ( ∆ 2 / ǫ ) rounds Algorithm: Just run the distributed version of Gale–Shapley for that many steps! ∆ = maximum degree of G 36 / 45

  37. Almost stable matchings During the Gale–Shapley algorithm: { r , b } ∈ E is an unstable edge = ⇒ r unmatched and r has not yet proposed b 1 2 1 2 3 1 1 2 3 1 1 2 1 2 37 / 45

  38. Almost stable matchings Key idea: define total potential = number of unmatched red nodes with proposals left = how much red nodes could “gain” if we did not truncate Gale–Shapley 1 2 1 2 3 1 1 2 3 1 1 2 1 2 38 / 45

  39. Almost stable matchings Key idea: define total potential = number of unmatched red nodes with proposals left Initially high 1 2 1 2 3 1 1 2 3 1 1 2 1 2 39 / 45

  40. Almost stable matchings Key idea: define total potential = number of unmatched red nodes with proposals left Zero if we run the full Gale–Shapley 1 2 1 2 3 1 1 2 3 1 1 2 1 2 40 / 45

  41. Almost stable matchings • Potential is non-increasing: if a red node loses its partner, another red node gains a partner • Assume that potential is α after round k > 1 = ⇒ α nodes received ‘no’ or ‘break’ in round k = ⇒ at least α edges removed in round k = ⇒ at least ( k − 1 ) α edges removed in rounds 2, 3, . . . , k • At most O ( ∆ | M | ) edges removed in total = ⇒ potential O ( ∆ | M | / k ) after round k ⇒ O ( ∆ 2 | M | / k ) unstable edges = 41 / 45

  42. Almost stable matchings Generalises to weighted matchings Applications (in bipartite, bounded-degree graphs): • Local ( 2 + ǫ ) -approximation algorithm for maximum-weight matching • Centralised randomised algorithm for estimating the size of a stable matching (All stable matchings have the same size!) 42 / 45

  43. Almost stable matchings But I think the most interesting observation is this: • Almost stable matchings are a local problem (at least in bounded-degree graphs) • There is a simple local algorithm that finds a robust , almost stable matching M • The matching M can be easily maintained in a dynamic network, constructed by using an efficient self-stabilising algorithm, etc. 43 / 45

  44. Almost stable matchings Research question: are almost stable matchings the right concept when we try to understand and analyse real-world social networks, matching markets, etc.? 1 2 1 2 3 1 1 2 3 1 1 2 1 2 44 / 45

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend