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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 9: NP-Complete Problems

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

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

Chapter 7, 8 : Completeness

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

Chapter 7, 8 : Time, Space Complexity

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

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

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

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

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

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

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

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

βασικές έννοιες (τόμος Β)

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

Σχεδίαση και Ανάλυση Αλγορίθμων

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

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

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

CSC 314: Switching Theory

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

Ακέραιος Γραµµικός Προγραµµατισµός

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

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Ακέραιος Γραµµικός Προγραµµατισµός

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

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

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

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

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

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

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

Chapter 7, 8 : Time, Space Complexity

Θεωρία Γραφημάτων 5η Διάλεξη

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

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

t M (w) T ( w ) O( n) = O(n 2 )

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

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

Σχεδίαση & Ανάλυση Αλγορίθμων

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

Διάλεξη 7: X Y Σχήμα 7.2: Παράδειγμα για το Πόρισμα 7.2, όπου: 1 = {1, 2, 5}, 2 = {1, 2, 3}, 3 = {4}, 4 = {1, 3, 4}. Θ

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

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

w S n lim (n 1)! = x(x + q)(x + q + q 2 ) (x + q + q q n 1 ),

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Δυσεπίλυτα Προβλήματα σε Γραφήματα και Παίγνια

q(g \ S ) = q(g \ S) S + d = S.

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Μη γράφετε στο πίσω μέρος της σελίδας

Ορατότητα σε απλά πολύγωνα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Transcript:

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

Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση f: Σ 1 * Σ 2 * τέτοια ώστε 1. η f μπορεί να υπλογιστεί σε πολυωνυμικό χρόνο από αιτιοκρατική μηχανή Turing και 2. x Σ 1 *, x L 1 ανν f(x) L 2. Συμβολισμός: L 1 L 2

Πολυωνυμικός μετασχηματισμός Ιδιότητες Εάν L 1 L 2 τότε L 2 Ρ L 1 Ρ. Εάν L 1 L 2 και L 2 L 3 τότε L 1 L 3. Εάν L 1 L 2 και L 2 L 1 τότε λέμε ότι οι L 1, L 2 είναι πολυωνυμικά ισοδύναμες (polynomial equivalent).

ΝΡ-πλήρη προβλήματα Ορισμός Ένα πρόβλημα Π 1 είναι ΝΡ-πλήρες ανν 1. Π 1 ΝΡ 2. Π ΝΡ, Π Π 1.

Το θεώρημα του Cook Satisfiability (SAT) Δίδεται μια λογική έκφραση σε μορφή CNF (conjunctive normal form). Υπάρχει ανάθεση τιμών αλήθειας στις μεταβλητές της έκφρασης ώστε αυτή να ικανοποιείται (δηλ., να λαμβάνει τιμή αλήθειας true); clauses, μεταβλητές (x, x ), litteral

Το θεώρημα του Cook Θεώρημα Το πρόβλημα SAT είναι ΝΡ-πλήρες. Βασική Ιδέα της Απόδειξης Η ιδέα είναι να εκφραστεί η λειτουργία μιας οποιασδήποτε Μηχανής Turing M με μια λογική έκφραση Β σε μορφή CNF (με μέγεθος πολυωνυμικό στο μέγεθος της εισόδου της Μ). H M αποδέχεται ανν η Β ικανοποιείται.

Το θεώρημα του Cook Απόδειξη 1. SAT NP. 2. Έστω Π ΝΡ πολυωνυμικού χρόνου Μηχανή Turing M που επιλύει το Π και έστω: K = { q 0, q 1, q 2,, q r } όπου q 0 αρχική, q 1 αποδοχή, q 2 απόρριψη Γ = { s 0, s 1,, s v } όπου s 0 κενό τετράγωνο όπου r, v σταθερές και time M (n) p(n). Θα δείξουμε ότι Π SAT.

Το θεώρημα του Cook Απόδειξη (συνέχεια) Μεταβλητές: Q(i,k), 0 i p(n), 0 k r: τη χρον. στιγμή i, η Μ είναι στην κατάσταση q k H(i,j), 0 i p(n), -p(n) j p(n): τη χρον. στιγμή i, η κεφαλή της Μ είναι στο τετράγωνο j S(i,j,k), 0 i p(n), -p(n) j p(n), 0 k v: τη χρον. στιγμή i, το τετράγωνο j καταχωρεί το σύμβολο s k

Το θεώρημα του Cook Απόδειξη (συνέχεια) Clauses: 1. Σε οποιαδήποτε στιγμή i (0 i p(n)), η Μ βρίσκεται σε ακριβώς 1 κατάσταση: Q(i,0) Q(i,1) Q(i,r) {σε κάποια} not(q(i,j)) not(q(i,j )) {όχι σε 2: Q(i,j) not(q(i,j ))} 2. Όμοια για H(i,j) 3. Όμοια για S(i,j,k)

Το θεώρημα του Cook Απόδειξη (συνέχεια) Clauses (συνέχεια): 4. Χρονική στιγμή 0: Q(0,0) {αρχικά, στην κατάσταση q 0 } H(0,0) {αρχικά, η κεφαλή στο τετράγωνο 0} S(0,0,k 1 ) T(0,1,k 2 ) T(0,n-1,k n ) {είσοδος w} {όπου w = s k1 s k2 s kn } S(0,j,0) -p(n) j < 0 και n j p(n) {όλα τα υπόλοιπα τετράγωνα κενά}

Το θεώρημα του Cook Απόδειξη (συνέχεια) Clauses (συνέχεια): 5. Αποδοχή: Q(p(n),1) {τελικά, στην κατάσταση q 1 }

Το θεώρημα του Cook Απόδειξη (συνέχεια) Clauses (συνέχεια): 6. Μεταβάσεις: μετάβαση (q k,s t ) (q k,s t,δ): not(q(i,k)) not(h(i,j)) not(s(i,j,t)) Q(i+1,k ) not(q(i,k)) not(h(i,j)) not(s(i,j,t)) S(i+1,j,t ) not(q(i,k)) not(h(i,j)) not(s(i,j,t)) H(i+1,j+Δ) 0 i p(n) και -p(n) j p(n). Σημείωση: για q k {q Y, q N }, με k = k, t = t, Δ = 0.

Το θεώρημα του Cook Απόδειξη (συνέχεια) Αποδεικνύεται ότι η CNF λογική έκφραση που προκύπτει ικανοποιείται ανν η μηχανή Turing Μ αποδέχεται την είσοδο w. Πρέπει επίσης να δείξουμε ότι η λογική έκφραση που προκύπτει έχει μέγεθος πολυωνυμικό στο μέγεθος n της εισόδου w.

Το θεώρημα του Cook Απόδειξη (συνέχεια) Λογική έκφραση πολυωνυμικού μέγεθος στο n. 1. (p(n)+1) [1 (r+1) + r(r+1)/2 2] Θ(p(n)) 2. (p(n)+1) [1 (2 p(n)+1) + (2 p(n)+1) p(n) 2] Θ(p 3 (n)) 3. (p(n)+1) (2 p(n)+1) [1 (v+1) + v(v+1)/2 2] Θ(p 2 (n)) 4. 1 1 + 1 1 + (2 p(n)+1) 1 Θ(p(n)) 5. 1 1 Θ(1) 6. 3 (p(n)+1) (2 p(n)+1) (πλήθος μεταβάσεων) 4 (πλήθος μεταβάσεων (r+1) 2 (v+1) 2 2) Θ(p 2 (n))

ΝΡ-πλήρη προβλήματα Εναλλακτικός (και πιο χρήσιμος) Ορισμός Ένα πρόβλημα Π 1 είναι ΝΡ-πλήρες ανν 1. Π 1 ΝΡ 2. ΝΡ-πλήρες πρόβλημα Π: Π Π 1 (το Π ανάγεται στο Π 1). Απόδειξη Αφού Π ΝΡ-πλήρες, Π ΝΡ: Π Π. Επιπλέον καθώς Π Π 1 Π ΝΡ: Π Π 1.

ΝΡ-πλήρη προβλήματα 3-SAT Δίδεται μια λογική έκφραση σε μορφή CNF με clauses με ακριβώς 3 litterals. Υπάρχει ανάθεση τιμών αλήθειας στις μεταβλητές της έκφρασης ώστε αυτή να ικανοποιείται; 3-διάστατο ταίριασμα (3DM) Δίδονται 3 σύνολα Α, Β, C με ίδιο πληθάριθμο k και σύνολο τριάδων Τ Α Β C. Υπάρχει υποσύνολο του Τ με k τριάδες έτσι ώστε σε αυτές να εμφανίζεται κάθε στοιχείο του Α Β C;

ΝΡ-πλήρη προβλήματα Κορυφές-Κάλυμμα (Vertex Cover) Δίδεται γράφημα G και ακέραιος B. Υπάρχει σύνολο V από Β κορυφές: κάθε ακμή του G έχει (τουλάχιστον) το ένα άκρο της στο V ; { Β} Κλίκα (Clique) Δίδεται γράφημα G και ακέραιος B. Υπάρχει επαγόμενη κλίκα με μέγεθος = Β; { Β} Ανεξάρτητο Σύνολο (Independent Set) Δίδεται γράφημα G και ακέραιος B. Υπάρχει ανεξάρτητο σύνολο με μέγεθος = Β; { Β}

ΝΡ-πλήρη προβλήματα Κύκλος Hamilton (Rudrata) Δίδεται γράφημα G. Υπάρχει κύκλος Hamilton στο G (δηλ., κύκλος που περνάει από κάθε κορυφή ακριβώς μία φορά); Πρόβλημα περιοδεύοντος πωλητή (TSP) Δίδεται (πλήρες) γράφημα G με βάρη στις ακμές και φράγμα Β. Υπάρχει κύκλος στο G που περνάει από κάθε κορυφή ακριβώς μία φορά με συνολικό βάρος = Β; { Β}

Εύκολα-Δύσκολα προβλήματα Δύσκολα προβλήματα (ΝΡ-πλήρη) Εύκολα προβλήματα (στο Ρ) 3SAT TSP Μεγαλύτερη Διαδρομή 3DM Ανεξάρτητο Σύνολο Ακέραιος Γραμμικός Προγραμματισμός Διαδρομή Hamilton (Rudrata) Ισορροπημένη Τομή 2SAT Ελάχιστο Συνδετικό Δένδρο Συντομότερη Διαδομή 2D Ταίριασμα Ανεξάρτητο Σύνολο σε Δένδρα Γραμμικός Προγραμματισμός Διαδρομή Euler Ελάχιστη Τομή

ΝΡ-πλήρη προβλήματα Αναγωγές SAT 3SAT 3SAT Vertex Cover Vertex Cover Ανεξάρτητο Σύνολο Κλίκα Vertex Cover κύκλος Hamilton TSP 3SAT 3DM

Προσεγγιστικοί Αλγόριθμοι Κορυφές-κάλυμμα (vertex cover) 1. Επίλεξε κορυφή γειτονική στις περισσότερες ακάλυπτες ακμές, και επανάλαβε μέχρι να καλυφθούν όλες οι ακμές. Όχι σταθερός λόγος προσέγγισης 2. Υπολόγισε ένα μέγιστο ταίριασμα Μ. Κορυφές-κάλυμμα = κορυφές στο ταίριασμα Μ. Λόγος προσέγγισης = 2