Ταιριάσματα Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών)
Ταιριάσματα Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών) Έστω ακμή Αν τότε η ακμή είναι ταιριασμένη, διαφορετικά είναι ελεύθερη Έστω κόμβος Αν υπάρχει ταιριασμένη ακμή που προσπίπτει στον τότε ο είναι ταιριασμένος, διαφορετικά είναι ελεύθερος
Διμερή Ταιριάσματα Διμερές Γράφημα Ταίριασμα (matching) Σύνολο ακμών τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του Θέλουμε να βρούμε ένα μέγιστο ταίριασμα (δηλαδή με μέγιστο αριθμό ακμών)
Διμερή Ταιριάσματα Αναγωγή σε Μέγιστη Ροή Κατασκευάζουμε βοηθητικό δίκτυο : Εισάγουμε αφετηριακό κόμβο και τερματικό κόμβο Κατευθύνουμε τις ακμές του από το στο και τους δίνουμε χωρητικότητα Εισάγουμε ακμές και με χωρητικότητα
Διμερή Ταιριάσματα Αναγωγή σε Μέγιστη Ροή Κατασκευάζουμε βοηθητικό δίκτυο : Εισάγουμε αφετηριακό κόμβο και τερματικό κόμβο Κατευθύνουμε τις ακμές του από το στο και τους δίνουμε χωρητικότητα Εισάγουμε ακμές και με χωρητικότητα Οι ακμές που μεταφέρουν ροή από το στο δίνουν ένα ταίριασμα
Διμερή Ταιριάσματα Αναγωγή σε Μέγιστη Ροή Κατασκευάζουμε βοηθητικό δίκτυο : Εισάγουμε αφετηριακό κόμβο και τερματικό κόμβο Κατευθύνουμε τις ακμές του από το στο και τους δίνουμε χωρητικότητα Εισάγουμε ακμές και με χωρητικότητα Οι ακμές που μεταφέρουν ροή από το στο δίνουν ένα ταίριασμα. Η μέγιστη ροή αντιστοιχεί σε μέγιστο ταίριασμα. Χρόνος υπολογισμού : Ford-Fulkerson Hopcroft-Karp, Dinic
Διμερή Ταιριάσματα Διαδρομή Εναλλαγής Οι ακμές της εναλλάσσονται μεταξύ ελεύθερων και ταιριασμένων Αυξητική Διαδρομή Διαδρομή εναλλαγής που ξεκινά από ελεύθερο κόμβο και καταλήγει σε ελεύθερο κόμβο
Ταιριάσματα Ένα γράφημα είναι διμερές αν και μόνο αν δεν έχει κύκλους περιττού μήκους
Ταιριάσματα Ένα γράφημα είναι διμερές αν και μόνο αν δεν έχει κύκλους περιττού μήκους
Ταιριάσματα Οι κύκλοι περιττού μήκους προκαλούν δυσκολία στην εύρεση αυξητικών μονοπατιών
Ταιριάσματα Οι κύκλοι περιττού μήκους προκαλούν δυσκολία στην εύρεση αυξητικών μονοπατιών
Ταιριάσματα Οι κύκλοι περιττού μήκους προκαλούν δυσκολία στην εύρεση αυξητικών μονοπατιών
Ταιριάσματα Οι κύκλοι περιττού μήκους προκαλούν δυσκολία στην εύρεση αυξητικών μονοπατιών Τι μπορεί να συμβεί αν αναζητήσουμε αυξητική διαδρομή από τον παρακάτω γράφημα; στο
Ταιριάσματα διαδρομή εναλλαγής με άρτιο αριθμό ακμών, που ξεκινά από ελεύθερο κόμβο και καταλήγει σε κόμβο κύκλος εναλλαγής με περιττό αριθμό ακμών, που ξεκινά από και καταλήγει στον κόμβο Αλγόριθμος του Edmonds κοτσάνι άνθος βάση του άνθους Μπορούμε να συρρικνώσουμε το άνθος στη βάση του και συνεχίζουμε τον αλγόριθμο στο νέο γράφημα που προκύπτει
Ταιριάσματα διαδρομή εναλλαγής με άρτιο αριθμό ακμών, που ξεκινά από ελεύθερο κόμβο και καταλήγει σε κόμβο κύκλος εναλλαγής με περιττό αριθμό ακμών, που ξεκινά από και καταλήγει στον κόμβο Αλγόριθμος του Edmonds κοτσάνι άνθος βάση του άνθους Μπορούμε να συρρικνώσουμε το άνθος στη βάση του και συνεχίζουμε τον αλγόριθμο στο νέο γράφημα που προκύπτει
Ταιριάσματα διαδρομή εναλλαγής με άρτιο αριθμό ακμών, που ξεκινά από ελεύθερο κόμβο και καταλήγει σε κόμβο κύκλος εναλλαγής με περιττό αριθμό ακμών, που ξεκινά από και καταλήγει στον κόμβο Αλγόριθμος του Edmonds κοτσάνι άνθος βάση του άνθους Μπορούμε να συρρικνώσουμε το άνθος στη βάση του και συνεχίζουμε τον αλγόριθμο στο νέο γράφημα που προκύπτει
Ταιριάσματα διαδρομή εναλλαγής με άρτιο αριθμό ακμών, που ξεκινά από ελεύθερο κόμβο και καταλήγει σε κόμβο κύκλος εναλλαγής με περιττό αριθμό ακμών, που ξεκινά από και καταλήγει στον κόμβο Αλγόριθμος του Edmonds κοτσάνι άνθος βάση του άνθους Θεώρημα Έστω το γράφημα που προκύπτει από το με τη συρρίκνωση ενός άνθους. Τότε το περιέχει αυξητική διαδρομή αν και μόνο αν περιέχει αυξητική διαδρομή το.
Ταιριάσματα Αλγόριθμος του Edmonds Θεώρημα Έστω το γράφημα που προκύπτει από το με τη συρρίκνωση ενός άνθους. Τότε το περιέχει αυξητική διαδρομή αν και μόνο αν περιέχει αυξητική διαδρομή το. Ο αλγόριθμος του Edmonds συρρικνώνει κάθε άνθος που ανακαλύπτει. Ο Edmonds έδωσε μια υλοποίηση του αλγόριθμου με χρόνο εκτέλεσης Οι Micali και Vazirani σχεδίασαν ένα πιο περίπλοκο αλγόριθμο με χρόνο εκτέλεσης Οι Gabow καιtarjan σχεδίασαν ένα διαφορετικό αλγόριθμο που επιτυγχάνει τον ίδιο χρόνο εκτέλεσης
Διμερή Ταιριάσματα Ελάχιστου Κόστους Διμερές Γράφημα Κόστος ακμών Κόστος ταιριάσματος Θέλουμε να βρούμε ένα μέγιστο ταίριασμα ελάχιστου κόστους 2 1 3 4 2 5 3 1 2 1 3 4 2 5 3 1 κόστος = 12 κόστος = 9
Διμερή Ταιριάσματα Ελάχιστου Κόστους Διμερές Γράφημα Κόστος ακμών Κόστος ταιριάσματος Θέλουμε να βρούμε ένα μέγιστο ταίριασμα ελάχιστου κόστους Για απλότητα θα υποθέσουμε ότι υπάρχει τέλειο ταίριασμα, όπου όλοι οι κόμβοι είναι ταιριασμένοι. (Επομένως.) Άρα πρέπει να υπολογίσουμε ένα τέλειο ταίριασμα με ελάχιστο κόστος Θα σχεδιάσουμε ένα αλγόριθμο ο οποίος θα εκτελεί επαναλήψεις. Στη επανάληψη, ο αλγόριθμος υπολογίζει ένα ταίριασμα μεγέθους Για την επαύξηση ενός ταιριάσματος μεγέθους σε ταίριασμα μεγέθους, αναζητούμε ένα αυξητικό μονοπάτι ελάχιστου κόστους.
Διμερή Ταιριάσματα Ελάχιστου Κόστους 2 1 3 4 2 5 3 κόστος ταιριάσματος = 5 1 2 1 3 4 2 5 3 κόστος ταιριάσματος = 9 1 κόστος αυξητικής διαδρομής = 3-1+2 = 4
Διμερή Ταιριάσματα Ελάχιστου Κόστους Η αναζήτηση μπορεί να γίνει στο βοηθητικό υπολειπόμενο δίκτυο -1 1 2 3 4 2 5-3 -1 κόστος ταιριάσματος = 5-2 -3 4 2 5-3 -1 κόστος ταιριάσματος = 9 κόστος αυξητικής διαδρομής = 3-1+2 = 4 Οι ακμές και έχουν κόστος. Αν τότε το έχει την ακμή με κόστος. Διαφορετικά το έχει την ακμή με κόστος.
Διμερή Ταιριάσματα Ελάχιστου Κόστους Η αναζήτηση μπορεί να γίνει στο βοηθητικό υπολειπόμενο δίκτυο 2-1 3 4 2 5-3 -1 κόστος ταιριάσματος = 5-2 1-3 4 2 5-3 -1 κόστος ταιριάσματος = 9 κόστος αυξητικής διαδρομής = 3-1+2 = 4 Έστω ένα ταίριασμα και μια διαδρομή του από το στο. Έστω το ταίριασμα που προκύπτει από την επαύξηση μέσω της. Τότε και
Διμερή Ταιριάσματα Ελάχιστου Κόστους Ζητήματα που πρέπει να εξετάσουμε : (α) Είναι δυνατόν να εμφανιστούν κύκλοι αρνητικού κόστους; (β) Πως μπορούμε να υπολογίσουμε μια αυξητική διαδρομή ελάχιστου κόστους γρήγορα; Θα δείξουμε ότι το (α) δεν μπορεί να συμβεί στη διάρκεια εκτέλεσης του αλγόριθμου. Αυτό μας επιτρέπει για το (β) να χρησιμοποιήσουμε παρόμοια μέθοδο με τον αλγόριθμο ελαφρύτατων διαδρομών του Johnson.
Διμερή Ταιριάσματα Ελάχιστου Κόστους Θεώρημα Έστω ένα τέλειο ταίριασμα. Το είναι τέλειο ταίριασμα ελάχιστου κόστους αν και μόνο αν στο δεν υπάρχουν κύκλοι αρνητικού κόστους. κύκλος κόστος 2-1 3-4 -2-5 3 1
Διμερή Ταιριάσματα Ελάχιστου Κόστους Τιμές Κόμβων Μετατρέπουν τα κόστη των ακμών σε μη αρνητικά. Έτσι μας δίνεται η δυνατότητα να χρησιμοποιήσουμε τον αλγόριθμο του Dijkstra για την εύρεση αυξητικής διαδρομής ελάχιστου κόστους. Τιμές κόμβων Ανηγμένο κόστος Διαισθητική (οικονομική) ερμηνεία : Η ανάθεση της εργασίας στο άτομο συνεπάγεται «κόστος πρόσληψης» του και αποφέρει κέρδος άτομα εργασίες
Διμερή Ταιριάσματα Ελάχιστου Κόστους Τιμές Κόμβων Μετατρέπουν τα κόστη των ακμών σε μη αρνητικά. Έτσι μας δίνεται η δυνατότητα να χρησιμοποιήσουμε τον αλγόριθμο του Dijkstra για την εύρεση αυξητικής διαδρομής ελάχιστου κόστους. Τιμές κόμβων Οι τιμές των κόμβων είναι συμβατές με ένα ταίριασμα εάν Για κάθε ακμή, (άρα ) Για κάθε ελεύθερο κόμβο, Για κάθε ακμή, (άρα )
Διμερή Ταιριάσματα Ελάχιστου Κόστους Ιδιότητα Έστω ταίριασμα με συμβατές τιμές. Τότε, το δίκτυο δεν έχει κύκλους αρνητικού κόστους Έστω κύκλος Έχουμε και Παρατηρούμε ότι, άρα
Διμερή Ταιριάσματα Ελάχιστου Κόστους Ιδιότητα Έστω ταίριασμα με συμβατές τιμές. Τότε, το δίκτυο δεν έχει κύκλους αρνητικού κόστους Απομένει να καθορίσουμε : Πως μεταβάλλονται οι τιμές των κόμβων μετά από κάθε επαύξηση του τρέχοντος ταιριάσματος. Ποιες είναι οι αρχικές τιμές των κόμβων (πριν την πρώτη επαύξηση).
Διμερή Ταιριάσματα Ελάχιστου Κόστους Ενημέρωση των τιμών των κόμβων Έστω ότι οι ακμές και βρίσκονται στη διαδρομή επαύξησης Πριν την επαύξηση : Μετά την επαύξηση : Μπορούμε να βρούμε τις κατάλληλες τιμές των κόμβων μετά την επαύξηση χρησιμοποιώντας τις αποστάσεις (που υπολόγισε ο Dijkstra) από τον
Διμερή Ταιριάσματα Ελάχιστου Κόστους Ενημέρωση των τιμών των κόμβων η απόσταση του κόμβου από τον στο δίκτυο Σε κάθε κόμβο δίνουμε νέα τιμή Ιδιότητα Οι τιμές είναι συμβατές για το ταίριασμα μετά την επαύξηση κατά μήκος διαδρομής ελάχιστου κόστους από τον στον.
Διμερή Ταιριάσματα Ελάχιστου Κόστους Αρχικοποίηση των τιμών των κόμβων Ο αλγόριθμος ξεκινά με το κενό ταίριασμα αναθέσεις δίνουν ένα συμβατό σύνολο τιμών :, επομένως οι ακόλουθες Για κάθε κόμβο θέτουμε Για κάθε κόμβο θέτουμε ελάχιστο κόστος ακμής που εισέρχεται στον