Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα...

35
Αλγόριθμοι Προσέγγισης για NP-∆ύσκολα Προβλήματα Παύλος Σπυράκης Παύλος Σπυράκης Πανεπιστήμιο Πατρών Τομέας Θεμελιώσεων και Εφαρμογών της Επιστήμης των Υπολογιστών Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών

Transcript of Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα...

Page 1: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

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

Παύλος ΣπυράκηςΠαύλος Σπυράκης

Πανεπιστήµιο Πατρών

Τοµέας Θεµελιώσεων και Εφαρµογών

της Επιστήµης των Υπολογιστών

Ερευνητικό Ακαδηµαϊκό

Ινστιτούτο Τεχνολογίας Υπολογιστών

Page 2: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

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

� Γιατί µερικά προβλήµατα είναι δύσκολο (ή αδύνατο)

να λυθούν από υπολογιστικές µηχανές.

� Αντικείµενο:

� Προβλήµατα που (δεν) µπορούν να λυθούν.

� Επιλύσιµα: υπολογιστικοί πόροι.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 2

� Επιλύσιµα: υπολογιστικοί πόροι.

� Ευεπίλυτα: spanning tree, shortest paths, max flow, min-cost flow, linear programming, …

� ∆υσεπίλυτα: TSP, vertex cover, knapsack, scheduling, …

� Επίδραση υπολογιστικού µοντέλου.

Page 3: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Προβλήµατα και Αλγόριθµοι

� Αλγόριθµος: λεπτοµερής περιγραφή µεθόδου επίλυσης

προβλήµατος από υπολογιστική µηχανή.

� Πρόβληµα: άπειρο σύνολο στιγµιοτύπων.

� Αποτελεί αντικείµενο µελέτης.

� Στιγµιότυπο: µαθηµατικό αντικείµενο για το οποίο

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 3

� Στιγµιότυπο: µαθηµατικό αντικείµενο για το οποίο

κάνουµε ερώτηση και περιµένουµε απάντηση.

� Προβλήµατα:

� Βελτιστοποίησης: λύση µε βέλτιστη αντικειµενική τιµή.

� Απόφασης: απάντηση ΝΑΙ ή ΌΧΙ.

Page 4: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Προβλήµατα Απόφασης

� Πρόβληµα απόφασης :

� Σύνολο στιγµιότυπων

� Σύνολο (αποδεκτών) λύσεων:

� ∆εδοµένου

� Επιδέχεται µόνο δύο απαντήσεων: ΝΑΙ ή ΌΧΙ.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 4

� Επιδέχεται µόνο δύο απαντήσεων: ΝΑΙ ή ΌΧΙ.

� Παραδείγµατα προβληµάτων απόφασης:

� Συνεκτικότητα, κύκλος Euler, κύκλος Hamilton.

� Ικανοποιησιµότητα λογικών προτάσεων.

� Κάθε πρόβληµα βελτιστοποίησης: έχει λύση µε αντικειµενική τιµή καλύτερη από Β;

Page 5: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αποδοτική Επίλυση: Κλάση P

� Μέγεθος στιγµιότυπου n : αριθµός bits για

αναπαράστασή του.

� Αλγόριθµος πολυωνυµικού χρόνου λύνει κάθε

στιγµιότυπο σε χρόνο O(nd), d σταθερά.

Κλάση P : προβλήµατα απόφασης που επιλύονται

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 5

� Κλάση P : προβλήµατα απόφασης που επιλύονται

από αλγόριθµους πολυωνυµικού χρόνου.

� Shortest paths, MST, max flow, min cut, min-cost flow, maximum matching, linear programming, …

� Αξίωµα Cook-Karp : κλάση ευεπίλυτων

προβληµάτων ταυτίζεται µε κλάση P.

Page 6: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αποδοτική Επίλυση: Κλάση P

� Υπέρ αξιώµατος Cook-Karp:

� Κλάση P ανεξάρτητη υπολογιστικού µοντέλου.

� Συνήθως πολυώνυµα µικρού βαθµού (π.χ. n, n2, n3).

� ∆ιπλασιασµός υπολογιστικής ισχύος: σηµαντική αύξηση στο µέγεθος στιγµιότυπων που επιλύουµε.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 6

� Κριτική στο αξίωµα Cook-Karp:

� Ακραίες περιπτώσεις: πρακτικό το n100 αλλά όχι το 2n/100 !

� Γραµµικός Προγραµµατισµός:

� Simplex εκθετικού χρόνου στη χειρότερη περίπτωση αλλά πολύ γρήγορος στην πράξη.

� Ελλειψοειδές πολυωνυµικού χρόνου αλλά όχι πρακτικός.

Page 7: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

«∆ύσκολα» Προβλήµατα

� Τι κάνουµε όταν ένα πρόβληµα φαίνεται «δύσκολο»;

� «∆ύσκολο»: µετά από µεγάλη προσπάθεια, δεν βρίσκουµε αποδοτικό αλγόριθµο (πολυωνυµικού χρόνου).

� Πάµε στο αφεντικό και λέµε:

� ∆εν µπορώ να βρω αποδοτικό αλγόριθµο. Απόλυση!

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 7

� ∆εν µπορώ να βρω αποδοτικό αλγόριθµο. Απόλυση!

� ∆εν υπάρχει αποδοτικός αλγόριθµος. Καλό αλλά δύσκολο!

� Κανένας δεν µπορεί να βρει αποδοτικό αλγόριθµο (και όλοι πιστεύουν ότι δεν υπάρχει).

� Θεωρία NP-πληρότητας.

� NP-πλήρη: κλάση εξαιρετικά σηµαντικών προβληµάτων που είτε όλα επιλύονται σε πολυωνυµικό χρόνο είτε κανένα.

Page 8: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Η Κλάση NP

� …περιλαµβάνει προβλήµατα απόφασης:

� Για κάθε ΝΑΙ-στιγµιότυπο, υπάρχει «πιστοποιητικό» εύκολο να ελεγχθεί (ελέγχεται σε πολυωνυµικό χρόνο).

� Συνοπτικό πιστοποιητικό (succinct certificate).

� Πιστοποιητικό µπορεί να είναι δύσκολο να υπολογισθεί.Αν δοθεί, ελέγχεται εύκολα!

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 8

Αν δοθεί, ελέγχεται εύκολα!

� ∆εν απαιτείται συνοπτικό πιστοποιητικό για ΌΧΙ-στιγµιότυπα.

� Κλάση co-NP περιλαµβάνει προβλήµατα απόφασης µε

συνοπτικό πιστοποιητικό για ΌΧΙ-στιγµιότυπα.

� Προβλήµατα Ρ ανήκουν ΝΡ

� Προβλήµατα Ρ ανήκουν co-ΝΡ

Page 9: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Η Κλάση NP

� Για σηµαντικότερα προβλήµατα βελτιστοποίησης,

αντίστοιχα προβλήµατα απόφασης ανήκουν στο NP.

� Συντοµότερο s – t µονοπάτι µήκους ≤ Β? Πιστοποιητικό µονοπάτι µήκους ≤ Β.

� Ελάχιστο Επικαλύπτον ∆έντρο βάρους ≤ Β?Πιστοποιητικό επικαλύπτον δέντρο βάρους ≤ Β.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 9

Πιστοποιητικό επικαλύπτον δέντρο βάρους ≤ Β.

� Υπάρχει κύκλος Hamilton?

� Περιοδεία Περιοδεύοντος Πωλητή µήκους ≤ Β?Πιστοποιητικό περιοδεία µήκους ≤ Β.

� Ελάχιστο Σύνολο Κάλυψης µε #κορυφών ≤ Β?Πιστοποιητικό σύνολο κάλυψης µε ≤ Β κορυφές.

Page 10: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

NP-Πληρότητα

� ΝΡ-δύσκολο πρόβληµα Π αν κάθε πρόβληµα Π’ στο ΝΡ

ανάγεται σε πολυωνυµικό χρόνο στο Π.

� Αναγωγή: αλγόριθµος πολυωνυµικού χρόνου

µε ιδιότητα x ΝΑΙ-στιγµ. ανν R(x) ΝΑΙ-στιγµ.

� Αν Π λύνεται σε πολυωνυµικό χρόνο, Π’ επίσης!

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 10

� Αν Π λύνεται σε πολυωνυµικό χρόνο, Π’ επίσης!

� ΝΡ-πλήρες πρόβληµα κάθε ΝΡ-δύσκολο που ανήκει ΝΡ.

Page 11: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Ρ και ΝΡ

� Εξ’ ορισµού

� Ερώτηµα:

� Αν , πολλά σηµαντικά προβλήµατα ευεπίλυτα!

� Αν (όπως όλοι πιστεύουν), κάποια προβλήµατα

στο ΝΡ δεν λύνονται σε πολυωνυµικό χρόνο!

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 11

στο ΝΡ δεν λύνονται σε πολυωνυµικό χρόνο!

� Εξ’ ορισµού, τα ΝΡ-πλήρη πρέπει να είναι σε αυτά.

P

NP NP-Πλήρη

Προβλήµατα

Page 12: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αντιµετώπιση NP-∆υσκολίας

� Αν , όχι αλγόριθµος που για όλα τα στιγµιότυπα

υπολογίζει βέλτιστη λύση σε πολυωνυµικό χρόνο.

� Ευρετικές τεχνικές: συχνά γρήγορα βέλτιστη λύση αλλά

και δύσκολα στιγµιότυπα (αργά ή / και όχι βέλτιστη λύση).

� Τοπική αναζήτηση.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 12

� Τοπική αναζήτηση.

� Simulated annealing.

� Γενετικοί αλγόριθµοι.

� Branch-and-Bound, Branch-and-Cut.

� …

Page 13: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αντιµετώπιση NP-∆υσκολίας

� Ανάλυση µέσης περίπτωσης / πιθανοτική ανάλυση.

� Γρήγοροι σε στιγµιότυπα που εµφανίζονται συχνότερα(αργοί µόνο για στιγµιότυπα µε µικρή πιθανότητα).

� ∆ιαφορά από ευρετικές τεχνικές: θεωρητική ανάλυση.

� Γνωρίζουµε πιθανότητα και πότε καλή / κακή απόδοση.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 13

� «Εύκολες» περιπτώσεις.

� Αλγόριθµοι προσέγγισης [Johnson, Sahni and Gonzalez, …, 70’s]

� Αλγόριθµοι πολυωνυµικού χρόνου (χ.π.).

� Όχι (πάντα) βέλτιστη λύση.

� Ανάλυση χειρότερης περίπτωσης ως προς ποιότητα λύσης.

Page 14: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αλγόριθµοι Προσέγγισης

� Απόδοση χειρότερης περίπτωσης γνωστών ευρετικών

αλγόριθµων (αρχικά κυρίως άπληστων).

� Σχεδιασµός poly-time αλγόριθµων που συµπεριφέρονται

αποδεδειγµένα καλά για κάθε στιγµιότυπο.

� Λόγος προσέγγισης

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 14

� Λόγος προσέγγισης

� Αλγόριθµου Α για πρόβληµα Π (πάντα ≥ 1):

� Προβλήµατος Π:

Page 15: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Ελάχιστο Σύνολο Κάλυψης

� Είσοδος: γράφηµα

� Εφικτή λύση: υποσύνολο κορυφών

κάθε ακµή τουλάχιστον ένα άκρο στο

� είναι σύνολο κάλυψης (vertex cover).

Στόχος: σύνολο κάλυψης µε ελάχιστο #κορυφών.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 15

� Στόχος: σύνολο κάλυψης µε ελάχιστο #κορυφών.

� ΝΡ-δύσκολο πρόβληµα.

Page 16: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Ταίριασµα

� Ταίριασµα : υποσύνολο ακµών

χωρίς κοινά άκρα.

� Για κάθε ταίριασµα Μ, τουλάχιστον ένα από τα άκρα

ακµών Μ ανήκει σε κάθε σύνολο κάλυψης:

� ∀ταίριασµα Μ, ελάχιστο σύνολο κάλυψης |C*| ≥ |Μ|

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 16

� ∀ταίριασµα Μ, ελάχιστο σύνολο κάλυψης |C*| ≥ |Μ|

Page 17: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Μεγιστοτικό Ταίριασµα

� Μεγιστοτικό ταίριασµα : ταίριασµα που αν

προσθέσουµε ακµή παύει να είναι ταίριασµα.

� Μεγιστοτικό ταίριασµα Μ : κάθε ακµή εκτός Μέχει κοινό άκρο µε ακµή του Μ.

� Άκρα ακµών µεγιστοτικού ταιριάσµατος Μ συγκροτούν

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 17

� Άκρα ακµών µεγιστοτικού ταιριάσµατος Μ συγκροτούν σύνολο κάλυψης C.

� |C| = 2|M| ≤ 2|C*|

Page 18: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αλγόριθµος ΜΜ

� Υπολογισµός µεγιστοτικού ταιριάσµατος Μ.

� Προσθήκη ακµών ενόσω υπάρχουν ακµές που προσθήκη τους δίνει ταίριασµα.

� Σύνολο κάλυψης C : όλα τα άκρα ακµών Μ.

� Πολυωνυµικός χρόνος.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 18

� Πολυωνυµικός χρόνος.

� Ορθότητα : ιδιότητα µεγιστοτικού ταιριάσµατος.

� Λόγος προσέγγισης = 2.

� |C| = 2|M| ≤ 2|C*| (πάνω φράγµα).

� Παραδείγµατα όπου κόστος ΜΜ διπλάσιο βέλτιστου.

Page 19: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Βασική Ιδέα (ελαχιστοποίηση)

� Ξεκινώ από κάτω φράγµα στο κόστος βέλτιστης λύσης.

� Για κάθε ταίριασµα Μ, |C*| ≥ |Μ|.

� Κάτω φράγµα εκφράζεται σαν συνάρτηση κάποιων άλλων παραµέτρων του στιγµιότυπου εισόδου.

� Πολλές φορές κάτω φράγµα προκύπτει από δυϊκότητα.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 19

� (Πολυωνυµικός) αλγόριθµος: εφικτή λύση µε κόστος =

συνάρτηση των παραµέτρων στο κάτω φράγµα.

� Μεγιστοτικό ταίριασµα Μ: σύνολο κάλυψης C, |C| = 2 |M|.

� Σύγκριση δίνει άνω φράγµα στο λόγο προσέγγισης.

� |C| = 2 |M| ≤ 2 |C*|.

Page 20: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Περιοδεύων Πωλητής

� Είσοδος: n σηµεία µε (συµµετρικές) αποστάσεις τους.

� Αποστάσεις ικανοποιούν τριγωνική ανισότητα (metric space).

� Αποδεκτές λύσεις: περιοδείες (µετάθεσεις) n σηµείων.

� Στόχος: περιοδεία ελάχιστου συνολικού µήκους.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 20

α ζ

ε

δγ

β

α ζ

ε

δγ

β

µήκους 2

µήκους 1

Page 21: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Κάτω φράγµα

� Ελάχιστο Επικαλύπτον ∆έντρο (ΕΕ∆).

� Κάθε περιοδεία έχει µήκος ≥ βάρος ΕΕ∆.

� Περιοδεία – ακµή: επικαλύπτον δέντρο.

� Αλγόριθµος:

� Τ* ΕΕ∆ βάρους w(T*)

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 21

� Τ* ΕΕ∆ βάρους w(T*)

� «∆ιπλασιασµός» ακµών Τ* (άρτιοι βαθµοί)

� Κύκλος Euler στο διπλασιασµένο Τ*

� Αποφυγή διπλών εµφανίσεων «κόβοντας» δρόµο.

� Μήκος ≤ 2 w(T*) λόγω

τριγωνικής ανισότητας

� Λόγος προσέγγισης ≤ 2 (tight).

α ζ

ε

δγ

β

α ζ

ε

δγ

β

α ζ

ε

δγ

β

α ζ

ε

δγ

β

α ζ

ε

δγ

β

Page 22: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Καλύτερος Αλγόριθµος

� Αλγόριθµος Χριστοφίδη (1976)

� Ελάχιστο Επικαλύπτον ∆έντρο.

� Ταίριασµα ελάχιστου βάρους µεταξύ κορυφών ΕΕ∆ µε περιττό βαθµό.

� Κύκλος Euler.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 22

� Περιοδεία µήκους ≤ βάρος ΕΕ∆ + βάρος ταιριάσµατος.

� Λόγος προσέγγισης = 3/2.

� Μετά 30 χρόνια, καλύτερος γνωστός αλγόριθµος.

� Υπάρχουν καλύτεροι αλγόριθµοι για ειδικές περιπτώσεις

(π.χ. TSP(1, 2), planar TSP, …).

Page 23: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

∆ροµολόγηση Εργασιών

� Είσοδος:

� m ίδιες µηχανές (σύνολο Μ).

� n εργασίες µεγέθους w1, w2, …, wn (σύνολο J).

� Αποδεκτές λύσεις: κάθε δροµολόγηση φ

� Στόχος: ελαχιστοποίηση µέγιστου φορτίου µηχανής:

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 23

� Στόχος: ελαχιστοποίηση µέγιστου φορτίου µηχανής:

1

µηχ. 2µηχ. 1 µηχ. 3

Εργασίες : 1 1

11 1 31

µηχ. 2µηχ. 1 µηχ. 3

1

11

1

1 3

Page 24: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Κάτω φράγµα

� .

11

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 24

1

µηχ. 2µηχ. 1 µηχ. 3

1

11

1

1 3

Page 25: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αλγόριθµος Graham (1966)

� Εργασίες µία – µία µε σειρά που δίνονται (online).

� Νέα εργασία σε µηχανή µε ελάχιστο φορτίο (greedy).

� Άνω φράγµα στο µέγιστο φορτίο:

� Φορτίο µηχανής i πριν δροµολογηθεί εργασία j :

� k µηχανή µε µεγαλύτερο φορτίο

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 25

� k µηχανή µε µεγαλύτερο φορτίο

� wλ τελευταία εργασία στην µηχανή k

1

µηχ. 2µηχ. 1 µηχ. 3

1

1

1

1

1

3

Page 26: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Κάλυψη Συνόλου (Set Cover)

� Σύνολο στοιχείων

� Μη-κενά υποσύνολα του

� Κόστος υποσυνόλων:

� Ζητούµενο: κάλυψη S µε ελάχιστο κόστος.

� Ελάχιστου κόστους συλλογή υποσυνόλων

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 26

� Ελάχιστου κόστους συλλογή υποσυνόλων

� ΝΡ-δύσκολο πρόβληµα.

� Απληστία: καλύτερος προσεγγιστικός αλγόριθµος.

Page 27: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Παράδειγµα

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 27

� S = {1, 2, 3, 4, 5, 6, 7, 8 }

� X1 = {1, 2, 3}, X2 = {2, 3, 4, 8}, X3 = {3, 4, 5}

X4 = {4, 5, 6}, X5 = {2, 3, 5, 6, 7}, X6 = {1, 4, 7, 8}

� Βέλτιστη λύση: X5 , X6

Page 28: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Άπληστος Αλγόριθµος

� Σύνολο U ακάλυπτων στοιχείων (αρχικά U = S).

� Επιλογή υποσυνόλου που ελαχιστοποιεί κόστος ανά

ακάλυπτο στοιχείο που καλύπτει:

� Ενηµέρωση U και συνέχεια ενόσω U δεν είναι κενό.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 28

Page 29: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Αντιπαράδειγµα

� ∆εν πλησιάζει τη βέλτιστη λύση!

� Βέλτιστη λύση έχει κόστος 1+ε.

� Κόστος άπληστου αλγόριθµου:

� Παράδειγµα: χειρότερη περίπτωση άπληστου αλγόριθµου.

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 29

Page 30: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Ανάλυση

� Έστω OPT κόστος βέλτιστης λύσης.

� Αρχή i-οστής επανάλ.: ακάλυπτα στοιχεία(κάθε προηγούµενη επανάληψη καλύπτει ≥ 1 στοιχείο).

� Βέλτιστη καλύπτει στοιχεία µε µέσο κόστος

� Άπληστη επιλογή έχει κόστος / στοιχείο

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 30

� Άπληστη επιλογή έχει κόστος / στοιχείο

� Αθροίζοντας για ≤ n επαναλήψεις, κόστος άπληστου αλγ.

� Λόγος προσέγγισης

� Αποδεικνύεται ότι δεν υπάρχει αλγόριθµος πολυωνυµικού

χρόνου µε καλύτερο λόγο προσέγγισης.

Page 31: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Μη-Προσεγγισιµότητα

� Προβλήµατα στο ΝΡ που προσέγγιση είναι ΝΡ-δύσκολη!

� Περιοδεύον Πωλητής χωρίς τριγωνική ανισότητα, µέγιστη κλίκα / σύνολο ανεξαρτησίας, χρωµατικός αριθµός, …

� Πρόβληµα Περιοδεύοντος Πωλητή χωρίς Τριγωνική

Ανισότητα (ΠΠΠ):

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 31

Ανισότητα (ΠΠΠ):

� n σηµεία και συµµετρικές αποστάσεις (αλλά όχι metric).

� Ζητούµενο: περιοδεία ελάχιστου συνολικού µήκους.

� Για κάθε γ, γ-προσέγγιση ΠΠΠ είναι ΝΡ-δύσκολη[Sahni και Gonzalez, 1976].

� Κάθε γ-προσεγγιστικός αλγόριθµος για ΠΠΠ λύνει πρόβληµα κύκλου Hamilton!

Page 32: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Απόδειξη

� Γράφηµα G(V, E): υπάρχει κύκλος Hamilton στο G;

� Αναγωγή σε γ-προσέγγιση ΠΠΠ (για οποιοδήποτε γ > 1):

� Κορυφές ↔ σηµεία.

� Αποστάσεις:

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 32

� Κύκλος Hamilton στο G ⇒ περιοδεία µήκους |V|

� Όχι κύκλος Hamilton στο G ⇒περιοδεία µήκους ≥ γ|V| + |V| – 1 > γ|V|

� γ-προσεγγιστικός αλγόριθµος για ΠΠΠ:

� Κύκλος Hamilton στο G ⇔ περιοδεία µήκους ≤ γ|V|

� Αποφασίζει (σωστά) αν υπάρχει κύκλος Hamilton στο G.

Page 33: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Επισκόπηση Περιοχής

� Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0.

� Σακίδιο, δροµολόγηση εργασιών, γεωµετρικά προβλήµατα, …

� ∆υναµικός προγραµµατισµός και διακριτοποίηση.

� Σταθερός λόγος προσέγγισης.

� MAX-SNP-δυσκολία: ΝΡ-δύσκολο να υπάρξει σχήµα

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 33

� MAX-SNP-δυσκολία: ΝΡ-δύσκολο να υπάρξει σχήµα

� PCP Θεώρηµα: NP = PCP(log n , 1).

� Προβλήµατα σε µετρικούς χώρους: ΠΠΠ-ΤΑ, facility location, δέντρο Steiner, …

� Προβλήµατα σε γραφήµατα: σύνολο κάλυψης, µέγιστη τοµή, feedback vertex set, …

� Προβλήµατα ικανοποιησιµότητας: Max-k-SAT.

Page 34: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Επισκόπηση Περιοχής

� Τεχνικές για σταθερό λόγο προσέγγισης:

� Τοπική αναζήτηση – µέθοδος απληστίας.

� Primal-dual µέθοδος.

� Dual-fitting µέθοδος.

� Relaxation του Ακέραιο Προγράµµατος σε

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 34

� Relaxation του Ακέραιο Προγράµµατος σε Γραµµικό Πρόγραµµα, επίλυση, και τυχαίο στρογγύλεµα µη-ακέραιων λύσεων.

Page 35: Αλγόριθµοι Προσέγγισης για NP-∆ύσκολα Προβλήµατα...Σχήµατα προσέγγισης: λόγος (1+ε), για κάθε ε > 0. Σακίδιο,

Επισκόπηση Περιοχής

� Λογαριθµικός λόγος προσέγγισης.

� Ελάχιστο σύνολο κάλυψης για σύνολα

� Άπληστος αλγόριθµος (dual-fitting) καλύτερος δυνατός.

� Αραιότερη τοµή, γραµµικές διατάξεις, …

� Εµπέδωση µετρικών χώρων σε απλούστερους χώρους όπου

Συνδυαστική Βελτιστοποίηση Αλγόριθµοι Προσέγγισης 35

� Εµπέδωση µετρικών χώρων σε απλούστερους χώρους όπου προβλήµατα λύνονται ευκολότερα.

� Πολυωνυµικός λόγος προσέγγισης.

� Μέγιστη κλίκα / σύνολο ανεξαρτησίας, χρωµατισµός γραφηµάτων, …

� PCP Θεώρηµα: για κάθε ε > 0, προσέγγιση µέγιστης κλίκας σε λόγο |V|1–ε είναι ΝΡ-δύσκολο πρόβληµα!