ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 12: Αντιμετώπιση Περιορισμών Αλγοριθμικής Ισχύος Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αντιμετώπιση Περιορισμών Αλγοριθμικής Ισχύος Ανάτρεξη, Διακλάδωση-και-Φραγή
Αντιμετώπιση Δύσκολων Προβλημάτων Συνδυαστικής Υπάρχουν δύο βασικές προσεγγίσεις για την αντιμετώπιση δύσκολων προβλημάτων συνδυαστικής (NP-hard προβλήματα): Χρήση στρατηγικής που εγγυάται την επίλυση ακριβώς αλλά δεν εγγυάται την έρευση λύσης σε πολυωνυμικό χρόνο. Χρήση προσεγγιστικού αλγορίθμου που μπορεί να βρει μία προσεγγιστική (υπο-βέλτιστη) λύση σε πολυωνυμικό χρόνο. 5
Στρατηγικές Επακριβούς Επίλυσης Εξαντλητική αναζήτηση (ωμή βία) Χρήσιμη μόνο για μικρές εκφάνσεις Δυναμικός προγραμματισμός Εφαρμόσιμος σε μερικά προβλήματα (π.χ., πρόβλημα σάκου) Ανάτρεξη Εξάλειψη μερικών αχρείαστων περιπτώσεων Παραγωγή λύσεων σε λογικό χρόνο για πολλά στιγμιότυπα, στη χειρότερη περίπτωση η απόδοση παραμένει εκθετική Διακλάδωση-και-φραγή Επεκτείνει την ιδέα της ανάτρεξης για προβλήματα βελτιστοποίησης 6
Ανάτρεξη Κατασκευή δένδρου χώρου καταστάσεων κόμβοι: μερικές λύσεις ακμές: επιλογές επέκτασης μερικών λύσεων Εξερεύνηση δένδρου χώρου καταστάσεων με κατά-βάθος πρώτα αναζήτηση «Κλάδεμα» μη-ελπιδοφόρων κόμβων Σταματάει η εξερεύνηση υποδένδρων ριζωμένα σε κόμβους που δεν μπορούν να οδηγήσουν σε λύση και ανάτρεξη στον πατέρα των κόμβων αυτών για συνέχιση της αναζήτησης 7
Παράδειγμα: πρόβλημα n βασιλισσών Τοποθέτησε n βασίλισσες σε μία n-επί-n σκακιέρα έτσι ώστε να μην υπάρχουν δύο σε καμία σειρά, στήλη ή διαγώνιο 1 2 3 4 1 queen 1 2 queen 2 3 queen 3 4 queen 4 8
Το δένδρο χώρου καταστάσεων για 4 βασίλισσες 9 0 1 5 2 3 4 6 7 8 1 2 1 2 3 4 1 3 4 1 2 3 4 1 2 3 1 2
Παράδειγμα: Πρόβλημα Χαμιλτονιανού Κυκλώματος a c b f with 3 0 w/o 3 d e with 5 3 w/o 5 with 5 0 w/o 5 14 14+7>15 with 6 8 with 7 15 solution w/o 6 8 w/o 7 8 8<15 3 with 6 w/o 6 with 6 9 3 9+7>15 3+7<15 11 11+7>14 5 0 5 5+7<15 w/o 6 0+13<15 10
Διακλάδωση και Φραγή Βελτίωση της ανάτρεξης Εφαρμόσιμη μέθοδος σε προβλήματα βελτιστοποίησης Για κάθε κόμβο (μερική λύση) του δένδρου χώρου καταστάσεων, υπολογισμός ορίου της τιμής της αντικειμενικής συνάρτησης για κάθε απόγονο του κόμβου Η χρήτη του ορίου: Καθορίζει ποιοι κόμβοι είναι «μη-ελπιδοφόροι» ώστε να κλαδευτεί το δένδρο τέτοιοι είναι οι κόμβοι με όριο όχι καλύτερο από την καλύτερη λύση μέχρι τώρα Καθοδήγηση της αναζήτησης στο χώρο καταστάσεων 11
Παράδειγμα: Πρόβλημα Ανάθεσης Επιλογή ενός στοιχείου σε κάθε γραμμή του πίνακα κόστους C ούτως ώστε: δεν ανήκουν δύο επιλεγμένα στοιχεία στην ίδια στήλη το άθροισμα μεγιστοποιείται Παράδειγμα: Job 1 Job 2 Job 3 Job 4 Person a 9 2 7 8 Person b 6 4 3 7 Person c 5 8 1 8 Person d 7 6 9 4 Κατώτερο φράγμα: Κάθε λύση θα έχει κόστος τουλάχιστον: 2 + 3 + 1 + 4 (ή 5 + 2 + 1 + 4) 12
Παράδειγμα: Τα δύο πρώτα επίπεδα του δένδρου χώρου καταστάσεων 0 Start lb = 2+3+1+4=10 1 2 3 4 a 1 lb = 9+3+1+4=17 a 2 lb = 2+3+1+4=10 a 3 lb = 7+4+5+4=20 a 4 lb = 8+3+1+6=18 13
Παράδειγμα (συνέχεια) 0 Start lb = 10 1 2 3 4 a 1 lb = 17 a 2 lb = 10 5 6 7 b 1 lb = 13 b 3 lb = 14 b 4 lb = 17 a 3 lb = 20 a 4 lb = 18 14
Παράδειγμα: Πλήρες δένδρο χώρου καταστάσεων 0 Start lb = 10 a 1 lb = 17 1 2 3 4 a 2 lb = 10 5 6 7 b 1 lb = 13 8 9 c 3 c 4 d 4 d 3 cost = 13 cost = 25 solution inferior solution b 3 lb = 14 b 4 lb = 17 a 3 lb = 20 a 4 lb = 18 15
b 3 Παράδειγμα: Πρόβλημα Περιοδεύοντος Πωλητή b 0 8 5 6 a 1 7 9 lb = 14 b 4 b 2 3 b 8 9 a, b, c, d, a, b, c, e, (e, a) (d, a) l= 24 l= 19 first tour 5 6 7 a, b, c lb = 16 better tour 1 a, b lb = 14 a, b, d lb = 16 2 10 11 a, b, d, c, a, b, d, e, (e, a) (c, a) l= 24 l= 16 inferior tour a, c a, d lb = 16 (b is not before c) optimal tour a, b, e lb = 19 lb >= l of node 11 3 4 a, e lb = 19 lb >= l of node 11 lb >= l of node 11 16
Σημείωμα Αναφοράς Copyright, Ιωάννης Μανωλόπουλος, Αναστάσιος Γούναρης. «.». Έκδοση: 1.0. Θεσσαλονίκη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://eclass.auth.gr/courses/ocrs417/
Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά - Μη Εμπορική Χρήση - Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο [1] http://creativecommons.org/licenses/by-nc-sa/4.0/
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Τέλος ενότητας Επεξεργασία: Ανδρέας Κοσματόπουλος Θεσσαλονίκη, Αύγουστος 2015
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σημειώματα
Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.00.
Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους.