Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών
ΠΕΡΙΕΧΟΜΕΝΟ P και NP προβλήματα Προβλήματα Απόφασης Αναγωγή 2
ΚΑΤΗΓΟΡΙΕΣ ΠΡΟΒΛΗΜΑΤΩΝ Πολυωνυμικά προβλήματα (P) Μη-Αιτιοκρατικά πολυωνυμικά προβλήματα (ΝP) 3
ΠΟΛΥΩΝΥΜΙΚΑ ΠΡΟΒΛΗΜΑΤΑ Προβλήματα που επιλύονται από αλγορίθμους με πολυπλοκότητα χειρότερης περίπτωσης Ο(n k ) για κάποιο φυσικό αριθμό k, όπου n το μέγεθος της εισόδου του προβλήματος. 4
ΜΗ-ΑΙΤΙΟΚΡΑΤΙΚΑ ΠΟΛΥΩΝΥΜΙΚΑ ΠΡΟΒΛΗΜΑΤΑ Προβλήματα για τα οποία υπάρχουν υπερπολυωνυμικοί αλγόριθμοι επίλυσης, δηλαδή αλγόριθμοι πολυπλοκότητας χειρότερης περίπτωσης Ω(n k ) για κάθε φυσικό αριθμό k, όπου n το μέγεθος της εισόδου του προβλήματος (π.χ. 2 n ή n!). Διάσημο ερώτημα στη θεωρητική Πληροφορική: Υπάρχουν πολυωνυμικοί αλγόριθμοι για NP προβλήματα (P=NP); 5
ΕΥΚΟΛΙΑ ΥΛΟΠΟΙΗΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ P ΚΑΙ NP ΠΡΟΒΛΗΜΑΤΑ P: Υλοποιήσιμα, όχι πάντα με λογικό χρόνο εκτέλεσης (π.χ. n 50 ). NP: Μη υλοποιήσιμα, όχι λογικός χρόνος εκτέλεσης. 6
ΠΡΟΒΛΗΜΑΤΑ ΑΠΟΦΑΣΗΣ Ορισμός Προβλήματα απόφασης λέγονται τα προβλήματα με μοναδική έξοδο ένα «ναι» ή ένα «όχι» για κάθε στιγμιότυπο. Τα NP προβλήματα εκφράζονται ως προβλήματα απόφασης. 7
ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΑΠΟΦΑΣΗΣ Ένας μη-αιτιοκρατικός πολυωνυμικός αλγόριθμος λύνει ένα πρόβλημα απόφασης σε δυο φάσεις: Μη-αιτιοκρατικό μέρος: Μαντεύει μια υποψήφια λύση ως βέλτιστη σε πολυωνυμικό χρόνο από μεγάλο αριθμό εφικτών λύσεων, καθώς η εξαντλητική αναζήτηση είναι αδύνατη. Αιτιοκρατικό μέρος: Έλεγχος και παραγωγή απάντησης σε πολυωνυμικό χρόνο. 8
ΟΡΘΟΤΗΤΑ NP ΑΛΓΟΡΙΘΜΟΥ Ορισμός: Για να είναι ορθός ένας NP αλγόριθμος που επιλύει ένα πρόβλημα απόφασης πρέπει για κάθε στιγμιότυπο για το οποίο η απάντηση στο πρόβλημα είναι «ναι» το σύνολο πληροφοριών που μαντεύει ο αλγόριθμος στην πρώτη φάση να είναι τέτοιο που και ο έλεγχος της δεύτερης φάσης να παράγει την απάντηση «ναι». 9
ΤΥΠΙΚΟΣ ΟΡΙΣΜΟΣ NP ΠΡΟΒΛΗΜΑΤΩΝ Ορισμός: Ένα πρόβλημα ανήκει στο σύνολο των NP προβλημάτων όταν υπάρχει ένας μη-αιτιοκρατικός αλγόριθμος που λύνει όλα τα στιγμιότυπα του προβλήματος με απάντηση «ναι» σε πολυωνυμικό χρόνο. Τα προβλήματα που ανήκουν στο P μπορούν να επιλυθούν από NP αλγορίθμους, αρκεί να χρησιμοποιηθεί ο κατάλληλος πολυωνυμικός P NP αλγόριθμος στη δεύτερη φάση του NP αλγορίθμου. Άρα 10
NP-πλήρη ΠΡΟΒΛΗΜΑΤΑ NP-πλήρη προβλήματα λέγονται NP προβλήματα με την εξής ιδιότητα: αν για ένα από αυτά βρεθεί ένας πολυωνυμικός αλγόριθμος που να το λύνει, τότε θα υπάρχει ένας τέτοιος αλγόριθμος και για όλα τα άλλα. 11
ΠΑΡΑΔΕΙΓΜΑ ΠΡΟΒΛΗΜΑΤΟΣ ΑΠΟΦΑΣΗΣ Πρόβλημα Για ένα γράφημα αρκούν k χρώματα για το χρωματισμό των n κορυφών του, ώστε δυο προσκείμενες κορυφές να μην έχουν το ίδιο χρώμα; 12
ΛΥΣΗ Μη-αιτιοκρατική φάση: Μάντεμα ενός χρώματος από το σύνολο χρωμάτων {1,2,,k} για κάθε κορυφή. Αιτιοκρατική φάση: Έλεγχος αν η λύση είναι αποδεκτή. Ο έλεγχος εδώ απαιτεί απλό αλγόριθμο. 13
ΑΝΑΓΩΓΗ Ορισμός: Ένα πρόβλημα απόφασης Π1 ανάγεται σε ένα πρόβλημα απόφασης Π2 αν υπάρχει πολυωνυμικός αλγόριθμος Α με την εξής ιδιότητα: για κάθε στιγμιότυπο ΣΤ1 του Π1 ο Α παράγει ένα στιγμιότυπο ΣΤ2 του Π2 και η απάντηση στο Π2 για το ΣΤ2 είναι «ναι», αν και μόνο αν η απάντηση στο Π1 για το ΣΤ1 είναι «ναι». 14
ΠΑΡΑΔΕΙΓΜΑ ΑΝΑΓΩΓΗΣ ΠΡΟΒΛΗΜΑ ΤΟΥ ΠΛΑΝΟΔΙΟΥ ΠΩΛΗΤΗ (TSP) Πρόβλημα Από μια πόλη βάση ο πωλητής πρέπει να πάει σε n-1 άλλες πόλεις από μια μόνο φορά και να επιστρέψει σε πόλη βάση. Η μετάβαση από μια πόλη σε άλλη είναι εφικτή με κάποιο κόστος. Ποια διαδρομή δίνει το ελάχιστο κόστος; 15
ΑΠΑΝΤΗΣΗ 1. Αναγωγή: Το πρόβλημα ανάγεται στο πρόβλημα της εύρεσης ενός κύκλου Hamilton με ελάχιστο κόστος σε ένα πλήρες γράφημα n κορυφών με κόστη στις πλευρές. 2. Μετασχηματισμός σε πρόβλημα απόφασης: Για το πλήρες γράφημα υπάρχει κύκλος Hamilton με συνολικό κόστος μικρότερο ή ίσο του α; 3. NP αλγόριθμος: Στην πρώτη φάση μαντεύω έναν κύκλο Hamilton, και στη δεύτερη φάση ελέγχω αν το κόστος είναι μικρότερο ή ίσο του α σε χρόνο n. 16
ΧΡΗΜΑΤΟΔΟΤΗΣΗ Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στo πλαίσιo του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Πατρών» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 17
ΣΗΜΕΙΩΜΑ ΙΣΤΟΥΡΙΚΟΥ ΕΚΔΟΣΕΩΝ ΕΡΓΟΥ Το παρόν έργο αποτελεί την έκδοση 1.0. 18
ΣΗΜΕΙΩΜΑ ΑΝΑΦΟΡΑΣ Copyright Πανεπιστήμιο Πατρών, Δημήτριος Κουκόπουλος. «Σχεδίαση και Ανάλυση Αλγορίθμων. ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ». Έκδοση: 1.0. Πάτρα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/culture109/. 19
ΣΗΜΕΙΩΜΑ ΑΔΕΙΟΔΟΤΗΣΗΣ Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 20
ΔΙΑΤΗΡΗΣΗ ΣΗΜΕΙΩΜΑΤΩΝ Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 21