CSC 314: Switching Theory Chapter 7, 8 : Completeness 19 December 2008 1 1
Αναγωγές Πολυωνυμικού Χρόνου Ορισμός. f: Σ * Σ * ονομάζεται υπολογίσιμη σε πολυνωνυμικό χρόνο αν υπάρχει μια πολυωνυμικά φραγμένη μηχανή Turing που την υπολογίζει. Έστω L 1, L 2 Σ * δύο γλώσσες. Μια συνάρτηση υπολογίσιμη σε πολυωνυμικό χρόνο ονομάζεται πολυωνυμική αναγωγή από την L 1 στην L 2, L 1 p L 2, αν για κάθε x Σ * ισχύει: x L 1 αν και μόνο αν τ(x) L 2. Συμπέρασμα: HL 2 είναι τουλάχιστον όσο δύσκολη όσο η L 1. Αν μπορούσαμε να λύσουμε την L 2 σε πολυωνυμικό χρόνο, θα μπορούσαμε να λύσουμε και την L 1 σε πολυωνυμικό χρόνο. Αν δεν μπορούμε να λύσουμε την L 1 σε πολυωνυμικό χρόνο, δεν μπορούμε να λύσουμε ούτε την L 2 σε πολυωνυμικό χρόνο. 2
Σχηματικά 3
Παράδειγμα Θεώρημα 1. ΚΥΚΛΟΣ HAMILTON p ΜΗ ΚΑΤΕΥΘΥΝΟΜΕΝΟΣ ΚΥΚΛΟΣ HAMILTON. Σημείωση. Στο πρόβλημα ΚΥΚΛΟΣ HAMILTON το γράφημα μπορεί να είναι κατευθυνόμενο γράφημα. Θέλουμε να βρούμε μια πολυωνυμική αναγωγή από το 1 ο πρόβλημα στο 2 ο πρόβλημα. Από οποιαδήποτε στιγμιότυπο G(V, E), (G:Κατευθυνόμενο γράφημα) του προβλήματος ΚΥΚΛΟΣ HAMILTON Κατασκευάζουμε σε πολυωνυμικό χρόνο ένα στιγμιότυπο τ(g) = G (V,E ) τέτοιο ώστε: To G έχει κύκλο Hamilton και μόνο αν το G έχει Hamilton. 4
Παράδειγμα (συνέχεια) Το G (V, E ) κατασκευάζεται από το G(V, E) ως εξής: V = {v 0, v 1, v 2 : v V} δηλ. για κάθε κόμβο v του V, εισάγουμε 3 κόμβους v 0, v 1, v 2 στο V. Οκόμβοςv 0 θα είναι ο κόμβος εισόδου στον οποίο θα κατευθυνθούν οι ακμές που εισέρχονται στον v. Οκόμβοςv 2 θα είναι ο κόμβος εξόδου από τον οποίο θα ξεκινούν οι ακμές που εξέρχονται από τον v. 5
Παράδειγμα (συνέχεια) Ε = { (v 0, v 1 ), (v 1, v 2 ) : v V} {(u 2, v 0 ) : (u,v) E } δηλ. για κάθε κόμβο v V, συνδέω τους κόμβους v 0, v 1, v 2 V με αυτή τη σειρά (όπως στο σχήμα) και για κάθε ακμή (u,v) E συνδέω τον αντίστοιχο κόμβο εξόδου (u 2 ) με τον αντίστοιχο κόμβο εισόδου (v 0 ). 6
Παράδειγμα (συνέχεια) : είσοδος : έξοδος 7
Παράδειγμα (συνέχεια) Τώρα μένει να δείξουμε ότι o G έχει κατευθυνόμενο Hamilton εάν και μόνο εάν ο G έχει (μη-κατευθυνόμενο) κύκλο Hamilton. Δείχνουμε ότι: 1. Eάν G έχει (μη-κατευθυνόμενο) Hamilton τότε ο G έχει κατευθυνόμενο κύκλο Hamilton. 2. Eάν G έχει κατευθυνόμενο Hamilton τότε ο G έχει (μηκατευθυνόμενο) κύκλο Hamilton. 8
Παράδειγμα (συνέχεια) 1. Eάν G έχει (μη-κατευθυνόμενο) Hamilton τότε ο G έχει κατευθυνόμενο κύκλο Hamilton. Έστω ένας κύκλος C Hamilton (περνά από όλους τους κόμβους μια φορά) στον G. Θεώρησε ένα κόμβο v 0. Ο κύκλοςπερνάαπότονv 0 μέσω μιας ακμής του κύκλου. Η ακμήείναιτηςμορφής(u 2,v 0 )., όπου (u,v) E. Αναγκαστικά, ο κύκλοςμετάτονv 0 πρέπει να περάσει από το κόμβο v 1 μέσω της ακμής (v 0, v 1 ), αλλιώς με κανένα άλλο τρόπο δεν θα μπορεί να περάσει από τον v 1, οπότε δεν θα μπορούσε να καλύψει τον κόμβο v 1. Οπότε ως τώρα υπάρχει το μονοπάτι (u 2,v 0 ), (v 0, v 1 ) στον C. Τώρα ο μόνος τρόπος για να συνεχιστεί ο κύκλος είναι η επόμενη ακμή του να είναι η (v 1, v 2 ). Οπότε ως τώρα υπάρχει το μονοπάτι (u 2,v 0 ), (v 0, v 1 ), (v 1, v 2 ) στον C. 9
Παράδειγμα (συνέχεια) Από τον κόμβο v 2, ο κύκλος πρέπει να συνεχίσει με μια ακμή της μορφής (v 2,w 0 ), όπου (v, w) E, για να συνεχίσει σε άλλο κόμβο. Οπότε, όπως και πριν, οι επόμενες ακμές του κύκλου θα είναι οι (w 0, w 1 ), (w 1, w 2 ). Κατόπιν, όπως και πριν, θα βγεί από τον w 2 μέσω κάποιας ακμής της μορφής (w 2,z 0 ), όπου (w, z) E, γιανασυνεχίσεισεάλλοκόμβο, κ.ο.κ. όσπου στο τέλος θα μια ακμή της μορφής (q 2,v 0 ), όπου (q,v) E και θα ξαναγυρίσει στον κόμβο v 0, παιρνώντας έτσι από όλους τους κόμβους του G Συμπεραίνουμε ότι στο G, υπάρχουν οι ακμές (u, v), (v, w), (w, z), L (q, v). Δηλ. στον G υπάρχει ένας κατευθυνόμενος κύκλος Hamilton. 10
Παράδειγμα (συνέχεια) 1. Eάν G έχει κατευθυνόμενο κύκλο Hamilton τότε ο G έχει (μηκατευθυνόμενο) Hamilton. Έστω ένας κύκλος CHamilton στον G. C={(v 1, v 2, v 3 ), v V } Από τον C θεωρούμε την παρακάτω ακολουθία κόμβων στο G : C={v 10, v 11, v 12, v 20, v 21, v 22, L, v V 0, v V 1, v V 2 } Είναι εύκολο να δούμε το C ορίζει ένα κύκλο Hamilton στο G, δηλ. υπάρχουν οι αντίστοιχες ακμές μεταξύ των κόμβων και ο κύκλος περνά από όλους τους κόμβους του G. Συμπεραίνουμε ότι G ΚΥΚΛΟΣ HAMILTON αν και μόνο αν τ(g)=g ΜΗ ΚΑΤΕΥΘΥΝΟΜΕΝΟΣ ΚΥΚΛΟΣ HAMILTON. Τέλος, παρατηρείστε ότι η τ(g) κατασκευάζεται σε πολυωνυμικό χρόνο. 11
Ιδιότητες Πολυωνυμικών αναγωγών Λήμμα. Έστω L 1, L 2 Σ * δύο γλώσσες. Εάν L 1 p L 2 και L 1 p L 2 τότε L 1 p L 3. 12
ΝP-πληρότητα Ορισμός. Μια γλώσσα L Σ * ονομάζεται NP-πλήρης αν 1. L NP 2. για κάθε γλώσσα L NP, ισχύει L p L. Θεώρημα. Eστω L οποιαδήποτε NP-πλήρης γλώσσα. Τότε P=NP αν και μόνο αν L P. Απόδειξη. 1. Αποδεικνύω ότι αν P = NP τότε L P: αφού L είναι NP-πλήρης ξέρουμε ότι L NP. Αφού P = NP L P. 2. Αποδεικνύω ότι αν L P τότε P = NP: αφού L είναι NP-πλήρης ξέρουμε ότι για κάθε γλώσσα L NP, ισχύει L p L. Αφού η L P, δηλ. λύνεται πολυνωνυμικά (από μια ΝΜΤ) και η L λύνεται πολυωνυμικά. Οπότε P = NP. 13
Συνέπεια. Αν βρούμε ένα ΝΡ-πλήρες πρόβλημα και δείξουμε ότι λύνεται σε πολυωνυμικό χρόνο όλαταπροβλήματαστηνnρ λύνονται σε πολυωνυμικό χρόνο. δεν μπορεί να λυθεί σε πολυωνυμικό χρόνο κανένα πρόβλημα στην NΡ δεν μπορεί να λυθεί σε πολυωνυμικό χρόνο. 14
Υπάρχουν ΝP-πλήρη προβλήματα? Θεώρημα Cook 1971. Το πρόβλημα της ικανοποιησιμότητας SAT είναι ΝP-πλήρες. Απόδειξη. Αποδεικνύουμε τις ιδιότητες 1, 2, του ορισμού της ΝP-πληρότητας. Πολλά ΝΡ-πλήρη προβλήματα! Θεώρημα. Το πρόβλημα 3-SAT είναι ΝΡ-πλήρες. Απόδειξη. Δείχνουμε ότι SAT p 3-SAT αφού το SAT είναι ΝP-πλήρες To 3-SAT είναι ΝΡ-πλήρες. 15
Και άλλα ΝP-πλήρη προβλήματα Θεώρημα. Το πρόβλημα ΜΕΓΙΣΤΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ είναι ΝΡ-πλήρες. Απόδειξη. Δείχνουμε ότι SAT p ΜΕΓΙΣΤΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ. αφού το SAT είναι ΝP-πλήρες To ΜΕΓΙΣΤΟ ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ είναι ΝΡ-πλήρες. 16
Και άλλα ΝP-πλήρη προβλήματα Θεώρημα. Το πρόβλημα ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ είναι ΝΡ-πλήρες. Απόδειξη. Δείχνουμε ότι SAT p ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ. αφού το SAT είναι ΝP-πλήρες To ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ είναι ΝΡ-πλήρες. 17
Και άλλα ΝP-πλήρη προβλήματα Θεώρημα. Το πρόβλημα ΚΥΚΛΟΣ HAMILTON είναι ΝΡ-πλήρες. Απόδειξη. Δείχνουμε ότι ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ p ΚΥΚΛΟΣ HAMILTON. αφού το ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ είναι ΝP-πλήρες To ΚΥΚΛΟΣ HAMILTON. είναι ΝΡ-πλήρες. 18
Και άλλα ΝP-πλήρη προβλήματα Θεώρημα. Το πρόβλημα ΜΗ ΚΑΤΕΥΘΥΝΟΜΕΝΟΣ ΚΥΚΛΟΣ HAMILTON είναι ΝΡ-πλήρες. Απόδειξη. Από το Θεώρημα 1, ξέρουμε ότι ΚΥΚΛΟΣ HAMILTON p ΜΗ ΚΑΤΕΥΘΥΝΟΜΕΝΟΣ ΚΥΚΛΟΣ HAMILTON. αφού το ΚΥΚΛΟΣ HAMILTON είναι ΝP-πλήρες To ΜΗ ΚΑΤΕΥΘΥΝΟΜΕΝΟΣ ΚΥΚΛΟΣ HAMILTON είναι ΝΡπλήρες. 19