Stable Matching Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1
Ιστορία... Το 1962 οι Gale και Shapley δύο οικονομολόγοι μαθηματικοί (mathematical economists) έθεσαν το ερώτημα: Μπορούμε να σχεδιάσουμε μια διαδικασία επιλογής/αποδοχής πχ. πρακτικής άσκησης που να είναι self-enforcing ; 2
Το πρόβλημα Διαδικασία επιλογής/ανάθεσης πρακτικής άσκησης Στη διαδικασία συμμετέχουν 2 ειδών οντότητες Φοιτητές Εταιρίες Κάθε φοιτητής έχει μια σειρά προτίμησης για τις διαθέσιμες πρακτικές ασκήσεις Κάθε εταιρία, σχηματίζει μια σειρά προτεραιότητας με βάση τις αιτήσεις που δέχεται Με βάση αυτό οι εταιρίες προσφέρουν πρακτικές στους φοιτητές, οι φοιτητές με βάση τις προτάσεις που δέχονται αποδέχονται κτλ. 3
Λειτουργεί η διαδικασία αυτή; Ας εξετάσουμε ένα παράδειγμα Έστω ότι ο Αργύρης αποδέχθηκε την πρόταση για πρακτική άσκηση από την εταιρία τηλεπικοινωνιών CluNet Μετά από λίγες ημέρες πληροφορείται από την ανερχόμενη εταιρία WebExodus ότι και αυτή τον έχει επιλέξει για πρακτική άσκηση Στον Αργύρη αρέσει περισσότερο η απασχόληση στην WebExodus και επομένως αποσύρει το ενδιαφέρον του για την CluNet καιαποδέχεταιτηθέσηστην WebExodus Η CluNet απευθύνεται στον επόμενο στη λίστα, οποίος έχει ήδη αποδεχθεί θέση στην εταιρία λογισμικού BabelSoft. Η διαδικασία μπορεί έτσι να προκαλέσει χάος... 4
self-enforcing Μια βασική αιτία που κάνει την παραπάνω διαδικασία/κατάσταση ασταθή είναι ότι δεν είναι self-enforcing Θα εξηγήσουμε την έννοια με παράδειγμα. Έστω η ακόλουθη κατάσταση: Έστω ότι η WebExodus προσφέρει θέση τον Αργύρη ο οποίος έχει ήδη αποδεχθεί πρόταση της CluNet και ο Αργύρης αποκρίνεται: «Ευχαριστώ, αλλά προτιμώ την επιλογή που έχω κάνει με βάση τις προτεραιότητές μου». Όμοια, εάν κάποιος φοιτητής απευθυνθεί στην WebExodus ζητώντας θέση, η WebExodus να αποκριθεί, «Ευχαριστούμε, όμως έχουμε ήδη επιλέξει από τη λίστα προτεραιότητας». Δηλαδή: Ο καθένας προτιμάει την τρέχουσα επιλογή του, σε σχέση με τις εναλλακτικές επιλογές που μπορεί να εμφανισθούν. Εάν ισχύει αυτό, τότε η τρέχουσα κατάσταση από μόνη της επιβάλλει τη σταθερότητά της. Αυτό εννοούμε (σε ελεύθερη απόδοση) με τον όρο self-enforcing 5
self-enforcing ανάθεση πρακτικών ασκήσεων Οι προϋποθέσεις για να είναι η κατάσταση self-enforcing είναι: Για κάθε φοιτητή Α και κάθε εταιρία Ε, με Ε και Α τέτοια ώστε στην τρέχουσα κατάσταση ο Α δεν θα κάνει πρακτική εξάσκηση στην Ε, θα πρέπει: Η εταιρία Ε να προτιμά κάθε έναν από τους φοιτητές που έχει ήδη επιλέξει σε σχέση με τον Α, ή ο Α να προτιμά την τρέχουσα πρακτική άσκηση που του έχει ανατεθεί σε σχέση με πρακτική στην Ε. Εάν ισχύουν οι παραπάνω προϋποθέσεις, τότε η κατάσταση/λύση είναι σταθερή: Κάθε οντότητα Α ή Ε, επιλέγοντας ελεύθερα με βάση τις δικές της προτιμήσεις θα προτιμήσει την τρέχουσα ανάθεση και επομένως η τρέχουσα ανάθεση θα διατηρηθεί. 6
Ορισμός του προβλήματος Θα θεωρήσουμε την ακόλουθη απλή εκδοχή του προβλήματος: Υπάρχουν n υποψήφιοι Υπάρχουν n εταιρίες και κάθε εταιρία θα αναθέσει πρακτική άσκηση σε έναν φοιτητή Με το παραπάνω μοντέλο μπορούμε να μοντελοποιήσουμε το εξής υποθετικό πρόβλημα: Αντιστοίχιση μεταξύ n γυναικών και n ανδρών: stable marriage problem. 7
stable marriage Το πρόβλημα: n γυναίκες n άντρες Κάθε γυναίκα καθορίζει τη δική της σειρά προτίμησης για τους n άντρες Κάθε άντρας καθορίζει τη δική του σειρά προτίμησης για τις n γυναίκες Υπάρχει «σταθερή αντιστοίχιση» μεταξύ γυναικών και αντρών; Θα χρησιμοποιήσουμε την έννοια του engagement (αρραβώνας). 8
Αλγόριθμος Galey-Shapley Αρχικά κάθε άντρας m M και κάθε γυναίκα w W είναι χωρίς ταίρι While (υπάρχει ελεύθερος άντρας m για τον οποίο υπάρχει γυναίκα στην οποία δεν έχει προτείνει Επέλεξε έναν τέτοιο άντρα m Έστω w η υψηλότερη προτίμηση στην οποία ακόμη δεν έχει προτείνει ο m Εάν w ελεύθερη, τότε αρραβωνιάζονται οι (m,w) διαφορετικά έστω ότι η w είναι αρραβωνιασμένη με τον m εάν η w προτιμά τον m έναντι του m τότε ο m παραμένει ελεύθερος εάν η w προτιμά τον m έναντι του m τότε αρραβωνιάζονται (m, w) και ο m μένει ελεύθερος 9
Ανάλυση του αλγορίθμου (1) (1.1) Από τη στιγμή που μια γυναίκα w αρραβωνιαστεί, παραμένει συνεχώς αρραβωνιασμένη...... όχι απαραίτητα με τον ίδιο άντρα. Εάν αλλάξει αρραβωνιαστικό, θα είναι μόνο προς το καλύτερο! 10
Ανάλυση του αλγορίθμου (2) Ισχύουν οι ακόλουθες προτάσεις: (1.2) Ο m προτείνεισεόλακαιχαμηλότερηςδικής του προτίμησης γυναίκα w (1.3) Ο αλγόριθμος τερματίζει μετά από το πολύ n 2 βρόχους while (1.4) Εάν ο m είναι ελεύθερος σε κάποια στιγμή τότε υπάρχει γυναίκα στην οποία δεν έχει προτείνει ακόμα (1.5) Το σύνολο S που δίνει ο αλγόριθμος είναι ένα perfect matching (1.6) Το σύνολο S είναι ένα stable matching 11
Αναφορές-Πηγές Algorithm Design, Kleinberg and Tardos, Κεφάλαιο 1 12