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



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

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

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

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

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

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Κλάσεις Πολυπλοκότητας

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

Θεωρία Υπολογισµού Theory of Computation

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

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

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

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

Απλές Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες απλές Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλή

Κεφάλαιο 4. Δυναµικός Προγραµµατισµός (Dynamic Programming) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Εισαγωγή στην Επιστήμη των Υπολογιστών

Great Theoretical Ideas In Computer Science

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Γράφοι: κατευθυνόμενοι και μη

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

Κεφάλαιο 3. Γραφήµατα v1.1 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Σειρά Προβλημάτων 5 Λύσεις

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

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

Κεφάλαιο 4. Αλγόριθµος του Dijkstra. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΑΛΓΟΡΙΘΜΙΚΗ ΘΕΩΡΙΑ ΠΑΙΓΝΙΩΝ Πανεπιστήµιο Αθηνών Εαρινό Εξάµηνο 2007 ιδάσκων : Ηλίας Κουτσουπιάς

Αλγόριθµοι Προσέγγισης για NP- ύσκολα Προβλήµατα

Κατώτερα φράγματα Κατώτερο φράγμα: εκτίμηση της ελάχιστης εργασίας που απαιτείται για την επίλυση ενός προβλήματος. Παραδείγματα: Αριθμός συγκρίσεων π

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

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

Ορισμένες Κατηγορίες Αλγορίθμων

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

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

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

Σειρά Προβλημάτων 5 Λύσεις

Κατανεμημένα Συστήματα Ι

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

Υπολογιστική Πολυπλοκότητα

Αλγοριθμικές Τεχνικές

Ασυμπτωτικός Συμβολισμός

Σειρά Προβλημάτων 5 Λύσεις

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθµων. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

Δυναμικός Προγραμματισμός

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

για NP-Δύσκολα Προβλήματα

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

Μη γράφετε στο πίσω μέρος της σελίδας

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Κουτσιούμπας Αχιλλέας U. Adamy, C. Ambuehl, R. Anand, T. Erlebach

Θεωρία Παιγνίων Δρ. Τασσόπουλος Ιωάννης

Υπολογιστικό Πρόβληµα

Μη Ντετερμινισμός και NP-Πληρότητα

Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος;

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Αξιολόγηση Ευριστικών Αλγορίθµων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

3η Σειρά Γραπτών Ασκήσεων

Κεφάλαιο 2. Βασικά στοιχεία ανάλυσης αλγορίθμων. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

Δυναμικός Προγραμματισμός

Transcript:

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

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

Ταίριασµα Γιατρών µε Νοσοκοµεία Στόχος. Δεδοµένου ενός συνόλου προτιµήσεων µεταξύ νοσοκοµείων και νέων γιατρών, να σχεδιάσουµε µία αυτοεπιβαλλόµενη (self-reinforcing) διαδικασία προσλήψεων. Ασταθές ζευγάρι: το ζευγάρι υποψήφιος x και νοσοκοµείο y είναι ασταθές εάν: ο x προτιµάει το y σε σχέση µε το νοσοκοµείο στο οποίο έχει προσληφθεί. το y προτιµάει τον x σε σχέση µε κάποιον από τους υποψηφίους που έχει επιλέξει. Ευσταθής ανάθεση. Ανάθεση που δεν περιλαµβάνει ασταθή ζευγάρια. Είναι µια φυσική και λογική απαίτηση. Η επιθυµία/προτίµηση κάθε οντότητας (υποψήφιος ή νοσοκοµείο) να κρατήσει την τρέχουσα επιλογή του θα εµποδίσει οποιαδήποτε αλλαγή στην τρέχουσα ανάθεση. 3

το πρόβληµα του ευσταθούς ταιριάσµατος Σκοπός. Δίνονται n άντρες και n γυναίκες και ζητείται ένα κατάλληλο" ταίριασµα. Κάθε άτοµο βαθµολογεί τα άτοµα του αντίθετου φύλου. Κάθε άντρας απαριθµεί τις γυναίκες σε φθίνουσα σειρά προτίµησης. Κάθε γυναίκα απαριθµεί τους άντρες σε φθίνουσα σειρά προτίµησης. 1η προτίµηση 3η προτίµηση 1η προτίµηση 3η προτίµηση 1 st 2 nd 3 rd Φώτης Άννα Βίκυ Γιώτα Χάρης Βίκυ Άννα Γιώτα Τάκης Άννα Βίκυ Γιώτα προτιµήσεις των αντρών 1 st 2 nd 3 rd Άννα Χάρης Φώτης Τάκης Βίκυ Φώτης Χάρης Τάκης Γιώτα Φώτης Χάρης Τάκης προτιµήσεις των γυναικών 4

ευσταθές ταίριασµα τέλειο ταίριασµα: ο καθένα αντιστοιχίζεται µονογαµικά. Κάθε άντρας παίρνει ακριβώς µία γυναίκα. Κάθε γυναίκα παίρνει ακριβώς έναν άντρα. ευστάθεια: δεν υπάρχει ζευγάρι µε κίνητρο να υπονοµεύσει την αντιστοίχιση µε συνδυασµένη ενέργεια. Σε ταίριασµα M, ένα ζευγάρι m-w που δεν έχει συνδεθεί είναι ασταθές εάν ο άντρας m και η γυναίκα w προτιµούν ο ένας τον άλλο σε σχέση µε τους τρέχοντες συντρόφους τους. Οι m και w από το ασταθές ζευγάρι m-w θα ωφεληθούν αµοιβαία εάν κλεφτούν. ευσταθές ταίριασµα: ένα τέλειο ταίριασµα χωρίς ασταθή ζευγάρια. το πρόβληµα του ευσταθούς ταιριάσµατος: δεδοµένων των προτιµήσεων n αντρών και n γυναικών, να βρεθεί ένα σταθερό ταίριασµα, εάν υπάρχει. 5

ευσταθές ταίριασµα Ερώτηση. Είναι το ταίριασµα Φ-Γ, Χ-B, Τ-A ευσταθές; 1η προτίµηση 3η προτίµηση 1η προτίµηση 3η προτίµηση 1 st 2 nd 3 rd Φώτης Άννα Βίκυ Γιώτα Χάρης Βίκυ Άννα Γιώτα Τάκης Άννα Βίκυ Γιώτα προτιµήσεις των αντρών 1 st 2 nd 3 rd Άννα Χάρης Φώτης Τάκης Βίκυ Φώτης Χάρης Τάκης Γιώτα Φώτης Χάρης Τάκης προτιµήσεις των γυναικών 6

ευσταθές ταίριασµα Ε. Είναι το ταίριασµα Φ-Γ, Χ-B, Τ-A ευσταθές; A. Όχι. Η Βίκυ και ο Φώτης θα τα φτιάξουν. 1η προτίµηση 3η προτίµηση 1η προτίµηση 3η προτίµηση 1 st 2 nd 3 rd 1 st 2 nd 3 rd Φώτης Άννα Βίκυ Γιώτα Χάρης Βίκυ Άννα Γιώτα Τάκης Άννα Βίκυ Γιώτα προτιµήσεις των αντρών Άννα Χάρης Φώτης Τάκης Βίκυ Φώτης Χάρης Τάκης Γιώτα Φώτης Χάρης Τάκης προτιµήσεις των γυναικών 7

ευσταθές ταίριασµα Ε. Είναι το ταίριασµα Φ-A, Χ-B, Τ-Γ ευσταθές; A. Ναι. 1η προτίµηση 3η προτίµηση 1η προτίµηση 3η προτίµηση 1 st 2 nd 3 rd 1 st 2 nd 3 rd Φώτης Άννα Βίκυ Γιώτα Χάρης Βίκυ Άννα Γιώτα Τάκης Άννα Βίκυ Γιώτα προτιµήσεις των αντρών Άννα Χάρης Φώτης Τάκης Βίκυ Φώτης Χάρης Τάκης Γιώτα Φώτης Χάρης Τάκης προτιµήσεις των γυναικών 8

το πρόβληµα του ευσταθούς συγκατοίκου Ε. Υπάρχουν πάντοτε ευσταθή ταιριάσµατα; A. Η απάντηση δεν είναι προφανής. πρόβληµα ευσταθούς συγκατοίκου. 2n άτοµα, και κάθε άτοµο απαριθµεί τους υπόλοιπους σε φθίνουσα σειρά προτίµησης από το 1 έως το 2n-1. να αναθέσουµε συγκατοίκους ώστε να µην υπάρχουν ασταθή ζευγάρια. 1 st 2 nd 3 rd Σε ορολογία θεωρίας παιγνίων: είναι ο πυρήνας (core) του συνεργατικού παιγνίου µη-κενός; Αδάµ Βασίλης Γιώργος Β Γ A Γ A Β Δ Δ Δ A-B, Γ-Δ A-Γ, B-Δ A-Δ, B-Γ B-Γ ασταθές A-B ασταθές A-Γ ασταθές Δηµήτρης A Β Γ Παρατήρηση. Ευσταθή ταιριάσµατα µπορεί να µην υπάρχουν πάντοτε για το πρόβληµα του ευσταθούς συγκατοίκου. 9

Αλγόριθµος Propose-And-Reject Αλγόριθµος Propose-and-Reject. [Gale-Shapley 1962] Μια µέθοδος που βρίσκει ένα ευσταθές ταίριασµα. Αρχικά όλα τα άτοµα είναι ελεύθερα. while (κάποιος άνδρας είναι ελεύθερος και υπάρχει γυναίκα στην οποία δεν έχει προτείνει) { Επέλεξε έναν τέτοιο άνδρα w = 1 η στη λίστα του m, από όσες δεν έχει προτείνει ακόµα if (w είναι ελεύθερη) αρραβωνιάζονται οι m και w else if (w προτιµάει m από τον τωρινό αρραβωνιαστικό της m') αρραβωνιάζονται οι m και w, και ο m' µένει ελεύθερος else w απορρίπτει την πρόταση του m } 10

απόδειξη ορθότητας: Τερµατισµός Παρατήρηση 1. Οι άντρες κάνουν προτάσεις στις γυναίκες σε φθίνουσα σειρά προτίµησης. Παρατήρηση 2. Αφότου αρραβωνιαστεί πρώτη φορά µια γυναίκα δεν µένει ξανά µόνη. Μπορεί απλά να αντικαθιστά τον αρραβώνα της µε αρραβώνα µεγαλύτερης προτίµησης. Ισχυρισµός. Ο αλγόριθµος τερµατίζει µετά από το πολύ n 2 επαναλήψεις του βρόχου while. Απ. Με κάθε εκτέλεση του βρόχου while ένας άντρας κάνει πρόταση σε µία γυναίκα. Υπάρχουν n 2 πιθανές προτάσεις. Ισχυρισµός. Στο παρακάτω παράδειγµα οι προτιµήσεις έχουν επιλεγεί έτσι ώστε ο αλγόριθµος Gale-Shapley να εκτελέσει πολλές φορές το βρόχο while (εάν κάνουν προτάσεις οι άντρες). 1 st 2 nd 3 rd 4 th 5 th 1 st 2 nd 3 rd 4 th 5 th Κώστας A B Γ Δ E Άννα Η Φ Χ Τ Κ Ηλίας B Γ Δ A E Βίκυ Φ Χ Τ Κ Η Φώτης Γ Δ A B E Γιώτα Χ Τ Κ Η Φ Χάρης Δ A B Γ E Δανάη Τ Κ Η Φ Χ Τάκης A B Γ Δ E Ελένη Κ Η Φ Χ Τ απαιτούνται n(n-1) + 1 προτάσεις 11

απόδειξη ορθότητας: τέλειο ταίριασµα Ισχυρισµός. Όλοι οι άντρες και όλες οι γυναίκες αποκτούν ταίρι. Pf. (απαγωγή σε άτοπο) Υποθέτουµε, για την απαγωγή σε άτοπο, ότι ο Τάκης δεν έχει ταίρι όταν τερµατίσει ο αλγόριθµος. Αυτό σηµαίνει ότι θα υπάρχει κάποια γυναίκα, πχ. η Άννα που επίσης δε θα έχει ταίρι όταν τερµατίσει ο αλγόριθµος. Από την παρατήρηση 2, η Άννα δεν έχει δεχθεί καµία πρόταση. Όµως, ο Τάκης έχει προτείνει σε όλες, εφόσον καταλήγει να είναι χωρίς ταίρι. 12

απόδειξη ορθότητας: ευστάθεια Ισχυρισµός. Δεν υπάρχουν ασταθή ζευγάρια. Απόδειξη. (απαγωγή σε άτοπο) Έστω ότι σε ένα ταίριασµα S* που υπολογίστηκε µε τον αλγόρθµο Gale- Shapley υπάρχουν δύο ασταθή ζευγάρια m-w και m -w για τα οποία ισχύει: Ο m προτιµά την w από την w και η w προτιµά τον m από τον m. Περίπτωση 1: Ο m δεν πρότεινε στην w. Ο m προτιµάει την w του έναντι της w. το m-w είναι ευσταθές. οι άντρες κάνουν προτάσεις σε φθίνουσα σειρά προτίµησης S* Άννα-Χάρης Βίκυ-Τάκης... Περίπτωση 2: Ο m έκανε πρόταση στην w. η w απέρριψε τον m (άµεσα ή µετά από λίγο) η w προτιµάει το m της έναντι του m. το m -w είναι ευσταθές. οι γυναίκες µόνο βελτιώνουν τον αρραβώνα τους Σε κάθε περίπτωση λοιπόν, το m-w είναι ευσταθές άτοπο. 13

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

αποδοτική υλοποίηση αποδοτική υλοποίηση. Θα περιγράψουµε µια υλοποίηση µε πολυπλοκότητα χρόνου O(n 2 ). Αναπαράσταση αντρών και γυναικών. Ας ονοµάσουµε τους άντρες 1,, n. Ας ονοµάσουµε τις γυναίκες 1',, n'. Αρραβώνες. Διατηρούµε µια λίστα ελεύθερων αντρών, πχ., δε µια ουρά (queue). Διατηρούµε δύο πίνακες wife[m], and husband[w]. δίνουµε σε ένα κελί στην τιµή 0 εάν το αντίστοιχο άτοµο είναι ελεύθερο εάν ο m αρραβωνιαστεί µε την w τότε wife[m]=w και husband[w]=m Οι άντρες κάνουν προτάσεις. Για κάθε άντρα, διατηρούµε µια λίστα γυναικών, διατεταγµένη µε βάση τις προτιµήσεις του. Διατηρούµε έναν πίνακα count[m] που καταγράφει το πλήθος των προτάσεων που έκανε κάθε άντρας m. 15

αποδοτική υλοποίηση Οι γυναίκες αποδέχονται/απορρίπτουν. Προτιµάει η γυναίκα w τον άντρα m από τον άντρα m'? Για κάθε γυναίκα, δηµιουργούµε µια αντίστροφη λίστα προτιµήσεων µε τους άντρες. Απαιτείται O(n) χρόνος προ-επεξεργασίας για την αντιστροφή. Μετά µπορούµε να αποφασίσουµε σε σταθερό χρόνο (constant time) εάν µια γυναίκα προτιµάει έναν άντρα έναντι ενός άλλου. Amy 1 st 2 nd 3 rd 4 th 5 th 6 th 7 th 8 th Pref 8 3 7 1 4 5 6 2 Amy 1 2 3 4 5 6 7 8 Inverse 4 th 8 th 2 nd 5 th 6 th 7 th 3 rd 1 st for i = 1 to n inverse[pref[i]] = i Η Άννα προτιµάει τον άντρα 3 από τον άντρα 6, εφόσον inverse[3] < inverse[6] 2 7 16

κατανόηση της λύσης Ερώτηµα. Για συγκεκριµένο στιγµιότυπο του προβλήµατος ενδέχεται να υπάρχουν περισσότερα του ενός ευσταθή ταιριάσµατα. Κάθε εκτέλεση του αλγορίθµου Gale-Shapley δίνει το ίδιο ευσταθές ταίριασµα (εάν για παράδειγµα εξετάσουµε τους άντρες µε διαφορετική σειρά); Εάν ναι, τότε ποιο είναι αυτό το ευσταθές ταίριασµα; Ένα στιγµιότυπο µε δύο ευσταθή ταιριάσµατα. A-Φ, B-Χ, C-Τ. A-Χ, B-Φ, C-Τ. 1 st 2 nd 3 rd 1 st 2 nd 3 rd Φώτης A B Γ Άννα Χ Φ Τ Χάρης B A Γ Βίκυ Φ Χ Τ Τάκης A B Γ Γιώτα Φ Χ Τ 17

κατανόηση της λύσης Ερώτηµα. Για δεδοµένο στιγµιότυπο του προβλήµατος, µπορεί να υπάρχουν αρκετά ευσταθή ταιριάσµατα. Όλες οι εκτελέσεις του αλγορίθµου Gale- Shapley δίνουν το ίδιο ευσταθές ταίριασµα; Αν ναι, τότε ποιο είναι αυτό το ευσταθές ταίριασµα? Ορισµός. Ο άντρας m είναι ένας έγκυρος σύντροφος της γυναίκας w εάν υπάρχει κάποιο ευσταθές ταίριασµα στο οποίο ο m και η w είναι ζευγάρι. Ανάθεση βέλτιστη για τους άντρες. Κάθε άντρας γίνεται ζευγάρι µε την καλύτερη (υψηλότερη στις προτιµήσεις του) από τις έγκυρες συντρόφους του. Ισχυρισµός. Όλες οι εκτελέσεις του αλγορίθµου GS δίνουν ανάθεση βέλτιστη για τους άντρες, η οποία είναι ένα ευσταθές ταίριασµα! Είναι µάλλον µη αναµενόµενο ότι η ανάθεση που βέλτιστη για τους άντρες είναι τέλεια (όλοι οι άντρες έχουν ταίρι), πολύ περισσότερο δε ότι είναι και ευσταθής (ή µήπως είναι αναµενόµενο αυτό;). Ταυτόχρονα βέλτιστη για κάθε έναν και για όλους τους άντρες. 18

βέλτιστο για τους άντρες Ισχυρισµός. Το ταίριασµα S* του αλγορίθµου GS είναι βέλτιστο για τους άντρες. Απόδειξη. (µε απαγωγή σε άτοπο) Έστω ότι στο ευσταθές ταίριασµα S* που υπολογίστηκε µε τον αλγόριθµο GS υπάρχουν ένας ή περισσότεροι άντρες που δεν έχουν γίνει ζευγάρι µε τη βέλτιστη σύντροφό τους. Όλοι οι άντρες κάνουν προτάσεις σε φθίνουσα κάποιος άντρας απορρίπτεται από µία έγκυρη σύντροφό του κατά την εκτέλεση του αλγορίθµου GS. Έστω ότι m είναι ο πρώτος άντρας που απορρίφθηκε από άλλη έγκυρη σύντροφό του (η οποία υποχρεωτικά θα είναι υψηλότερης προτίµησης για τον m). Έστω w η πρώτη έγκυρη σύντροφος του m που τον απέρριψε. S Έστω ότι στο S* όταν η w απορρίπτει τον m, Άννα-Χάρης συνάπτει δεσµό ή διατηρεί δεσµό µε έναν άντρα, έστω m, τον οποίο προτιµάει έναντι του m. Βίκυ-Τάκης Δηλαδή: Στο S* η w απέρριψε τον m και είναι µε τον m τον οποίο προτιµάει έναντι του m... 19

βέλτιστο για τους άντρες (συνέχεια) Ισχυρισµός. Το ταίριασµα S* του αλγορίθµου GS είναι βέλτιστο για τους άντρες. Απόδειξη. (µε απαγωγή σε άτοπο) Έχουµε µείνει στο ότι: Στο S* η w απέρριψε τον m και είναι µε τον m τον οποίο προτιµάει έναντι του m Εφόσον w είναι έγκυρη σύντροφος του m θα υπάρχει ευσταθές ταίριασµα S όπου m και w είναι ζευγάρι. Στο S ο m υποχρεωτικά θα έχει άλλο ταίρι, έστω την w. Ο m δεν έχει απορριφθεί από έγκυρη σύντροφο όταν ο m δέχεται την απόρριψη από την w. Εποµένως ο m προτιµάει την w έναντι της w. Όµως η w προτιµάει τον m από τον m. Εποµένως το m -w είναι ένα ασταθές ζεύγος στο S. Άρα το S δεν είναι ευσταθές ταίριασµα -> άτοπο. εφόσον αυτή είναι η πρώτη απόρριψη από έγκυρη σύντροφο στην εκτέλεση του αλγορίθµου S Άννα-Χάρης Βίκυ-Τάκης... 20

σύνοψη ευσταθούς ταιριάσµατος Πρόβληµα ευσταθούς ταιριάσµατος. Δεδοµένων των προτιµήσεων n αντρών και n γυναικών, να βρεθεί ένα ευσταθές ταίριασµα. δεν υπάρχει άντρας και γυναίκα, που δεν είναι ζευγάρι, αλλά προτιµούν ο ένας τον άλλο περισσότερο από ότι τον τρέχοντα σύντροφό τους Αλγόριθµος Gale-Shapley. Βρίσκει ένα ευσταθές ταίριασµα σε χρόνο O(n 2 ). Βέλτιστο για άντρες. Όταν οι άντρες είναι αυτοί που κάνουν τις προτάσεις στον αλγόριθµο GS, κάθε άντρας αντιστοιχίζεται µε τη βέλτιστη έγκυρη σύντροφο. η w είναι έγκυρη σύντροφος του m εάν υπάρχει κάποιο ευσταθές ταίριασµα όπου ο m και η w είναι ζευγάρι Ερώτηµα. Η ιδιότητα του βέλτιστου για τους άντρες ισχύει σε βάρος των γυναικών; 21

Χείριστο για τις Γυναίκες Χείριστη ανάθεση για γυναίκες. Κάθε γυναίκα αντιστοιχίζεται µε τον χειρότερο από τους έγκυρους συντρόφους της. Ισχυρισµός. Ο αλγόριθµος GS βρίσκει ένα χείριστο για τις γυναίκες ευσταθές ταίριασµα S*. Απόδειξη. Έστω ότι m-w είναι ζευγάρι στο S*, και ότι ο m δεν είναι ο χειρότερος έγκυρος σύντροφος για την w. Υπάρχει ευσταθές ταίριασµα S στο οποίο η w αντιστοιχίζεται µε έναν άντρα, έστω m, τον οποίο προτιµάει λιγότερο από τον m. Έστω w η σύντροφος του m στο S. Ο m προτιµάει την w έναντι της w. ισχύει η βέλτιστη ανάθεση για τους άντρες στο S* Εποµένως, στο S οι m και w θα προτιµούσαν να είναι ζευγάρι και εποµένως m-w είναι ένα ασταθές ζεύγος στο S. S Άννα-Χάρης Βίκυ-Τάκης... 22

Επεκτάσεις: Αντιστοίχιση Γιατρών σε Νοσοκοµεία Αντιστοιχία: άντρες νοσοκοµεία, γυναίκες γιατροί. Παραλλαγή 1. Κάποιοι συµµετέχοντες δηλώνουν κάποιες αναθέσεις ως µη αποδεκτές. πχ. η γιατρός Α δεν δέχεται να εργαστεί στην Αθήνα Παραλλαγή 2. Το πλήθος των αντρών και γυναικών δεν είναι το ίδιο. Παραλλαγή 3. Περιορισµένη πολυγαµία. Ορισµός. Το ταίριασµα S είναι ασταθές εάν υπάρχει νοσοκοµείο h και γιατρός r τέτοια ώστε: το νοσοκοµείο X επιθυµεί να προσλάβει 3 γιατρούς h και r είναι αµοιβαία αποδεκτά, και είτε ο r είναι χωρίς αντιστοίχιση, είτε ο r προτιµάει το h έναντι του τρέχοντος νοσοκοµείου του, και είτε το h δεν έχει καλύψει όλες τις θέσεις του, είτε ο h προτιµάει τον r σε σχέση µε έναν τουλάχιστον από τους γιατρούς που του ανατέθηκαν. 23

Εφαρµογή: Ανάθεση γιατρών σε νοσοκοµεία Πρόγραµµα NRMP. (National Resident Matching Program) Χρησιµοποιήθηκε αµέσως µετά το Δεύτερο Παγκόσµιο πόλεµο. Μέσα Μαρτίου, 23,000+ γιατροί. Το δίληµµα του Αποµακρυσµένου Νοσοκοµείου. Ορισµένα νοσοκοµεία (κυρίως σε αγροτικές/αποµακρυσµένες περιοχές) δεν ήταν δηµοφιλή και πολλοί γιατροί δήλωναν ότι δεν αποδέχονταν να πάνε σε αυτά. προτού διαδοθεί η χρήση των υπολογιστών Τα αποµακρυσµένα νοσοκοµεία δεν κάλυπταν τις θέσεις τους στο πρόγραµµα ταιριάσµατος NRMP. Πως µπορούµε να βρούµε ένα ευσταθές ταίριασµα που ευνοεί τα αποµακρυσµένα νοσοκοµεία? Θεώρηµα Αποµακρυσµένων Νοσοκοµείων (Rural Hospital Theorem). Τα αποµακρυσµένα νοσοκοµεία παίρνουν ακριβώς το ίδιο σύνολο γιατρών σε κάθε ευσταθές ταίριασµα! 24

Απάτη: Κίνητρο για ψευδείς δηλώσεις στον αλγόριθµο Gale-Shapley Ερώτηση. Μπορεί να υπάρχει κίνητρο να δηλώσει ένα άτοµο ψευδή στοιχεία για τις προτιµήσεις του/της στον αλγόριθµο Gale-Shapley; Υποθέτουµε ότι γνωρίζουµε ότι θα εκτελεστεί ο αλγόριθµος Gale-Shapley µε τις προτάσεις να γίνονται από τους άντρες. Υποθέτουµε ότι γνωρίζουµε τις προτιµήσεις όλων των υπολοίπων ατόµων. Απάντηση. Όχι, για όλους τους άντρες. Ναι, για ορισµένες γυναίκες. Κανένας µηχανισµός (mechanism) δεν µπορεί να εγγυηθεί ένα ευσταθές ταίριασµα και ταυτόχρονα να εξαλείψει κάθε κίνητρο για ψευδείς δηλώσεις. 1 st 2 nd 3 rd Φώτης 1 st A 2 nd B Γ 3 rd πραγµατικές προτιµήσεις των γυναικών Άννα Βίκυ Γιώτα Χ Φ Φ Φ Χ Χ Τ Τ Τ Χάρης B A Γ Τάκης A B προτιµήσεις των αντρών Γ η Άννα λέει ψέµατα Άννα Βίκυ 1 st 2 nd 3 rd Χ Τ Φ Φ Χ Τ Γιώτα Φ Χ Τ 25

1.2 Πέντε Αντιπροσωπευτικά Προβλήµατα

1. Χρονοπρογραµµατισµός Διαστηµάτων (Interval Scheduling) Είσοδος. Ένα σύνολο εργασιών (jobs) µα χρόνους εκκίνησης και χρόνους τερµατισµού. Σκοπός. Να βρεθεί µέγιστο υποσύνολο εργασιών που είναι συµβατές µεταξύ τους. συµβατές εργασίες: εργασίες που δεν επικαλύπτονται a b c d e f g 0 1 2 3 4 5 6 7 8 9 10 11 h Χρόνος 27

Χρονοπρογραµµατισµός Διαστηµάτων (Interval Scheduling) Πολυπλοκότητα: Το πρόβληµα ανήκει στην κλάση P των προβληµάτων που επιτρέπουν λύση σε πολυωνυµικό χρόνο (polynomial time). Μία λύση: Όπως θα δούµε σε παρακάτω µάθηµα µπορεί να επιλυθεί µε έναν «άπληστο» (greedy) αλγόριθµο. Η χρήση απληστίας είναι µια αλγοριθµική τεχνική. 28

2. Σταθµισµένος χρονοπρογραµµατισµός διαστηµάτων (weighted interval scheduling) Είσοδος. Ένα σύνολο εργασιών µε χρόνους εκκίνησης, χρόνους τερµατισµού και βάρη. Σκοπός. Να βρεθεί υποσύνολο µεγίστου βάρους µε εργασίες που είναι συµβατές µεταξύ τους. 23 12 20 26 13 20 11 0 1 2 3 4 5 6 7 8 9 10 11 16 Χρόνος 29

Σταθµισµένος χρονοπρογραµµατισµός διαστηµάτων (weighted interval scheduling) Πολυπλοκότητα: Είναι πιο απαιτητικό πρόβληµα από τον απλό χρονοπρογραµµατισµό διαστηµάτων, όµως ανήκει και αυτό στην κλάση P (επιλύεται σε πολυωνυµικό χρόνο). Μία λύση: Με χρήση της αλγοριθµικής τεχνικής του δυναµικού προγραµµατισµού (dynamic programming) 30

3. Διµερές ταίριασµα (bipartite matching) Είσοδος. Διµερές γράφηµα. Σκοπός. Να βρεθεί ταίριασµα µε µέγιστο πλήθος ακµών. A 1 B 2 C 3 D 4 E 5 31

Διµερές ταίριασµα (bipartite matching) Πολυπλοκότητα: Ανήκει στην κλάση P (επιλύεται σε πολυωνυµικό χρόνο). Μια λύση: Με χρήση της αλγοριθµικής τεχνικής της επαύξησης (augmentation). Σταδιακά υπολογίζεται ένα όλο και µεγαλύτερο ταίριασµα οπισθοδροµώντας (backtracking) επιλεκτικά. 32

4. Ανεξάρτητο σύνολο (independent set) Είσοδος. Γράφηµα. Σκοπός. Να βρεθεί ανεξάρτητο σύνολο µε το µέγιστο πλήθος κορυφών. ανεξάρτητο σύνολο: υποσύνολο κορυφών τέτοιο ώστε δεν υπάρχει ακµή µεταξύ των κορυφών αυτών 1 2 3 4 5 6 7 33

Ανεξάρτητο σύνολο (independent set) Το πρόβληµα του ανεξάρτητου συνόλου: Ίσως δεν του φαίνεται µε την πρώτη µατιά, είναι όµως ένα πολύ γενικό πρόβληµα. Ο χρονοπρογραµµατισµός διαστηµάτων και το διµερές ταίριασµα µπορούν να κωδικοποιηθούν ως ειδικές περιπτώσεις του προβλήµατος του ανεξαρτήτου συνόλου. Αυτό σηµαίνει ότι ένας αλγόριθµος για το ανεξάρτητο σύνολο θα µπορούσε να επιλύσει τον χρονοπρογραµµατισµό διαστηµάτων, και το διµερές ταίριασµα. Αναγωγές: Ένας αλγόριθµος για το ανεξάρτητο σύνολο µπορεί να λύσει και το πρόβληµα του χρονοπρογραµµατισµού διαστηµάτων. Επίσης, ο ίδιος αλγόριθµος µπορεί να λύσει το πρόβληµα του διµερούς ταιριάσµατος. 34

Ανεξάρτητο σύνολο (independent set) Πολυπλοκότητα. Το πρόβληµα του ανεξαρτήτου συνόλου θεωρείται ότι δεν ανήκει στην κλάση P. Είναι γνωστό ότι είναι πλήρες για την κλάση NP (non-deterministic polynomial). Λύση. Δεν είναι γνωστός κάποιος πολυωνυµικός αλγόριθµος για την επίλυση του προβλήµατος. Εάν όµως µας δοθεί µια έτοιµη λύση, µπορούµε σε πολυωνυµικό χρόνο να επιβεβαιώσουµε την ορθότητα της λύσης. Παράδειγµα: Για ένα γράφηµα µε 1000 κόµβους θέλουµε να βρούµε εάν υπάρχει ανεξάρτητο σύνολο µεγέθους 100. Εύρεση ανεξάρτητου συνόλου: Δεν γνωρίζουµε αλγόριθµο πολυωνυµικού χρόνου που µπορεί να το κάνει αυτό. Επιβεβαίωση: Εάν όµως µας δοθεί ένα τέτοιο ανεξάρτητο σύνολο τότε µπορούµε σε πολυωνυµικό χρόνο να επιβεβαιώσουµε ότι πράγµατι είναι ένα τέτοιο ανεξάρτητο σύνολο. Παρατήρηση: Ίσως το θέµα της αποδοτικής επιβεβαίωσης να µοιάζει µικρής σηµασίας. Θα δούµε όµως (ξεκινώντας από το επόµενο πρόβληµα) ότι είναι ένα πολύ σηµαντικό κριτήριο. 35

5. Ανταγωνιστική χωροθέτηση υπηρεσιών (competitive facility location) Είσοδος. Γράφηµα µε βάρος σε κάθε κόµβο. Παίγνιο. Δύο παίκτες επιλέγουν κόµβους εναλλάξ. Δεν επιτρέπεται η επιλογή ενός κόµβου εάν έχει ήδη επιλεγεί κάποιος από τους γείτονές του. Σκοπός. Να επιλεγεί ένα υποσύνολο κόµβων µεγίστου βάρους. 10 1 5 15 5 1 5 1 15 10 Ο δεύτερος παίκτης µπορεί να εγγυηθεί συνολικό βάρος 20, όχι όµως 25. 36

Ανταγωνιστική χωροθέτηση υπηρεσιών (competitive facility location) Πολυπλοκότητα. Φαίνεται να είναι µην ανήκει στην κλάση P αλλά ούτε και στην κλάση NP. Είναι πλήρες για την κλάση PSPACE. Επιβεβαίωση. Για συγκεκριµένο στιγµιότυπο του προβλήµατος µπορούµε να δείξουµε ότι ο παίκτης µπορεί πάντοτε να πετύχει πχ. σκορ τουλάχιστον 25; Εάν θεωρήσουµε ότι κάποιος γνωρίζει την απάντηση, µπορεί να µας πείσει και εµάς; Αρκετά επιτραπέζια παιχνίδια στρατηγικής είναι πλήρη για την κλάση PSPACE και εποµένως δεν γνωρίζουµε κάποιον αποδοτικό αλγόριθµο για την βέλτιστη επίλυσή τους. 37

Πέντε Αντιπροσωπευτικά Προβλήµατα 1. Χρονοπρογραµµατισµός διαστηµάτων: n log n άπληστος (greedy) αλγόριθµος. 2. Σταθµισµένος χρονοπρογραµµατισµός διαστηµάτων: n log n αλγόριθµος µε δυναµικό προγραµµατισµό. 23 12 20 26 13 20 11 16 A 1 3. Διµερές ταίριασµα: n k αλγόριθµος βασισµένος αλγόριθµο µέγιστης ροής. B 2 C 3 D 4 E 5 4. Ανεξάρτητο σύνολο: NP-πλήρης (NP-complete). 3 1 4 2 5 6 7 5. Ανταγωνιστική χωροθέτηση εργασιών: PSPACE-πλήρης (PSPACEcomplete). 10 1 5 15 5 1 5 1 15 10 38

Επιπλέον Διαφάνειες

Πρόβληµα Ευσταθούς Ταιριάσµατος Σκοπός: Δεδοµένων n αντρών και n γυναικών, να βρεθεί ένα κατάλληλο ταίριασµα. Κάθε άτοµο ταξινοµεί τα άτοµα του αντίθετου φύλου. Κάθε άντρας δίνει λίστα µε τις γυναίκες σε σειρά προτεραιότητας από την πρώτη προτίµησή του προς την τελευταία. Κάθε γυναίκα δίνει λίστα µε τους άντρες σε σειρά προτεραιότητας από την πρώτη προτίµησή της προς τον τελευταία. πρώτη προτίµηση τελευταία προτίµηση 1 st 2 nd 3 rd 4 th 5 th Κώστας Βίκυ Άννα Δανάη Ελένη Clare Ηλίας Δανάη Βίκυ Άννα Clare Ελένη Φώτης Βίκυ Ελένη Clare Δανάη Άννα Χάρης Άννα Δανάη Clare Βίκυ Ελένη Τάκης Βίκυ Δανάη Άννα Ελένη Clare προτιµήσεις των αντρών 40

Πρόβληµα Ευσταθούς Ταιριάσµατος Σκοπός: Δεδοµένων n αντρών και n γυναικών, να βρεθεί ένα κατάλληλο ταίριασµα. Κάθε άτοµο ταξινοµεί τα άτοµα του αντίθετου φύλου. Κάθε άντρας δίνει λίστα µε τις γυναίκες σε σειρά προτεραιότητας από την πρώτη προτίµησή του προς την τελευταία. Κάθε γυναίκα δίνει λίστα µε τους άντρες σε σειρά προτεραιότητας από την πρώτη προτίµησή της προς τον τελευταία. πρώτη προτίµηση τελευταία προτίµηση 1 st 2 nd 3 rd 4 th 5 th Άννα Τάκης Ηλίας Wyatt Χάρης Φώτης Βίκυ Φώτης Wyatt Χάρης Ηλίας Τάκης Γιώτα Wyatt Φώτης Χάρης Τάκης Ηλίας Δανάη Ηλίας Τάκης Χάρης Φώτης Wyatt Ελένη Χάρης Wyatt Τάκης Φώτης Ηλίας προτιµήσεις των γυναικών 41

κατανόηση της λύσης Ισχυρισµός. Το ευσταθές ταίριασµα που είναι βέλτιστο για τους άντρες είναι ασθενώς Pareto βέλτιστο (weakly Pareto optimal). Απόδειξη. Δεν υπάρχει άλλο τέλειο ταίριασµα (είτε ευσταθές είτε ασταθές) όπου κάθε άντρας αντιστοιχίζεται σε αυστηρά υψηλότερη προτίµησή του Έστω Α η τελευταία γυναίκα σε κάποια εκτέλεση του αλγορίθµου GS που δέχεται µια πρόταση. Κανένας άντρας δεν έχει απορριφθεί από την Α, εφόσον ο αλγόριθµος τερµατίζει όταν η τελευταία γυναίκα δέχεται την πρώτη πρόταση. Κανένας άντρας που αντιστοιχίζεται µε την Α δεν µπορεί να είναι σε καλύτερη αντιστοίχιση από ότι στο βέλτιστο για τους άντρες ευσταθές ταίριασµα 42

πηγές/αναφορές Κεφάλαιο 1, Σχεδίαση Αλγορίθµων, J. Kleinberg and E. Tardos, Ελληνική έκδοση από τις Εκδ. Κλειδάριθµος 43