Εισαγωγή στους Αλγορίθμους



Σχετικά έγγραφα
Εισαγωγή στους Αλγορίθμους Ενότητα 4η

Σχεδίαση και Ανάλυση Αλγορίθμων

Κεφάλαιο 1. Εισαγωγή: Ευσταθές Ταίριασμα και άλλα Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.5, 30/10/2014

Ευσταθές ταίριασμα. (υλικό βασισμένο στο βιβλίο. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

1.1 Ένα πρώτο πρόβληµα: Ευσταθές Ταίριασµα

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Λίστα Λσ Προτίμησης Ανδρών. Έκτορας Βάσω Δήμητρα Άννα Ελένη Γεωργία. Βασίλης Δήμητρα Βάσω Άννα Γεωργία Ελένη Γιάννης Βάσω Ελένη Γεωργία Δήμητρα Άννα

Το πρόβλημα του σταθερού γάμου

Αλγόριθµοι Οπισθοδρόµησης

Stable Matching. Παύλος Εφραιμίδης, Λέκτορας

Great Theoretical Ideas In Computer Science

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Χαροκόπειο Πανεπιστήμιο Τμήμα Πληροφορικής και Τηλεματικής. Διπλωματική εργασία. «Υλοποίηση αλγορίθμων βελτιστοποίησης ευσταθούς κατανομής»

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

Αλγόριθμοι. Μάρθα Σιδέρη. ιαδικαστικά: ύο πρόοδοι 31 Μαρτίου, 18 Μαΐου 7-9μμ 20% η μία, ύο Προγραμματιστικές 1 προσθετικό βαθμό η μία.

Εισαγωγή στους Αλγορίθμους Ενότητα 8η

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Τελικό επαναληπτικό διαγώνισμα Επιμέλεια: Δρεμούσης Παντελής

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Εισαγωγή στους Αλγορίθμους

Αλγόριθμοι και Πολυπλοκότητα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι Ταξινόμησης Μέρος 1

Βασικές Έννοιες Δοµών Δεδοµένων

Σχεδίαση και Ανάλυση Αλγορίθμων

Εισαγωγή στους Αλγορίθμους

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Εισαγωγή στους Αλγορίθμους Ενότητα 8η

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Μαθηματικά Πληροφορικής

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι. 5.1 Αλγόριθµος: Ορισµός. Αλγόριθµοι : επίπεδα αφαίρεσης

Ι ΑΚΤΙΚΟ ΣΕΝΑΡΙΟ: Ας γνωριστούμε

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

ΠΡΟΓΡΑΜΜΑ ΑΝΑΔΟΧΗΣ ΑΣΥΝΟΔΕΥΤΩΝ ΑΝΗΛΙΚΩΝ ΔΙΑΔΙΚΑΣΙΑ ΤΑΙΡΙΑΣΜΑΤΟΣ

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΠΙΝΑΚΑΣ ΜΟΡΙΩΝ ΥΠΟΨΗΦΙΩΝ ΔΙΑΓΩΝΙΣΜΟΥ. ΕΜΠΕΙΡΙΑ ΑΝΩ ΤΩΝ 6 ΜΗΝΩΝ Μόρια 2ου Ξένη γλώσσα

Θέματα Προγραμματισμού Η/Υ

Δομές Δεδομένων (Data Structures)

Πανεπιστήμιο Πατρών Μεταπτυχιακό Τμήμα Διοίκησης Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

ΕΡΓΟ: «Matching Funds IDEALIST» ΚΩΔΙΚΟΣ ΕΡΓΟΥ(ΦΚ):

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Θεωρία Γραφημάτων 6η Διάλεξη

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»

7 ο Πανελλήνιο Συνέδριο του Φόρουμ Δημόσιας Υγείας και Κοινωνικής Ιατρικής Η Δημόσια Υγεία στο Προσκήνιο: Πρόληψη-Προαγωγή-Ποιότητα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επιμέλεια: Ομάδα Διαγωνισμάτων από Το στέκι των πληροφορικών

Εισαγωγή στους Αλγορίθμους Ενότητα 10η

Ανάκτηση Πληροφορίας

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

1 Εισαγωγή στις Συνδυαστικές Δημοπρασίες - Combinatorial Auctions

q(g \ S ) = q(g \ S) S + d = S.

ΕΡΓΟ: «ALGO2015» ΚΩΔΙΚΟΣ ΕΡΓΟΥ(ΦΚ/MIS):

Εισαγωγή στους Αλγορίθμους Ενότητα 11η

Τίτλος Ερευνητικής Εργασίας: «Ο ρόλος της μουσικής στη ζωή των νέων συγκρίνοντας απόψεις των μαθητών του 50 ου ΓΕΛ Αθηνών και του 2 ου ΓΕΛ Κηφισιάς»

Δομές Δεδομένων & Αλγόριθμοι

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

Αποτελέσµατα ερωτηµατολογίου 1ου Προσυνεδρίου

Αποτελέσματα. ερωτηματολογίου. 1 ου Προσυνεδρίου. «Για τους Εργαζομένους και τους Ανέργους»

Αλγόριθμοι. Μάρθα Σιδέρη. epl333 lect

ΕΞΕΤΑΣΕΙΣ στο τέλος του εξαμήνου με ΑΝΟΙΧΤΑ βιβλία ΕΞΕΤΑΣΕΙΣ ο καθένας θα πρέπει να έχει το ΔΙΚΟ του βιβλίο ΔΕΝ θα μπορείτε να ανταλλάσετε βιβλία ή να

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Δομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΠΡΟΣΚΛΗΣΗ ΕΚΔΗΛΩΣΗΣ ΕΝΔΙΑΦΕΡΟΝΤΟΣ

Εισαγωγή στους Αλγορίθμους Ενότητα 5η

Γιώργος Ντάκος, Πρόεδρος & Διευθύνων Σύμβουλος, Ροζίνα Κωστιάνη, Ρέα Μάνεση, STEDIMA S.A.

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

P(n, r) = n r. (n r)! n r. n+r 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Ασκήσεις μελέτης της 8 ης διάλεξης

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ 1: ΥΠΗΡΕΣΙΕΣ - ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΔΙΑΔΙΚΤΥΟΥ

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Διακριτά Μαθηματικά Ι

Απόηχοι από ένα μακρινό παρελθόν: Σφυγμομετρώντας τη σύγχρονη αντίληψη του κοινού για τον Α Παγκόσμιο Πόλεμο Φεβρουαρίου 2018

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

Λύκειο Αγίου Γεωργίου, Λάρνακα Θέµα: ράσεις σχετικές µε το θέµα «Ισότητα των φύλων»

Transcript:

Εισαγωγή στους Αλγορίθμους Ενότητα 4η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr

Ευσταθές Ταίριασμα

Πρόβλημα Ευσταθούς Ταιριάσματος n άνδρες n γυναίκες Βρείτε το «κατάλληλο» ταίρι, για κάθε άνδρα και για κάθε γυναίκα Σκοπός: ευσταθές ταίριασμα = τέλειο & χωρίς ασταθή ζευγάρια Τέλειο: μονογαμία Ασταθές ζευγάρι (Χ,Υ): ο άνδρας Χ και η γυναίκα Υ προτιμούν ο ένας τον άλλον από τους τωρινούς συντρόφους τους 3

Πρόβλημα Ευσταθούς Ταιριάσματος Σκοπός. Δεδομένων n ανδρών και n γυναικών, βρείτε ένα "κατάλληλο" ταίριασμα. Οι συμμετέχοντες βαθμολογούν μέλη του αντίθετου φύλου. Κάθε άνδρας άδ κατατάσσει τις γυναίκες με σειρά προτίμησης από την καλύτερη στη χειρότερη. Κάθε γυναίκα κατατάσσει τους άνδρες ρςμε σειρά προτίμησης από τον καλύτερο στον χειρότερο. προτιμώμενη ελάχιστα προτιμώμενη προτιμώμενος ελάχιστα προτιμώμενος 1 η 2 η 3 η Κώστας Άννα Μαρία Ελένη Νίκος Μαρία Άννα Ελένη 1 ος 2 ος 3 ος Άννα Νίκος Κώστας Πέτρος Μαρία Κώστας Νίκος Πέτρος Πέτρος Άννα Μαρία Ελένη Ελένη Κώστας Νίκος Πέτρος Προφίλ Προτιμήσεων Ανδρών Προφίλ Προτιμήσεων Γυναικών 4

Εφαρμογή 1 Ταιριάζοντας Ειδικευόμενους Ιατρούς σε Νοσοκομεία NRMP (υπηρεσία National Resident Matching Program των ΗΠΑ) Αρχική χρήση αμέσως μετά τον Β Παγκόσμιο Πόλεμο Στοιχεία Μαρτίου 2005: 23.000+ ειδικευόμενοι Πριν την αρχή της χρήσης υπολογιστών Σκοπός. Δεδομένου ενός συνόλου προτιμήσεων μεταξύ νοσοκομείων και ειδικευόμενων ιατρών, σχεδιάστε μια αυτοεπιβαλλόμενη διαδικασία προσλήψεων. Ασταθές ζευγάρι: ο αιτών x και το νοσοκομείο y είναι ασταθή εάν Ο x προτιμά το y, από κάποιο νοσοκομείο το οποίο του έχει ανατεθεί. Το y προτιμά τον x από κάποιον ειδικευόμενο που έχει αποδεχθεί. Ευσταθής αυτοεπιβαλλόμενη ανάθεση. Ανάθεση χωρίς ασταθή ζευγάρια. Φυσική και επιθυμητή κατάσταση. Ξεχωριστό ατομικό συμφέρον αποτρέπει οποιεσδήποτε «παράτυπες» συμφωνίες μεταξύ αιτούντων και νοσοκομείων. 5

Εφαρμογή 2 Ταιριάζοντας Φοιτητές σε Εταιρείες για Πρακτική Άσκηση Σκοπός. Δεδομένου ενός συνόλου προτιμήσεων μεταξύ εταιρειών και φοιτητών, σχεδιάστε μια αυτοεπιβαλλόμενη διαδικασία αναθέσεων. Ασταθές ζευγάρι: ο αιτών x και η εταιρεία y είναι ασταθή εάν Ο x προτιμά την y, από κάποια εταιρεία που του έχει ανατεθεί. Η y προτιμά τον x από κάποιον φοιτητή που έχει αποδεχθεί. Ευσταθής αυτοεπιβαλλόμενη ανάθεση. Ανάθεση χωρίς ασταθή ζευγάρια. Φυσική και επιθυμητή κατάσταση. Ξεχωριστό ατομικό συμφέρον αποτρέπει οποιεσδήποτε «παράτυπες» συμφωνίες μεταξύ φοιτητών και εταιρειών. 6

Πρόβλημα Ευσταθούς Ταιριάσματος (Gale-Shapley 1962) Τέλειο ταίριασμα: καθένας ταιριάζεται μονογαμικά. Κάθε άνδρας παίρνει ακριβώς μια γυναίκα. Κάθε γυναίκα παίρνει ακριβώς έναν άδ άνδρα. Nobel Οικονομικών 2012 Ευστάθεια: δεν υπάρχει κίνητρο για κάποιο ζευγάρι συμμετεχόντων να υπονομεύσουν από κοινού την ανάθεση. Σε ένα ταίριασμα M, ένα μη ταιριασμένο ζευγάρι m-w είναι ασταθές αν ο άνδρας m και η γυναίκα w προτιμούν ο ένας τον άλλο από τους τωρινούς συντρόφους τους. Το ασταθές ζευγάρι m-w θα μπορούσε να καλυτερεύσει την κατάστασή του εάν ο καθένας εγκατέλειπε τον σύντροφό του. Ευσταθές ταίριασμα: τέλειο ταίριασμα χωρίς ασταθή ζευγάρια. Πρόβλημα Ευσταθούς Ταιριάσματος: Δεδομένων των λιστών προτιμήσεων από n άνδρες άδ και n γυναίκες, βρείτε ένα ευσταθές ταίριασμα αν υπάρχει. 7

Πρόβλημα Ευσταθούς Ταιριάσματος Ερώτηση. Είναι η ανάθεση Κ-Ε, Ν-Μ, Π-A ευσταθής; προτιμώμενη ελάχιστα προτιμώμενη προτιμώμενος ελάχιστα προτιμώμενος 1 η 2 η 3 η 1 ος 2 ος 3 ος Κώστας Άννα Μαρία Ελένη Άννα Νίκος Κώστας Πέτρος Νίκος Μαρία Άννα Ελένη Μαρία Κώστας Νίκος Πέτρος Πέτρος Άννα Μαρία Ελένη Ελένη Κώστας Νίκος Πέτρος Προφίλ Προτιμήσεων Ανδρών Προφίλ Προτιμήσεων Γυναικών 8

Πρόβλημα Ευσταθούς Ταιριάσματος Ερώτηση. Είναι η ανάθεση Κ-Ε, Ν-Μ, Π-A ευσταθής; Απάντηση. Όχι. Η Μαρία και ο Κώστας θα γίνουν ζευγάρι. προτιμώμενη ελάχιστα προτιμώμενη προτιμώμενος ελάχιστα προτιμώμενος 1 η 2 η 3 η 1 ος 2 ος 3 ος Κώστας Άννα Μαρία Ελένη Άννα Νίκος Κώστας Πέτρος Νίκος Μαρία Άννα Ελένη Μαρία Κώστας Νίκος Πέτρος Πέτρος Άννα Μαρία Ελένη Ελένη Κώστας Νίκος Πέτρος Προφίλ Προτιμήσεων Ανδρών Προφίλ Προτιμήσεων Γυναικών 9

Πρόβλημα Ευσταθούς Ταιριάσματος Ερώτηση. Είναι η ανάθεση Κ-Α, Ν-Μ, Π-Ε ευσταθής; Απάντηση. Ναι. προτιμώμενη ελάχιστα προτιμώμενη προτιμώμενος ελάχιστα προτιμώμενος 1 η 2 η 3 η 1 ος 2 ος 3 ος Κώστας Άννα Μαρία Ελένη Άννα Νίκος Κώστας Πέτρος Νίκος Μαρία Άννα Ελένη Μαρία Κώστας Νίκος Πέτρος Πέτρος Άννα Μαρία Ελένη Ελένη Κώστας Νίκος Πέτρος Προφίλ Προτιμήσεων Ανδρών Προφίλ Προτιμήσεων Γυναικών 10

Αλγόριθμος?? 11

Αλγόριθμος πρότασης και απόρριψης Αλγόριθμος πρότασης και απόρριψης. [Gale-Shapley 1962] Διαισθητική μέθοδος που μας εγγυάται την εύρεση ενός ευσταθούς ταιριάσματος. 12

Αλγόριθμος πρότασης και απόρριψης [Gale-Shapley 1962] Αρχικά κάθε άτομο είναι ελεύθερο. while (κάποιος άνδρας είναι ελεύθερος και δεν έχει κάνει πρόταση σε κάθε γυναίκα) { Διάλεξε έναν τέτοιον άνδρα m w = 1 η γυναίκα της λίστας του m στην οποία δεν έχει γίνει ακόμα πρόταση } if (w είναι ελεύθερη) m και w δεσμεύονται else if (w προτιμά τον m από τον τωρινό σύντροφο m') m και w δεσμεύονται, και ο m' γίνεται ελεύθερος else Η w απορρίπτει τον m 13

Απόδειξη Ορθότητας: Τερματισμός Παρατήρηση 1. Οι άντρες κάνουν πρόταση στις γυναίκες σε φθίνουσα σειρά προτίμησης. Παρατήρηση 2. Όταν μια γυναίκα ταιριάζεται, δεν ξαναμένει ποτέ μόνη της. Μόνο ανταλλάσει με καλύτερους συντρόφους. Ισχυρισμός. Ο αλγόριθμος τερματίζει μετά από το πολύ n 2 επαναλήψεις του βρόχου while. Απόδειξη. Σε κάθε επανάληψη ένας άντρας κάνει πρόταση σε μια νέα γυναίκα. Υπάρχουν μόνο n 2 δυνατές προτάσεις. 1 η 2 η 3 η 4 η 5 η 1 ος 2 ος 3 ος 4 ος 5 ος Αντρέας Α Β Γ Δ Ε Άννα Β Γ Δ Ε Α Βασίλης Β Γ Δ Α Ε Βάσω Γ Δ Ε Α Β Γιάννης Γ Δ Α Β Ε Γεωργία Δ Ε Α Β Γ Δημήτρης Δ Α Β Γ Ε Δήμητρα Ε Α Β Γ Δ Έκτορας A Β Γ Δ Ε Ελένη Α Β Γ Δ Ε Απαιτούνται n 2 προτάσεις 14

Απόδειξη Ορθότητας: Τελειότητα Ισχυρισμός. Όλοι οι άνδρες και οι γυναίκες ταιριάζονται. Απόδειξη. (άτοπο) Έστω ότι ο Έκτορας δεν έχει ταιριάξει μέχρι το τέλος του αλγόριθμου. Τότε κάποια γυναίκα, έστω η Άννα, δεν έχει ταιριάξει επίσης μετά το πέρας του αλγορίθμου. Από την Παρατήρηση 2, στην Άννα δεν έχει γίνει ποτέ πρόταση. Άτοπο, διότι ο Εκτορας έχει κάνει πρόταση σε όλες, αφού καταλήγει χωρίς ταίρι. 15

Απόδειξη Ορθότητας: Ευστάθεια Ισχυρισμός. Δεν υπάρχουν ασταθή ζευγάρια. Απόδειξη. (άτοπο) Έστω ένα ασταθές ζευγάρι, «Άννα-Έκτορας»: Ά Έ κάθε ένας προτιμά τον άλλο από τον τωρινό του σύντροφο στο ταίριασμα S* κατά Gale-Shapley. Οι άντρες κάνουν πρόταση σε φθίνουσα σειρά προτίμησης S* Περίπτωση 1: Ο Εδεν έκανε πρόταση ποτέ στην A. Ε προτιμάει την σύντροφο του από την Α. το ζευγάρι «Άννα-Έκτορας» είναι ευσταθές. Περίπτωση 2: Ο Ε έκανε πρόταση στην Α. η A απέρριψε τον Ε (αμέσως ή αργότερα) η A προτιμά τον τωρινό της σύντροφο από τον Ε. το ζευγάρι «Άννα-Έκτορας» είναι ευσταθές. Άννα-Δημήτρης Βάσω-Έκτορας... Οι γυναίκες μόνο ανταλλάσουν Σε κάθε περίπτωση το ζευγάρι «Άννα-Έκτορας» Ά Έ είναι ευσταθές, άτοπο. 16

Σύνοψη Πρόβλημα Ευσταθούς Ταιριάσματος. Δεδομένων n ανδρών και n γυναικών, και των προτιμήσεών τους, βρες ένα ευσταθές ταίριασμα αν υπάρχει. Αλγόριθμος Gale-Shapley. Εγγυάται την εύρεση ενός ευσταθούς ταιριάσματος για οποιοδήποτε στιγμιότυπο του προβλήματος. Ερώτημα. Πώς θα υλοποιηθεί ο αλγόριθμος GS αποδοτικά; 17

Αλγόριθμος πρότασης και απόρριψης [Gale-Shapley 1962] Αρχικά κάθε άτομο είναι ελεύθερο. while (κάποιος άνδρας είναι ελεύθερος και δεν έχει κάνει πρόταση σε κάθε γυναίκα) { Διάλεξε έναν τέτοιον άνδρα m w = 1 η γυναίκα της λίστας του m στην οποία δεν έχει γίνει ακόμα πρόταση } if (w είναι ελεύθερη) m και w δεσμεύονται else if (w προτιμά τον m από τον τωρινό σύντροφο m') m και w δεσμεύονται, και ο m' γίνεται ελεύθερος else Η w απορρίπτει τον m 18

Αποδοτική Υλοποίηση Αποδοτική υλοποίηση. Υλοποίηση σε χρόνο O(n 2 ). Αναπαράσταση ανδρών και γυναικών. Σύνολα ανδρών και γυναικών {1,, n} Λίστες Λστ προτιμήσεων χώρος O(n 2 ). Κάθε άνδρας m διατηρεί μια λίστα προτιμήσεων για τις γυναίκες ManPref[m,i] Κάθε γυναίκα w διατηρεί μια λίστα προτιμήσεων για τους άνδρες WomanPref[w,i] Ζητήματα υλοποίησης σε Ο(1) χρόνο. 1. Αναγνώριση ελεύθερου άνδρα 2. Για έναν άνδρα m: εύρεση της γυναίκας με την υψηλότερη κατάταξη στη λίστα του στην οποία δεν έχει κάνει ακόμη πρόταση 3. Για μια γυναίκα w: έλεγχος δέσμευσης της και αν ναι τότε προσδιορισμός του συντρόφου της w. 4. Για μια γυναίκα w και δύο άνδρες m και m : απόφαση ποιον από τους m και m προτιμά η w 19

1. Αναγνώριση ελεύθερου λύθ άνδρα. άδ Αποδοτική Υλοποίηση Λίστα ελεύθερων ανδρών επιλογή από αρχή λίστας, διαγραφή αν δεσμευθεί, ένθεση αποδεσμευμένου άνδρα στο τέλος της λίστας 2. Για έναν άνδρα m: εύρεση της γυναίκας με την υψηλότερη κατάταξη στη λίστα του στην οποία δεν έχει κάνει ακόμη πρόταση. Επιπλέον πίνακας Next. Αρχικά, Next[m]=1. Next[m] = θέση επόμενης γυναίκας που θα κάνει πρόταση O m κάνει πρόταση στην w = ManPref[m,Next[m]] και μετά θέτει Next[m]=Next[m]+1 3. Για μια γυναίκα w: έλεγχος δέσμευσης της και αν ναι τότε προσδιορισμός του συντρόφου της w. Επιπλέον πίνακας Current. Αρχικά, Current[w]=null (αδέσμευτη). Current[w] = τρέχων σύντροφος της w 20

Αποδοτική Υλοποίηση 4. Για μια γυναίκα w και δύο άνδρες άδ m και m : απόφαση ποιον από τους m και m προτιμά η w. Για κάθε γυναίκα, δημιουργούμε την αντίστροφη της λίστας προτίμησής της Σταθερός χρόνος για κάθε ερώτηση απόφασης μετά από O(n) προεργασία Άννα 1 ος 2 ος 3 ος 4 ος 5 ος 6 ος 7 ος 8 ος WomanPref 8 3 7 1 4 5 6 2 Άννα 1 2 3 4 5 6 7 8 Inverse 4 ος 8 ος 2 ος 5 ος 6 ος 7 ος 3 ος 1 ος for i = 1 to n Inverse[w,WomanPref[w,i]] = i Η Άννα προτιμάει τον άνδρα 3 από τον 6 αφού inverse[3] < inverse[6] 2 7 21