1 / 27

Het Stable Marriage probleem

Het Stable Marriage probleem. A-Voordracht, Overdragen, 8-12-2010 Frans-Willem Hardijzer fw@hardijzer.nl. Indeling. Probleem omschrijving Oorsprong Definitie Voorbeeld Toepassingen Oplossing Brute-force oplossing Gale-Shapley algoritme Voorbeeld Correctheid en eigenschappen Variaties.

hanh
Download Presentation

Het Stable Marriage probleem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HetStable Marriage probleem A-Voordracht, Overdragen, 8-12-2010Frans-Willem Hardijzer fw@hardijzer.nl

  2. Indeling • Probleem omschrijving • Oorsprong • Definitie • Voorbeeld • Toepassingen • Oplossing • Brute-force oplossing • Gale-Shapley algoritme • Voorbeeld • Correctheid en eigenschappen • Variaties

  3. Probleem omschrijving Het Stable Marriage Probleem

  4. Oorsprong • “College admissions and stability of marriage”1962, D. Gale & L. S. Shapley, Brown University • Originele probleem: College admissions • Universiteiten kunnen q studenten toelaten • N studenten • Voorkeur studenten & universiteiten bekend • Studenten voorkeur weegt hoger • Stable, waarbij unstable betekent dat • Twee studenten a en b • Toegewezen aan resp. Universiteit A en B • Maar b voorkeur voor A, en A voorkeur voor b • Optimaal voor studenten • Elke student minstens even goed af als andere matchings

  5. Definitie “Stable Marriage” Zelfde probleem, simpeler: • Evenveel universiteiten als studenten • Slechts 1 toegelaten student “A certain community consists of n men and n women. Each person ranks those of the opposite sex in accordance with his or her preferences for a marriage partner. We seek a satisfactory way of marrying off all members of the community. [...], we call a set of marriages unstable[...] if under it there are a man and a woman who are not married to each other but prefer each other to their actual mates.”

  6. Voorbeeld: Wat is stable?

  7. Voorbeeld: Wat is stable? Stel een willekeurige matching

  8. Voorbeeld: Wat is stable? • Blocking pairs: • Little Princess & Jokertje hebben liever elkaar (2, 2) dan partners (3, 3) • Barbie & Sterretje (3, 3), partners (4, 4) • Barbie & Matsoe Matsoe (2, 2), partners (4, 4)

  9. Andere toepassingen • Stabiele huwelijken • Studenten toelaten universiteit • Speed-date vervolg dates • Ziekenhuis-stages met medische studenten • Studenten met studentenhuizen (hospiteren)

  10. Oplossing Het Stable Marriage Probleem

  11. Algoritme nodig? • Brute force: • Voor elke mogelijke matching (n!) • Check alle mogelijke paren (n2) • Als geen paren liever bij elkaar zijn, • Stable! • O(n! * n2) => traag • Hoe traag?

  12. Gale-Shapley Algoritme • Elke man vraagt zijn favoriete vrouw ten huwelijk. • Elke vrouw verlooft zich met haar beste aanzoek. • Zolang er nog onverloofde mannen zijn, vragen die de volgende op hun lijst ten huwelijk. • Bij elk aanzoek zal een vrouw zich verloven met haar hoogste voorkeur, en daarbij eventueel haar eerdere verloving verbreken. • Als alle vrouwen verloofd zijn, is het ritueel voorbij, en kunnen alle verloofde stelletjes trouwen.

  13. Voorbeeld

  14. Voorbeeld • Jokertje vraagt Elize • Sniper vraagt Barbie • Sterretje vraagt Elize • Matsoe Matsoe vraagt Little Princess

  15. Voorbeeld • Elize accepteert Sterretje, en slaat Jokertje af. • Barbie accepteert Sniper. • Little Princess accepteert Matsoe Matsoe. • Jokertje vraagt nu Little Princess, zijn 2e keus.

  16. Voorbeeld • Little Princess dumpt Matsoe Matsoe, en accepteert Jokertje. • Matsoe Matsoe gaat nu voor zijn 2e keus: Barbie

  17. Voorbeeld • Barbie dumpt Sniper, en accepteert Matsoe Matsoe • Sniper gaat ditmaal voor zijn 2e keus: Elize

  18. Voorbeeld • Elize dumpt nu Sterretje, en verlooft zich met haar prins op het witte paard: Sniper • Sterretje doet nu een poging Kabouter voor zich te scoren

  19. Voorbeeld • Kabouter accepteert het verzoek van Sterretje • Een stable oplossing is gevonden.

  20. Resultaat is stable • Stel dat Jan en Jet niet zijn getrouwd, maar Jan heeft Jet liever dan zijn eigen vrouw. • Dan heeft Jan voor zijn huidige vrouw al eens een aanzoek gedaan aan Jet,maar is afgewezen. • Jet geeft dus de voorkeur aan haar huidige man. • Gale-Shapley resulteert dus altijd in een stabiele set huwelijken.

  21. Altijd een resultaat • Zolang er nog vrouwen zijn zonder verloofde, zullen er nieuwe verlovingen optreden of verbroken worden. • Dus als het algoritme ten einde komt, heeft iedereen een verloving. • Een man kan een specifieke vrouw slechts 1 keer ten huwelijk vragen. • Dus na op zijn meest n2 stappen, is het algoritme klaar. • Oplossing in O(n2) te vinden.

  22. Optimaliteit • Optimaal voor wie ? • Mannen • Doen nooit een aanzoek, tenzij afgewezen door alle betere keuzes. • Vrouwen eventueel slechtere match als gewilde man geen aanzoek doet.

  23. Variaties Het Stable Marriage Probleem

  24. Simpele variaties • Ongelijk aantal mannen en vrouwen • Als mannen < vrouwen, stop zodra verlovingen gelijk aan mannen. • Als vrouwen < mannen, stop zodra alle mannen verloofd of door iedereen afgewezen zijn. • Studenten bij universiteiten • Studenten solliciteren bij universiteit • Universiteit houdt wachtlijst bij, meerdere studenten • Als alle studenten op wachtlijst of afgewezen, wachtlijsten toelaten • Gedeelde plaatsen in voorkeurslijst? • Willekeurige volgorde toewijzen, oude probleem.

  25. Moeilijke variaties • Universiteiten-studenten, met koppels • Koppels willen bij elkaar blijven • NP compleet • Stable roommates: niet opgesplitst in man-vrouw • Niet altijd oplosbaar

  26. Samenvatting Het Stable Marriage Probleem

  27. Stable Marriage Probleem • Gale-Shapley algoritme • Complexiteit O(n2) • Altijd stable, altijd mogelijk • Optimaal voor mannen (of proposers) • Toepasbaar op • Huwelijken • Stages • Kamers • Vervolg dates • Universiteits toelating

More Related