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

Σχετικά έγγραφα
Μη Ντετερμινισμός και NP-Πληρότητα

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

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

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

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

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

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

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

Chapter 9: NP-Complete Problems

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

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

NP-complete problems. IS, 4-Degree IS,CLIQUE, NODE COVER, MAX CUT, MAX BISECTION, BISECTION WIDTH. NP-complete problems 1 / 30

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

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

Chapter 7, 8 : Time, Space Complexity

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

Πεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

Chapter 7, 8 : Time, Space Complexity

Λύσεις 4ης Σειράς Ασκήσεων

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

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

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

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

Φροντιστήριο 11 Λύσεις

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

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

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

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Chapter 7, 8 : Completeness

Βασικές Έννοιες Θεωρίας Γραφημάτων

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Βασικές Έννοιες Θεωρίας Γραφημάτων

Δυναμικός Προγραμματισμός

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

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

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

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

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

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

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

CSC 314: Switching Theory

υναμικός Προγραμματισμός

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

υναμικός Προγραμματισμός

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Μέγιστη Ροή Ελάχιστη Τομή

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

Γράφοι: κατευθυνόμενοι και μη

Δυναμικός Προγραμματισμός

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

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

ILP-Feasibility conp

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

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

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

Κατανεμημένα Συστήματα Ι

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

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

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

Αναζήτηση Κατά Πλάτος

Μέγιστη Ροή Ελάχιστη Τομή

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

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

Μηχανές Turing (T.M) I

Προσεγγιστικοί Αλγόριθμοι

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

Πιθανοτικοί Αλγόριθμοι

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Συντομότερες Διαδρομές

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

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

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

u v 4 w G 2 G 1 u v w x y z 4

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

Transcript:

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

Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική Μηχ. Turing (ΝTM) N (Q, Σ, Δ, q 0, F) Q σύνολο καταστάσεων. Σ αλφάβητο εισόδου και αλφάβητο ταινίας. q 0 Q αρχική κατάσταση. F Q τελική κατάσταση (εστιάζουμε σε YES και NO). σχέση μετάβασης. (κατάσταση q, διαβάζει α) σύνολο ενεργειών (νέα κατάσταση q, γράφει α, κεφαλή μετακινείται L, R ή S). (Αρχική, τελική) διαμόρφωση όπως για DTM. Για κάθε τρέχουσα διαμόρφωση, υπάρχουν καμία ή περισσότερες επιτρεπτές επόμενες διαμορφώσεις όπου μπορεί DTM να μεταβεί! Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 2

Μη Ντετερμινιστικές Μηχανές Turing Υπολογισμός NTM: σχέση - και σχέση - *. - : διαμορφώσεις που προκύπτουν από τρέχουσα σε ένα βήμα. - * : διαμορφώσεις που προκύπτουν σε κάποιο #βημάτων. Υπολογισμός NTM αναπαρίσταται με δέντρο: Ρίζα: αρχική διαμόρφωση (q 0, x). Κόμβοι: όλες οι διαμορφώσεις που μπορεί να προκύψουν από αρχική διαμόρφωση (q 0, x). Απόγονοι κόμβου: όλες οι διαμορφώσεις που προκύπτουν με βάση σχέση μετάβασης Δ. Φύλλα: όλες οι τελικές διαμορφώσεις που προκύπτουν από αρχική. Βαθμός σταθερός! Χβτγ, δυαδικό δέντρο. Υπολογισμός DTM: μονοπάτι! (q 0, x) N N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 3 Y N Y N

Αποδοχή και Απόρριψη NTM N έχει πολλούς κλάδους υπολογισμού («εκδοχές») που μπορεί να καταλήγουν σε διαφορετικό αποτέλεσμα. Αποδέχεται αν τουλάχιστον ένας κλάδος αποδέχεται: «δικτατορία της αποδοχής»! Ν(x) = YES ανν Γλώσσα L NTM-αποκρίσιμη ανν υπάρχει NTM N, x Σ * : όλοι οι κλάδοι της N(x) τερματίζουν, και Γλώσσα L ΝΤΜ-αποδεκτή ανν υπάρχει ΝΤΜ Ν: (q 0, x) Ενδέχεται κλάδοι N(x) να μην τερματίζουν. N Όταν x L, τουλ. ένας τερματίζει σε YES. Όταν x L, όσοι τερματίζουν δίνουν NO. N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 4 Y N Y N

Μη Ντετερμινιστική Χρονική Πολυπλοκότητα Χρονική πολυπλοκότητα NTM N: Αύξουσα συνάρτηση t : N N ώστε για κάθε x, x = n, όλοι οι κλάδοι της Ν(x) έχουν μήκος t(n). Μέγιστο ύψος δέντρου υπολογισμού Ν με είσοδο μήκους n. Μη ντετερμινιστική χρονική πολυπλοκότητα προβλ. Π: Χρονική πολυπλοκότητα «ταχύτερης» ΝTM που λύνει Π. Κλάση πολυπλοκότητας (q 0, x) Όχι ρεαλιστικό μοντέλο, αλλά θεμελιώδες για Θεωρία Πολυπλοκότητας! Χρονική Πολυπλ. = Ύψος Δέντρου N N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 5 Y N Y N

Μη Ντετερμινιστικός Υπολογισμός Ισοδύναμοι τρόποι για μη ντετερμινιστικό υπολογισμό: N(x) «μαντεύει» (πάντα σωστά) κλάδο που καταλήγει σε YES και ακολουθεί μόνο αυτόν (επιβεβαιώνει YES). Επίλυση προβλημάτων από «νοήμονα» όντα. Αναζήτηση x σε πίνακα Α με n στοιχεία: «Μάντεψε» θέση k, και επιβεβαίωσε ότι A[k] = x. Hamilton Cycle: «Μάντεψε» μετάθεση κορυφών και επιβεβαίωσε ότι δίνει HC. k-sat: «Μάντεψε» αποτίμηση και επιβεβαίωσε ότι ικανοποιεί φ. Στο βήμα k, Ν(x) «εκτελεί» / βρίσκεται σε όλες τις διαμορφώσεις σε απόσταση k από αρχική ταυτόχρονα. «Μηχανιστική» προσομοίωση νοημοσύνης. Χρόνος = ύψος δέντρου υπολογισμού. (q 0, x) N N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 6 Y N Y N

Ντετερμινιστική Προσομοίωση Ντετερμινιστική προσομοίωση NTM με εκθετική επιβάρυνση. Προσομοίωση δέντρου υπολογισμού με BFS λογική. Για t = 1, 2,, t( x ), προσομοίωση όλων των κλάδων υπολογισμού N(x) μήκους t. Τερματισμός YES: πρώτος κλάδος που καταλήγει σε YES. Τερματισμός NO: πρώτο t που όλοι οι κλάδοι τερματίζουν σε NO. Μη τερματισμός: κανένας κλάδος σε YES και κάποιος δεν τερματίζει. ΝΤΜ-αποκρίσιμο ανν DTM-αποκρίσιμο. (Θέση Church-Turing) NTM-αποδεκτό ανν DTM-αποδεκτό. (q 0, x) N N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 7 Y N Y N

NTIME και DTIME Ντετερμινιστική προσομοίωση NTM με εκθετική επιβάρυνση. Για t = 1, 2,, t( x ), προσομοίωση όλων των κλάδων υπολογισμού N(x) μήκους t. Τερματισμός YES: πρώτος κλάδος που καταλήγει σε YES. Τερματισμός NO: πρώτο t που όλοι οι κλάδοι τερματίζουν σε NO. Αν NTM χρόνου t(n) και με βαθμό μη ντετερμινισμού d, χρόνος προσομοίωσης: Κατά συνέπεια: (q 0, x) N N N Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 8 Y N Y N

Η Κλάση NP Προβλήματα που λύνονται σε πολυωνυμικό μη ντετερμινιστικό χρόνο: «YES-λύση» μπορεί να «μαντευθεί» σε πολυωνυμικό χρόνο (άρα πολυωνυμικού μήκους) και να επιβεβαιωθεί σε πολυωνυμικό ντετερμινιστικό χρόνο. (k-)sat, κύκλος Hamilton, TSP, Knapsack, MST, Shortest Paths, Max Flow, ανήκουν στην κλάση NP. Δύσκολο να σκεφθείτε πρόβλημα που δεν ανήκει στο ΝP! Κλάση NP κλειστή ως προς ένωση, τομή, και πολυωνυμική αναγωγή. Πιστεύουμε ότι κλάση NP δεν είναι κλειστή ως προς συμπλήρωμα (ασυμμετρία υπέρ αποδοχής). conp: αντίστοιχη κλάση με ασυμμετρία υπέρ απόρριψης. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 9

NP και Συνοπτικά Πιστοποιητικά Σχέση R Σ * Σ * είναι: πολυωνυμικά ισορροπημένη αν πολυωνυμικά αποκρίσιμη αν (x, y) R ελέγχεται (ντετερμινιστικά) σε πολυωνυμικό χρόνο. L NP ανν υπάρχει πολυωνυμικά ισορροπημένη και πολυωνυμικά αποκρίσιμη σχέση R Σ * Σ * ώστε y αποτελεί «σύντομο» και «εύκολο» να ελεγχθεί πιστοποιητικό ότι x L. Αν υπάρχει τέτοια σχέση R, υπάρχει ΝΤΜ Ν: x L, Ν(x) «μαντεύει» πιστοποιητικό y και επιβεβαιώνει ότι (x, y) R σε πολυωνυμικό χρόνο. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 10

NP και Συνοπτικά Πιστοποιητικά L NP ανν υπάρχει πολυωνυμικά ισορροπημένη και πολυωνυμικά αποκρίσιμη σχέση R Σ * Σ * ώστε Αν L NP, θεωρούμε ΝΤΜ Ν που αποφασίζει L. Πιστοποιητικό y αποτελεί κωδικοποίηση μη ντετερμινιστικών επιλογών N(x) που οδηγούν σε YES. y poly( x ) γιατί Ν πολυωνυμικού χρόνου. (x, y) R ελέγχεται πολυωνυμικά ακολουθώντας (μόνο) κλάδο υπολογισμού Ν(x) που κωδικοποιείται από y. (x, y) R ανν ο y-κλάδος N(x) καταλήγει σε YES. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 11

NP και Συνοπτικά Πιστοποιητικά Η κλάση NP περιλαμβάνει προβλήματα απόφασης: Για κάθε YES-στιγμιότυπο, υπάρχει «συνοπτικό» πιστοποιητικό που ελέγχεται «εύκολα» (πολυωνυμικά). Ένα τέτοιο πιστοποιητικό μπορεί να είναι δύσκολο να υπολογισθεί. Δεν απαιτείται κάτι αντίστοιχο για NO-στιγμιότυπα. Κλάση conp περιλαμβάνει προβλήματα απόφασης που έχουν αντίστοιχο πιστοποιητικό για ΝΟ-στιγμιότυπα. Αν πρόβλημα Π NP, πρόβλημα coπ = { x : x Π} conp. Προβλήματα στο Ρ ανήκουν ΝΡ Προβλήματα στο Ρ ανήκουν coνρ Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 12

ΝΡ-Πληρότητα Πρόβλημα Π είναι NP-πλήρες αν Π NP και κάθε πρόβλημα Π NP ανάγεται πολυωνυμικά στο Π (Π P Π). Π είναι από τα δυσκολότερα προβλήματα στο NP (όσον αφορά στον υπολογισμό πολυωνυμικού χρόνου). Π κάποιο NP-πλήρες πρόβλημα: Π P ανν P = NP. Αν P = NP, πολλά σημαντικά προβλήματα ευεπίλυτα! Αν P NP (όπως όλοι πιστεύουν), υπάρχουν προβλήματα στο ΝΡ που δεν λύνονται σε πολυωνυμικό χρόνο! Εξ ορισμού, τα ΝΡ-πλήρη ανήκουν σε αυτή την κατηγορία. P NP- Πλήρη NP Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 13

ΝΡ-Πληρότητα Αντίστοιχα με conp και conp-πλήρη προβλήματα. Έστω προβλήματα Π 1, Π 2 NP ώστε Π 1 P Π 2. Ποιές από τις παρακάτω δηλώσεις αληθεύουν; conp- Πλήρη NP- Πλήρη conp NP P Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 14

SAT είναι NP-Πλήρες Ικανοποιησιμότητα (SAT): Δίνεται λογική πρόταση φ σε CNF. Είναι φ ικανοποιήσιμη; SAT NP. «Μαντεύουμε» ανάθεση τιμών αλήθειας α σε μεταβλητές φ. Ελέγχουμε ότι ανάθεση α ικανοποιεί φ. Θεώρημα Cook (1971): SAT είναι NP-πλήρες. Υπολογισμός οποιασδήποτε NTM πολυωνυμικού χρόνου N με είσοδο x κωδικοποιείται σε CNF πρόταση φ N,x : φ N,x έχει μήκος πολυωνυμικό σε x και N. φ N,x υπολογίζεται σε χρόνο πολυωνυμικό σε x και N. φ N,x είναι ικανοποιήσιμη ανν N(x) = YES. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 15

SAT είναι NP-Πλήρες Έστω NTM Ν p(n)-χρόνου και είσοδος x, x = n. Για κωδικοποίηση N(x), εισάγουμε 3 είδη μεταβλητών: Q[k, t]: N(x) βρίσκεται στην κατάσταση q k την στιγμή t. H[j, t]: κεφαλή βρίσκεται στο κύτταρο j την στιγμή t. S[j, i, t]: κύτταρο j περιέχει σύμβολο s i την στιγμή t. Για κωδικοποίηση N(x), εισάγουμε 7 ομάδες όρων: G 1 : N(x) βρίσκεται σε μία μόνο κατάσταση κάθε στιγμή. G 2 : κεφαλή σε μία μόνο θέση κάθε στιγμή. G 3 : κάθε κύτταρο περιέχει ένα μόνο σύμβολο κάθε στιγμή. G 4 : N(x) ξεκινά από αρχική διαμόρφωση (q 0, x). G 5 : Ν(x) βρίσκεται σε κατάσταση YES την στιγμή p(n). Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 16

SAT είναι NP-Πλήρες Για κωδικοποίηση N(x), εισάγουμε 7 ομάδες όρων: G 6 : για κάθε t, μόνο το σύμβολο στο κύτταρο όπου βρίσκεται η κεφαλή μπορεί να αλλάξει στην επόμενη στιγμή t+1. G 7 : για κάθε t, η διαμόρφωση στην επόμενη στιγμή t+1 προκύπτει από την τρέχουσα διαμόρφωση με εφαρμογή της σχέσης μετάβασης Δ. Τελικά: φ N,x έχει μήκος και κατασκευάζεται σε χρόνο Ο(p 3 (n)). από περιγραφή Ν και είσοδο x. φ N,x είναι ικανοποιήσιμη ανν N(x) = YES. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 17

Αποδείξεις NP-Πληρότητας Απόδειξη ότι πρόβλημα (απόφασης) Π είναι NP-πλήρες: Αποδεικνύουμε ότι Π NP (εύκολο, αλλά απαραίτητο!). Επιλέγουμε (κατάλληλο) γνωστό NP-πλήρες πρόβλημα Π. Ανάγουμε πολυωνυμικά το Π στο Π (Π P Π): Περιγράφουμε κατασκευή στιγμιότυπου R(x) του Π από στιγμιότυπο x του Π. Εξηγούμε ότι R(x) υπολογίζεται σε πολυωνυμικό χρόνο. Αποδεικνύουμε ότι x Π R(x) Π. Αναγωγή με γενίκευση. Π αποτελεί γενίκευση του Π, και προφανώς Π είναι τουλάχιστον τόσο δύσκολο όσο το Π. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 18

Ακολουθία Αναγωγών Subgraph Isomorphism Min Vertex Cover Max Independent Set Max Clique Set Cover Ακέραιος Γραμμικός Προγραμματισμός Κύκλος Hamilton TSP Οποιοδήποτε πρόβλημα στην κλάση NP Cook SAT 3-SAT MAX 2-SAT 3DM 3-χρωματισμός Bin Packing Scheduling Knapsack Subset Sum Partition Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 19

3-SAT είναι NP-Πλήρες 3-SAT: λογική πρόταση φ σε 3-CNF. Είναι φ ικανοποιήσιμη; 3-SAT NP (όπως και SAT). Θδο SAT P 3-SAT. Έστω πρόταση ψ = c 1 c m σε CNF. Κατασκευάζουμε φ ψ σε 3-CNF αντικαθιστώντας κάθε όρο c j ικανοποιήσιμος ανν c j ικανοποιήσιμος. Άρα φ ψ ικανοποιήσιμη ανν ψ ικανοποιήσιμη. Και βέβαια, κατασκευή φ ψ σε πολυωνυμικό χρόνο. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 20

3-SAT(3) είναι NP-Πλήρες 3-SAT(3): στην φ κάθε μεταβλητή εμφανίζεται 3 φορές: Είτε 1 χωρίς άρνηση και 2 με άρνηση, είτε 2 χωρίς άρνηση και 1 με άρνηση. Θδο 3-SAT P 3-SAT(3). Έστω πρόταση ψ = c 1 c m σε 3-CNF. μεταβλητή x που εμφανίζεται k > 3 φορές, αντικαθιστούμε κάθε εμφάνιση x με διαφορετική μεταβλητή x 1, x 2,, x k. Προσθέτουμε όρους που ικανοποιούνται ανν οι x 1, x 2,, x k έχουν ίδια τιμή αλήθειας (εμφανίσεις ίδιας μετ/τής x): Έτσι κατασκευάζουμε 3-SAT(3) στιγμιότυπο ψ : ψ ικανοποιήσιμη ανν ψ ικανοποιήσιμη. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 21

ΜΑΧ 2-SAT είναι NP-Πλήρες ΜΑΧ 2-SAT: (μη ικανοποιήσιμη) φ σε 2-CNF και Κ < #όρων. Υπάρχει ανάθεση τιμών αλήθειας που ικανοποιεί Κ όρους; ΜΑΧ 2-SAT NP. Θδο 3-SAT P MAX 2-SAT. Έστω c i = x y z, w i μετ/τή, και ομάδα C i 10 2-CNF όρων: Ανάθεση ικανοποιεί c i : επιλέγουμε w i, ικανοποιούνται 7 όροι C i. Ανάθεση δεν ικανοποιεί c i : ικανοποιούνται μόνο 6 όροι C i. Έτσι από ψ = c 1 c m σε 3-CNF, κατασκευάζουμε φ ψ = C 1 C m σε 2-CNF σε πολυωνυμικό χρόνο. ψ ικανοποιήσιμη ανν υπάρχει ανάθεση τιμών αλήθειας που ικανοποιεί 7m όρους της φ ψ. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 22

MIS είναι NP-πλήρες Max Independent Set (MIS): Γράφημα G(V, E) και k < V. Έχει G ανεξάρτητο σύνολο με k κορυφές; MIS NP. Θδο 3-SAT P MIS. Έστω ψ = c 1 c m σε 3-CNF. Κατασκευάζουμε G ψ. Ένα «τρίγωνο» t j για κάθε όρο Μια ακμή (x i, x i ) για κάθε ζευγάρι συμπληρωματικών εμφανίσεων μεταβλητής x i. x 2 x 2 x 2 x 2 x 1 x 1 x 3 x 3 x 1 x 3 x 1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 23

MIS είναι NP-πλήρες 3-SAT P MIS (συνέχεια). Έστω ψ = c 1 c m σε 3-CNF. Κατασκευάζουμε G ψ. Ένα «τρίγωνο» t j για κάθε όρο Μια ακμή (x i, x i ) για κάθε ζευγάρι συμπληρωματικών εμφανίσεων μεταβλητής x i. Αν ψ ικανοποιήσιμη, από κάθε «τρίγωνο» t j επιλέγουμε μια κορυφή που αντιστοιχεί σε (κάποιο) αληθές literal όρου c j. Όχι συμπληρωματικά literals ανεξάρτητο σύν. m κορυφών. Αν G ψ έχει ανεξάρτητο σύν. m κορυφών, αυτό έχει μια κορυφή από κάθε «τρίγωνο» t j και όχι «συμπληρωματικές» κορυφές. Θέτουμε αντίστοιχα literals αληθή: ψ ικανοποιήσιμη. ψ ικανοποιήσιμη ανν G ψ έχει ανεξάρτητο συν. m κορυφών. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 24

MIS(4) είναι NP-πλήρες Πρόταση ψ στιγμιότυπο 3-SAT(3): Κάθε μετ/τή εμφανίζεται 3 φορές. Είτε 1 χωρίς άρνηση και 2 με άρνηση, είτε 2 χωρίς άρνηση και 1 με άρνηση. Στο γράφημα G ψ, μέγιστος βαθμός κορυφής = 4. MIS παραμένει NP-πλήρες για γραφήματα με μέγιστο βαθμό 4! Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 25

Vertex Cover, Independent Set, και Clique Min Vertex Cover P Max Independent Set P Max Clique. Vertex cover C σε γράφημα G(V, E) ανν independent set V \ C σε γράφημα G ανν clique V \ C σε συμπληρωματικό γράφημα. Έστω μη κατευθυνόμενο γράφημα G(V, E), V = n. Τα παρακάτω είναι ισοδύναμα: Το G έχει vertex cover k. Το G έχει independent set n k. To συμπληρωματικό έχει clique n k. Min Vertex Cover αποτελεί (απλή) ειδική περίπτωση Ακέραιου Γραμμικού Προγρ. (ILP): Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 26

Set Cover Κάλυμμα Συνόλου (Set Cover): Σύνολο S, υποσύνολα X 1,, X m του S, φυσικός k, 1 < k < m. Υπάρχουν k υποσύνολα που η ένωσή τους είναι το S. Παράδειγμα: «Κάλυψη» του S με k υποσύνολα (από συγκεκριμένα). S = {1, 2, 3, 4, 5, 6, 7, 8 } X 1 = {1, 2, 3} X 2 = {2, 3, 4, 8} X 3 = {3, 4, 5} X 4 = {4, 5, 6} X 5 = {2, 3, 5, 6, 7} X 6 = {1, 4, 7, 8} S Βέλτιστη λύση: X 5, X 6 X 6 X 5 X 4 X 3 X 2 X 1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 27

Set Cover Κάλυμμα Συνόλου (Set Cover): Σύνολο S, υποσύνολα X 1,, X m του S, φυσικός k, 1 < k < m. Υπάρχουν k υποσύνολα που η ένωσή τους είναι το S. Παράδειγμα: «Κάλυψη» του S με k υποσύνολα (από συγκεκριμένα). S = {1, 2, 3, 4, 5, 6, 7, 8 } X 1 = {1, 2, 3} X 2 = {2, 3, 4, 8} X 3 = {3, 4, 5} X 4 = {4, 5, 6} X 5 = {2, 3, 5, 6, 7} X 6 = {1, 4, 7, 8} S Βέλτιστη λύση: X 5, X 6 X 6 X 5 X 4 X 3 X 2 X 1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 28

Set Cover Κάλυμμα Συνόλου (Set Cover): Σύνολο S, υποσύνολα X 1,, X m του S, φυσικός k, 1 < k < m. Υπάρχουν k υποσύνολα που η ένωσή τους είναι το S. «Κάλυψη» του S με k υποσύνολα (από συγκεκριμένα). Set Cover αποτελεί γενίκευση του Vertex Cover: Vertex Cover προκύπτει όταν κάθε στοιχείο e S ανήκει σε (ακριβώς) δύο υποσύνολα X i και X j. S: ακμές γραφήματος με m κορυφές / υποσύνολα. Ακμή e S συνδέει κορυφές / υποσύνολα X i και X j. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 29

Subgraph Isomorphism Subgraph Isomorphism: Γραφήματα G 1 (V 1, E 1 ) και G 2 (V 2, E 2 ), V 1 > V 2. Υπάρχει υπογράφημα του G 1 ισομορφικό με το G 2 ; Δηλ. είναι το G 2 υπογράφημα του G 1 ; Subgraph Isomorphism αποτελεί γενίκευση MIS (Clique): MIS προκύπτει για G 2 ανεξάρτητο σύνολο k κορυφών. Clique προκύπτει για G 2 πλήρες γράφημα k κορυφών. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 30

Ακολουθία Αναγωγών Subgraph Isomorphism Min Vertex Cover Max Independent Set Max Clique Set Cover Ακέραιος Γραμμικός Προγραμματισμός Κύκλος Hamilton TSP Οποιοδήποτε πρόβλημα στην κλάση NP Cook SAT 3-SAT MAX 2-SAT 3DM 3-χρωματισμός Bin Packing Scheduling Knapsack Subset Sum Partition Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 31

3-COL είναι NP-πλήρες 3-χρωματισμός (3-COL): Γράφημα G(V, E). χ(g) = 3; 3-COL NP. Θδο 3-SAT P 3-COL. Έστω ψ = c 1 c m σε 3-CNF. Κατασκευάζουμε G ψ. Κορυφή b και ένα «τρίγωνο» [b, x i, x i ] για κάθε μετ/τή x i. Ένα gadget g j για κάθε όρο Ακμή μεταξύ κάθε literal g j και της αντίστοιχης κορυφής σε b-τρίγωνο. Κορυφή α και «τρίγωνο» [b, α, C j ] με κάθε g j. s j1 s j2 C j Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 32

3-COL είναι NP-πλήρες 3-SAT P 3-COL. x 1 x 2 x 3 Παράδειγμα κατασκευής: b x 1 x 2 x 3 x 1 x 1 s s 12 11 C 1 s 21 s 22 C 2 a Αλγόριθμοι & Πολυπλοκότητα (2017-18) x 2 x 3 x 2 NP-Πληρότητα 33 x 3

3-COL είναι NP-πλήρες Θδο ψ ικανοποιήσιμη ανν χ(g ψ ) = 3. Χβτγ, υποθέτουμε ότι χρ(b) = 2, χρ(α) = 1. Έτσι χ(g ψ ) = 3 ανν χρ(c j ) = 0 για κάθε gadget g j (όρο c j ). Αν ψ ικανοποιήσιμη, χρ(x i ) = 1 και χρ(x i ) = 0 αν x i αληθής, και χρ(x i ) = 0 και χρ(x i ) = 1 αν x i ψευδής (βλ. b-τρίγωνα). Αν όρος c j ικανοποιείται: χρωματίζουμε g j ώστε χρ(c j ) = 0. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 34

3-COL είναι NP-πλήρες Θδο ψ ικανοποιήσιμη ανν χ(g ψ ) = 3. Χβτγ, υποθέτουμε ότι χρ(b) = 2, χρ(α) = 1. Έτσι χ(g ψ ) = 3 ανν χρ(c j ) = 0 για κάθε gadget g j (όρο c j ). Αν χρ(c j ) = 0 για κάθε gadget g j πρέπει τουλ. μία από 3 «εισόδους» g j έχει χρώμα 1 (αντιστοιχεί σε αληθές literal). Θέτουμε x i αληθές αν χρ(x i ) = 1 και χρ(x i ) = 0 και x i ψευδές αν χρ(x i ) = 0 και χρ(x i ) = 1. Έτσι ψ ικανοποιείται, αφού υπάρχει τουλ. ένα αληθές literal σε κάθε όρο c j. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 35

3DM είναι NP-πλήρες Τρισδιάστατο Ταίριασμα (3-Dimensional Matching, 3DM). Ξένα μεταξύ τους σύνολα Β, G, H, B = G = H = n, και σύνολο τριάδων Μ Β G H. Υπάρχει Μ Μ, Μ = n, όπου κάθε στοιχείο των B, G, H εμφανίζεται μία φορά (δηλ. Μ καλύπτει όλα τα στοιχεία). 3DM NP. Θδο 3-SAT(3) P 3DM. Έστω ψ = c 1 c m σε 3-CNF(3). Κατασκευάζουμε Β ψ, G ψ, H ψ, και M ψ. Για κάθε μετ/τή x, 2 «αγόρια», 2 «κορίτσια», 4 «σπίτια», και 4 τριάδες. Τριάδες με h x0, h x2 για x (x αληθής). h x0 Τριάδες με (h x1, h x3 ) για x (x ψευδής). b x0 g x1 h x1 g x0 b x1 h x2 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 36 h x3

3DM είναι NP-πλήρες 3-SAT(3) P 3DM. ψ = c 1 c m σε 3-CNF(3). Κατασκ. Β ψ, G ψ, H ψ, και M ψ. Για κάθε όρο, π.χ. c = x y z, «ζευγάρι» όρου c («αγόρι» b c και «κορίτσι» g c ), και 3 τριάδες: (b c, g c, h x1 ) (ή με h x3 ): επιλογή αν x αληθές. (b c, g c, h y0 ) (ή με h y2 ): επιλογή αν y ψευδές. (b c, g c, h z1 ) (ή με h z3 ): επιλογή αν z αληθές. Περιορισμός στον #εμφανίσεων: «σπίτια» επαρκούν για τριάδες όρων. 4n «σπίτια» και 2n+m «ζευγάρια». 2n m «αζήτητα σπίτια»! 2n m «εύκολα ζευγάρια» που συνδέονται με όλα τα «σπίτια». h x0 b x0 g x1 h x1 g x0 b x1 h x2 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 37 h x3

3DM είναι NP-πλήρες 3-SAT(3) P 3DM. Ακόμη 4 «εύκολα ζευγάρια» (δεν φαίνονται εδώ) που συνδέονται με όλα τα «σπίτια». b c1 g c1 b c2 g c2 b c1 g c1 h x1 h z1 b x0 g x0 b y0 h y1 g y0 b z0 g z0 h x0 h x2 h y0 h y2 h z0 h z2 g x1 b x1 g y1 b y1 g z1 b z1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 38 h x3 h y3 h z3

3DM είναι NP-πλήρες 3-SAT(3) P 3DM. Τα 4 «εύκολα ζευγάρια» (δεν φαίνονται εδώ) θα «ταιριάξουν» με τα «ξεκρέμαστα» σπίτια. b c1 g c1 b c2 g c2 h x1 h z1 b x0 g x0 b y0 h y1 g y0 b z0 g z0 h x0 h x2 h y0 h y2 h z0 h z2 g x1 b x1 g y1 b y1 g z1 b z1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 39 h x3 h y3 h z3

3DM είναι NP-πλήρες Θδο ψ ικανοποιήσιμη ανν υπάρχει 3DM Μ Μ ψ, Μ = 4n. Αν ψ ικανοποιήσιμη: αληθή μετ/τή x, επιλέγουμε 2 x-τριάδες. ψευδή μετ/τή x, επιλέγουμε 2 x-τριάδες (2n). Τουλ. ένα αληθές literal σε κάθε όρο της ψ: τουλ. ένα «ελεύθερο σπίτι» για «ζευγάρι» κάθε όρου (m). «Αζήτητα σπίτια» καλύπτονται από 2n m «εύκολα ζευγάρια». b x0 h x1 g x0 h x0 h x2 g x1 b x1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 40 h x3

3DM είναι NP-πλήρες Θδο ψ ικανοποιήσιμη ανν υπάρχει 3DM Μ Μ ψ, Μ = 4n. Αν υπάρχει 3DM Μ Μ ψ, Μ = 4n: Εστιάζουμε σε 2n+m «δύσκολα ζευγάρια». Επιλέγονται 2n «ζευγάρια» μεταβλητών: μετ/τη x, είτε 2 x-τριάδες, οπότε x αληθής, είτε 2 x-τριάδες, οπότε x ψευδής. h x1 Επιλέγονται m «ζευγάρια» όρων: «Ελεύθερο σπίτι» για κάθε όρο. Ανάθεση τιμών αλήθειας δημιουργεί τουλάχιστον ένα αληθές literal σε κάθε όρο. h x0 b x0 g x0 h x2 Bipartite Matching (2DM) P. g x1 b x1 Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 41 h x3

Subset Sum και Knapsack Subset Sum: Σύνολο φυσικών Α = {w 1,, w n } και W, 0 < W < w(a). Υπάρχει Α Α με Κnapsack αποτελεί γενίκευση Subset Sum. Subset sum προκύπτει όταν για κάθε αντικείμενο i, μέγεθος(i) = αξία(i) (θεωρούμε μέγεθος σακιδίου = W). Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 42

Subset Sum και Partition Partition: Σύνολο φυσικών Α = {w 1,, w n } με άρτιο Υπάρχει Α Α με w(a ) = w(a \ A ); Subset Sum P Partition. Έστω σύνολο Α = {w 1,, w n } και W, 0 < W < w(a). Χβτγ, θεωρούμε ότι W w(a)/2. Σύνολο Β = {w 1,, w n, 2W w(a)} με w(b) = 2W. Υπάρχει Α Α με w(a ) = W ανν υπάρχει Β Β με w(b ) = w(b \ B ) = W. Ένα από τα Β, Β \ Β είναι υποσύνολο του Α. Όμως το Subset Sum αποτελεί γενίκευση Partition. Τελικά Subset Sum P Partition. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 43

Ακολουθία Αναγωγών Subgraph Isomorphism Min Vertex Cover Max Independent Set Max Clique Set Cover Ακέραιος Γραμμικός Προγραμματισμός Κύκλος Hamilton TSP Οποιοδήποτε πρόβλημα στην κλάση NP Cook SAT 3-SAT MAX 2-SAT 3DM 3-χρωματισμός Bin Packing Scheduling Knapsack Subset Sum Partition Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 44

Subset Sum είναι NP-Πλήρες Subset Sum NP. Θδο 3DM P Subset Sum. Έστω B = {b 1,, b n }, G = {g 1,, g n }, H = {h 1,, h n }, και Μ B G H, M = m. Τριάδα t i Μ δυαδική συμβ/ρά b i μήκους 3n με 3 «άσσους». 1 ος «άσσος» σε θέση 1 ως n δηλώνει το «αγόρι». 2 ος «άσσος» σε θέση n+1 ως 2n δηλώνει το «κορίτσι». 3 ος «άσσος» σε θέση 2n+1 ως 3n δηλώνει το «σπίτι». Π.χ. n = 4. (b 2, g 3, h 1 ): 0001 0100 0010 Υπάρχει 3DM Μ Μ, Μ = n, ανν υπάρχει που οι «άσσοι» των καλύπτουν όλες τις 3n θέσεις. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 45

Subset Sum είναι NP-Πλήρες 3DM P Subset Sum. Υπάρχει 3DM Μ Μ, Μ = n, ανν υπάρχει που οι «άσσοι» των καλύπτουν όλες τις 3n θέσεις.... ανν σύνολο Α = {w 1,, w m } με έχει υποσύνολο A Α με w(a) = 2 3n 1 (;). Μπορεί και όχι(!): π.χ. A = { 0011, 0101, 0111 } «Επιπλοκή» λόγω κρατούμενου δυαδικής πρόσθεσης. Λύση: ερμηνεύουμε αριθμούς σε βάση m+1 ώστε πρόσθεση m «άσσων» να μην εμφανίζει κρατούμενο.... ανν σύνολο Α = {w 1,, w m } με έχει υποσύνολο A Α με w(a) = ((m+1) 3n 1)/m. Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 46

Ακολουθία Αναγωγών Subgraph Isomorphism Min Vertex Cover Max Independent Set Max Clique Set Cover Ακέραιος Γραμμικός Προγραμματισμός Κύκλος Hamilton TSP Οποιοδήποτε πρόβλημα στην κλάση NP Cook SAT 3-SAT MAX 2-SAT 3DM 3-χρωματισμός Bin Packing Scheduling Knapsack Subset Sum Partition Αλγόριθμοι & Πολυπλοκότητα (2017-18) NP-Πληρότητα 47