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

Σχετικά έγγραφα
Υπολογιστική Πολυπλοκότητα

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

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

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

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

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

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

Κλάση NP, NP-Complete Προβλήματα

Θεωρία Υπολογισμού και Πολυπλοκότητα

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

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

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

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

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

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

Chapter 7, 8 : Time, Space Complexity

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

Μοντελοποίηση προβληµάτων

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 11: Περιορισμοί της Αλγοριθμικής Ισχύος

Θεωρία Υπολογισμού και Πολυπλοκότητα

Εισαγωγικές Έννοιες. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

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

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

4.3 Ορθότητα και Πληρότητα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Ασκήσεις μελέτης της 8 ης διάλεξης

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

Chapter 7, 8 : Time, Space Complexity

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

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

Chapter 7, 8 : Completeness

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

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

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

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

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

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

Chapter 9: NP-Complete Problems

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Branch and Bound. Branch and Bound

CSC 314: Switching Theory

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

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

Εξαντλητική Απαρίθµηση

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

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

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

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

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

min f(x) x R n b j - g j (x) = s j - b j = 0 g j (x) + s j = 0 - b j ) min L(x, s, λ) x R n λ, s R m L x i = 1, 2,, n (1) m L(x, s, λ) = f(x) +

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

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

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

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

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

Γνωριµία. Θεωρία Υπολογισµού: Εισαγωγικά. Αντικείµενο Μαθήµατος. Επικοινωνία.

Βασικά Στοιχεία Πολυπλοκότητας

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Λογικοί πράκτορες. Πράκτορες βασισµένοι στη γνώση

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

Γενικευµένη Simplex Γενικευµένη Simplex

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι έχουμε δει μέχρι τώρα. Ισομορφισμός γράφων: Μία σχέση ισοδυναμίας μεταξύ γράφων.

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

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

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

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Συναρτησιακές Εξαρτήσεις. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

HY118-Διακριτά Μαθηματικά

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Φυλλαδιο 4. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

L A P. w L A f(w) L B (10.1) u := f(w)

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ ΣΗΜΕΙΩΣΕΙΣ #6 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 4

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

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

Θεωρία Αποφάσεων και Βελτιστοποίηση

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

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

Transcript:

Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26

Εισαγωγή Η ϑεωρία πολυπλοκότητας ασχολείται µε την ιεράρχηση των υπολογιστικών προβληµάτων µε ϐάση τη δυσκολία επίλυσής τους. Το πρόβληµα στη ϑεωρητική πληροφορική ορίζεται ανεξάρτητα από τα δεδοµένα εισόδου. εδοµένων n αντικειµένων µε ϐάρη w j, j = 1... n και αξίες p j, j = 1... n Ϲητάµε ένα υποσύνολο αντικειµένων συνολικού ϐάρους το πολύ W που έχουν τη µέγιστη συνολική αξία. Ενα στιγµιότυπο του προβλήµατος είναι το ακόλουθο: εδοµένων 5 αντικειµένων µε ϐάρη 1, 4, 5, 2, 3 και αξίες 3, 4, 7, 2, 5 αντίστοιχα, Ϲητάµε ένα υποσύνολο αντικειµένων συνολικού ϐάρους το πολύ 7 που έχουν τη µέγιστη συνολική αξία. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 2 / 26

Εισαγωγή Η δυσκολία επίλυσης ενός προβλήµατος ορίζεται σε σχέση µε τους υπολογιστικούς πόρους που καταναλώνονται από την καλύτερη γνωστή µέθοδο επίλυσης. Οι υπολογιστικοί πόροι κατά κύριο λόγο συνίστανται από το µέγεθος απαιτούµενης µνήµης, καθώς και από τον απαιτούµενο ασυµπτωτικό χρόνο επίλυσης. Για το λόγο αυτό µας ενδιαφέρει η οριακή (ασυµπτωτική) συµπεριφορά της κατανάλωσης µνήµης και του χρόνου επίλυσης. Μας ενδιαφέρει η συµπεριφορά ενός αλγόριθµου σε ό,τι αφορά την επίλυση των «µεγάλων» στιγµιοτύπων ενός προβλήµατος. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 3 / 26

Εισαγωγή Μελετάµε τη δυσκολία των προβληµάτων από την άποψη του χρόνου εκτέλεσης του ταχύτερου γνωστού αλγόριθµου. Σαν «δύσκολο» ϑα χαρακτηρίζεται ένα πρόβληµα για το οποίο ο καλύτερος γνωστός αλγόριθµος έχει χρόνο εκτέλεσης εκθετικό ως προς το µέγεθος της εισόδου (π.χ. O(2 n )). Σαν «εύκολο» χαρακτηρίζουµε ένα πρόβληµα το οποίο έχει αλγόριθµο πολυωνυµικού χρόνου. Το πρόβληµα του πλανώδιου πωλητή είναι δύσκολο, ενώ το πρόβληµα του µονοπατιού ελάχιστου κόστους είναι εύκολο. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 4 / 26

Οι κλάσεις πολυπλοκότητας P και NP Η ϑεωρία πολυπλοκότητας ταξινοµεί τα προβλήµατα σε κλάσεις (σύνολα) ισοδυναµίας που ορίζουν ότι τα προβλήµατα στην ίδια κλάση έχουν την ίδια δυσκολία. P (Deterministic Polynomial Time) και NP (Non deterministic Polynomial Time). Οι κλάσεις P και NP ορίζονται ως προς προβλήµατα απόφασης, δηλαδή προβλήµατα στα οποία καλούµαστε να απαντήσουµε µια συγκεκριµένη ερώτηση µε ΝΑΙ ή ΟΧΙ. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 5 / 26

Οι κλάσεις πολυπλοκότητας P και NP Η κλάση P περιλαµβάνει όλα εκείνα τα προβλήµατα απόφασης, τα οποία επιλύονται από ένα ντετερµινιστικό αυτόµατο σε πολυωνυµικό χρόνο. Η κλάση NP περιλαµβάνει όλα τα προβλήµατα απόφασης που επιλύονται από ένα µη ντετερµινιστικό αυτόµατο σε πολυωνυµικό χρόνο. Ενας ισοδύναµος ορισµός της κλάσης NP έχει ως εξής: Η κλάση NP περιλαµβάνει όλα τα προβλήµατα απόφασης για τα οποία αν µας δοθεί ένα πιστοποιητικό της απάντησης ΝΑΙ, µπορούµε να επαληθεύσουµε σε πολυωνυµικό χρόνο ότι είναι σωστή. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 6 / 26

Οι κλάσεις πολυπλοκότητας P και NP Τα ντετερµινιστικά αυτόµατα αντιστοιχούν στις µηχανές και στους αλγορίθµους. κάθε ϐήµα υπολογισµού καθορίζεται (αποφασίζεται) πλήρως από το προηγούµενο: διαισθητικά αυτός είναι και ο µόνος τρόπος µε τον οποίο γνωρίζουµε πως να υπολογίζουµε. Τα µη ντετερµινιστικά αυτόµατα έχουν τη δυνατότητα να επιλέγουν το επόµενο ϐήµα τους µέσα από ένα σύνολο δυνατών υπολογιστικών ϐηµάτων, και ανεξάρτητα από το ποιο ήταν το προηγούµενο ϐήµα. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 7 / 26

Οι κλάσεις πολυπλοκότητας P και NP ύο διαφορετικές εκτελέσεις ενός µη ντετερµινιστικού αλγορίθµου δεν αντιστοιχούν αναγκαστικά στην ίδια ακολουθία υπολογιστικών ϐηµάτων. Τα µη ντετερµινιστικά αυτόµατα είναι ένα ϑεωρητικό κατασκεύασµα, που γενικεύει τα ντετερµινιστικά, υπό την έννοια ότι µια διαδοχή ϐηµάτων ενός ντετερµινιστικού αυτοµάτου µπορεί να ανήκει και σε ένα µη ντετερµινιστικό, αλλά το αντίθετο δεν ισχύει. Είναι ϕανερό ότι ένα πιστοποιητικό µπορεί να ϐρεθεί σε πολυωνυµικό χρόνο για όλα τα προβλήµατα της P αφού αυτά επιλύονται σε πολυωνυµικό χρόνο. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 8 / 26

Οι κλάσεις πολυπλοκότητας P και NP Από τα προηγούµενα προκύπτει ότι P NP. Κάποια προβλήµατα είναι πλήρη για µια κλάση ηλαδή την περιγράφουν πλήρως υπό την ακόλουθη έννοια η αποδοτική επίλυση ενός πλήρους προβλήµατος για µια κλάση πολυπλοκότητας ϑα επιφέρει την επίλυση όλων των ισοδύναµων προβληµάτων που ανήκουν στην κλάση αυτή. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 9 / 26

Οι κλάσεις πολυπλοκότητας P και NP Τα NP-πλήρη προβλήµατα είναι «δύσκολα» σύµφωνα µε όσα γνωρίζουµε. Είναι προβλήµατα για τα οποία γνωρίζουµε ότι ανήκουν στην NP, αλλά δεν γνωρίζουµε αν ανήκουν στην P Ο καλύτερος αλγόριθµος που έχουµε για τα προβλήµατα αυτά είναι εκθετικού χρόνου. Η αποδοτική επίλυση ενός από αυτά ϑα επιφέρει την αποδοτική επίλυση όλων. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 10 / 26

Οι κλάσεις πολυπλοκότητας P και NP NP NP-Complete Προβλήµατα Αγνώστου Κατάστασης P Σχήµα: Η κλάση NP: περιλαµβάνει εύκολα προβλήµατα (P NP), προβλήµατα πλήρη για την κλάση (NP-πλήρη), καθώς και προβλήµατα για τα οποία δε γνωρίζουµε πολυωνυµικό αλγόριθµο, αλλά δεν έχουµε αποδείξει ότι είναι πλήρη για την NP. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 11 / 26

Προβλήµατα Απόφασης και NP πληρότητα Ενα πρόβληµα απόφασης ορίζεται από ένα πεπερασµένο σύνολο S, µέσα στο οποίο αναζητείται ένα στοιχείο του που ικανοποιεί µια ιδιότητα P. Το ερώτηµα στο οποίο καλούµαστε να απαντήσουµε είναι αν υπάρχει ένα τέτοιο στοιχείο s S. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 12 / 26

Προβλήµατα Απόφασης και NP πληρότητα Ενα πρόβληµα απόφασης X είναι NP-πλήρες αν: 1 X NP. 2 Η επίλυση κάθε άλλου προβλήµατος απόφασης Π NP ανάγεται σε πολυωνυµικό χρόνο στην επίλυση του X. Αυτό γράφεται σαν: Π P X για κάθε Π NP. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 13 / 26

Προβλήµατα Απόφασης και NP πληρότητα Αν µπορούσαµε να επιλύσουµε το X σε πολυωνυµικό χρόνο, ϑα µπορούσαµε να επιλύσουµε και το Π σε πολυωνυµικό χρόνο, µε την προϋπόθεση ότι η αναγωγή είναι επίσης πολυωνυµικού χρόνου. Η αναγωγή ενός προβλήµατος Π σε ένα πρόβληµα X σηµαίνει ότι κάθε στιγµιότυπο του Π µπορεί να διατυπωθεί σαν στιγµιότυπο του X µε συγκεκριµένους µετασχηµατισµούς (αντιστοιχίες). Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 14 / 26

Το πρόβληµα της ικανοποιησιµότητας Ισως το πιο διάσηµο πρόβληµα απόφασης στην ϑεωρία πολυπλοκότητας είναι το πρόβληµα της ικανοποιησιµότητας (Satisfiability Problem - SAT) ένος τύπου λογικής πρώτης τάξης σε κανονική συζευκτική µορφή (Conjunctive Normal Form - CNF). Ενα παράδειγµα CNF λογικού τύπου: F = (x 1 x 2 x 5 ) (x 2 x 4 x 3 ) ( x 1 x 3 x 5 ) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 15 / 26

Το πρόβληµα της ικανοποιησιµότητας Η ιδιότητα P για κάθε ανάθεση s {true, false} 5 = S ορίζεται σαν η αλήθεια της πρότασης F(s) = true. Αν ϐρούµε s S τέτοιο ώστε F(s ) = true, τότε αποφασίζουµε ότι η F είναι ικανοποιήσιµη. Αν F(s) = false για κάθε s S τότε αποφασίζουµε ότι η F είναι µη ικανοποιήσιµη. Το SAT έιναι το πρώτο πρόβληµα που αποδείχθηκε πλήρες για την κλάση NP. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 16 / 26

Το πρόβληµα της ικανοποιησιµότητας Η εύρεση ενός αλγόριθµου πολυωνυµικού χρόνου για το SAT ϑα σηµάνει την επίλυση σε πολυωνυµικό χρόνο όλων των προβληµάτων της κλάσης NP, P = NP. ε γνωρίζουµε αν υπάρχει πολυωνυµικού χρόνου αλγόριθµος για το SAT. P = NP? Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 17 / 26

Προβλήµατα Συνδυαστικής Βελτιστοποίησης Ενα στιγµιότυπο προβλήµατος ϐελτιστοποίησης ορίζεται από ένα πεπερασµένο χώρο εφικτών λύσεων S και από µια συνάρτηση αποτίµησης των λύσεων f : S R. Μια εφικτή λύση s S του προβλήµατος ικανοποιεί τους περιορισµούς του προβλήµατος. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 18 / 26

Παραδείγµατα Συνδυαστικής Βελτιστοποίησης Στο πρόβληµα του έντρου Επικάλυψης Ελάχιστου Κόστους ενός γράφου G(V, E, W) µε κόστη στις ακµές, το σύνολο S περιέχει όλα τα υποσύνολα ακµών του γράφου που κατασκευάζουν ένα δέντρο. Στο πρόβληµα του σακιδίου Knapsack το σύνολο S αποτελείται από τα υποσύνολα αντικειµένων που «χωράνε» µέσα στο σακίδιο. Στο πρόβληµα του πλανώδιου πωλητή (Travelling Salesman Problem - TSP) το σύνολο S ορίζεται από όλους τους δυνατούς κύκλους του γράφου, οι οποίοι περνούν µία ϕορά από όλους τους κόµβους του γράφου. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 19 / 26

Παραδείγµατα Συνδυαστικής Βελτιστοποίησης Η συνάρτηση f ονοµάζεται αντικειµενική συνάρτηση (objective function), και προσφέρει µια αποτίµηση της κάθε εφικτής λύσης s S. Στα προβλήµατα που αναφέρθηκαν η f δίνει αντίστοιχα: το κόστος του δέντρου επικάλυψης την αξία του υποσυνόλου αντικειµένων το κόστος του κάθε κύκλου. Ζητάµε δηλαδή εφικτή λύση s S τέτοια ώστε: f(s ) = opt s S f(s) Οπου το opt αντικαθίσταται από min ή max ανάλογα µε τον ορισµό του προβλήµατος. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 20 / 26

Προβλήµατα NP δύσκολα Οι κλάσεις P και NP ορίστηκαν σε σχέση µε προβλήµατα απόφασης (ΠΑ). Σε κάθε ΠΣΒ µπορεί να αντιστοιχηθεί ένα ΠΑ. Αντίστροφα, συµβαίνει ένας αλγόριθµος που επιλύει ένα ΠΑ να µπορεί να χρησιµοποιηθεί για την επίλυση του αντίστοιχου ΠΣΒ. Με την εισαγωγή ενός αριθµού k στα δεδοµένα ενός ΠΣΒ εύκολα το µετατρέπουµε σε ΠΑ Ϲητώντας s S τέτοιο ώστε f(s) k. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 21 / 26

Προβλήµατα NP δύσκολα Το ΠΣΒ είναι τουλάχιστον τόσο δύσκολο όσο το αντίστοιχό του ΠΑ. Αντίστροφα, αν έχουµε έναν αλγόριθµο για την επίλυση του ΠΑ, τότε µπορούµε να τον χρησιµοποιήσουµε για την επίλυση του αντίστοιχου ΠΣΒ, χρησιµοποιώντας διχοτοµική αναζήτηση πάνω στο πεδίο τιµών του k. NP-hardness: Ενα πρόβληµα X είναι NP-δύσκολο αν είναι τουλάχιστον τόσο δύσκολο όσο ένα NP-πλήρες πρόβληµα. Ο ορισµός αυτός διαφέρει από την NP-πληρότητα στο ότι αφορά προβλήµατα τα οποία δεν ανήκουν στην κλάση NP. Τα προβλήµατα ϐελτιστοποίησης δεν ανήκουν στην NP διότι δεν είναι προβλήµατα απόφασης. Ενα πρόβληµα X είναι NP-δύσκολο αν για κάθε Π NP ισχύει Π P X και X NP. Αν επιπλέον X NP τότε το X είναι NP-πλήρες. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 22 / 26

Αναγωγές Τα NP-πλήρη και NP-δύσκολα προβλήµατα συνεχίζουν να αντιστέκονται σε οποιαδήποτε προσπάθεια επίλυσης σε πολυωνυµικό χρόνο. Για τα περισσότερα προβλήµατα, για τα οποία δε γνωρίζουµε πολυωνυµικό αλγόριθµο, συµβαίνει να έχει αποδειχθεί η NP-πληρότητά τους. Είναι καλή πρακτική να προσπαθούµε να αποδείξουµε την NP-πληρότητα ενός προβλήµατος όταν έχουµε αποτύχει να ϐρούµε πολυωνυµικού χρόνου αλγόριθµο µετά από εκτεταµένη προσπάθεια (και το αντίστροφο). Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 23 / 26

Αναγωγές Για να αποδείξουµε ότι ένα πρόβληµα X NP είναι NP-πλήρες προσπαθούµε να το ανάγουµε σε πολυωνυµικό χρόνο σε ένα άλλο πρόβληµα Y, για το οποίο γνωρίζουµε ήδη ότι είναι NP-πλήρες. Σχεδιάζουµε δηλαδή έναν αλγοριθµικό µετασχηµατισµό πολυωνυµικού χρόνου των στιγµιοτύπων του Y σε στιγµιότυπα του X. Οι αναγωγές πολυωνυµικού χρόνου έχουν µεταβατική ιδιότητα. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 24 / 26

Αναγωγές Κάθε πρόβληµα Q της NP µετασχηµατίζεται πολυωνυµικά Y µετασχηµατίζεται πολυωνυµικά X Πολυωνυµικός µετασχηµατισµός Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 25 / 26

Αγνώστου Κατάστασης Προβλήµατα Υπάρχουν προβλήµατα της κλάσης NP για τα οποία δε γνωρίζουµε πολυωνυµικού χρόνου αλγόριθµο που τα επιλύει, ενώ δεν έχουµε επίσης απόδειξη της NP-πληρότητάς τους. Ισως το πιο διάσηµο παράδειγµα από αυτά είναι ο ισοµορφισµός δύο γράφων. Είναι εύκολο να δει κανείς ότι το πρόβληµα αυτό ανήκει στο NP: στην περίπτωση ϑετικής απάντησης στο ερώτηµα αυτό µε µια απεικόνιση f σαν πιστοποιητικό µπορούµε να ελέγξουµε την ορθότητα της απάντησης σε πολυωνυµικό O( V(G) 2 ) χρόνο. Ενας δεδοµένος αριθµός n είναι πρώτος ή όχι; Το πρόβληµα αυτό ανήκει στο P όπως αποδείχθηκε πρόσφατα (2002) µετά από δεκαετίες αναζήτησης. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 26 / 26