Professional Documents
Culture Documents
TheoryofComputation NPCompleteness
TheoryofComputation NPCompleteness
N P-πληρότητα
Παναγιώτης Ρουβέλας
28 Ιανουαρίου 2022
1
Πολυωνυμική αναγωγή
Ορισμός
Μία συνάρτηση f : Σ∗ → Σ∗ λέμε ότι είναι υπολογίσιμη σε πολυωνυμικό
χρόνο αν υπάρχει μία πολυωνυμικά φραγμένη μηχανή Turing M που την
υπολογίζει.
Έστω γλώσσες L1 , L2 ⊆ Σ∗ . Πολυωνυμική αναγωγή από την L1 στην L2
ονομάζουμε κάθε υπολογίσιμη σε πολυωνυμικό χρόνο συνάρτηση
τ : Σ∗ → Σ∗ για την οποία ισχύει
x ∈ L1 ⇔ τ (x) ∈ L2 .
2
Παρατηρήσεις
3
Παράδειγμα αναγωγής
(γράφουμε G και σ αντί για τις κωδικοποιήσεις τους, γιατί όπως είπαμε θα
θεωρούμε ότι αυτά ταυτίζονται).
Θα ορίσουμε μία υπολογίσιμη σε πολυωνυμικό χρόνο συνάρτηση τ : L1 → L2
τέτοια ώστε
G ∈ L1 ⇔ τ (G) ∈ L2 .
4
Παράδειγμα αναγωγής
(iii) «κάθε κόμβος εμφανίζεται τουλάχιστον μία φορά στον κύκλο Hamilton»
∧
(xi,1 ∨ xi,2 ∨ · · · ∨ xi,n ).
i∈{1,...,n}
(iv) «κάθε κόμβος εμφανίζεται το πολύ μία φορά στον κύκλο Hamilton»
∧
(¬xi,j ∨ ¬xk,j ).
i,j,k∈{1,...,n}
i̸=k
(v) «αν δύο κόμβοι δεν είναι συνδέονται με ακμή, τότε δεν μπορεί να είναι
διαδοχικοί κόμβοι στον κύκλο Hamilton»
∧
(¬xi,j ∨ ¬xk,j+1 ).
j∈{1,...,n}
(vi ,vk )∈G
/
6
Παράδειγμα αναγωγής
Παρατηρούμε ότι ο τύπος Bool τ (G) έχει συνολικό μήκος O(n3 ), άρα η
κατασκευή του μπορεί να γίνει σε πολυωνυμικό χρόνο. Επομένως, η
συνάρτηση τ : L1 → L2 που αντιστοιχεί κάθε γράφο G στον τύπο τ (G) που
ορίσαμε παραπάνω είναι πολυωνυμικά υπολογίσιμη.
Μένει να δείξουμε ότι G ∈ L1 αν και μόνο αν τ (G) ∈ L2 .
(⇒) Έστω ότι G ∈ L1 . Τότε, ο γράφος G είναι γράφος Hamilton, δηλαδή
περιέχει κάποιον κύκλο Hamilton (vt1 , . . . , vtn ) για κάποια
t1 , . . . , tn ∈ {1, . . . , n}. Έστω αποτίμηση T που ορίζεται έτσι ώστε για κάθε
για κάθε i, j ∈ {1, . . . , n},
T(xi,j ) = ⊤ ⇔ j = ti .
Είναι προφανές ότι η T ικανοποιεί τον τ (G) αφού ικανοποιεί όλες τις
συνθήκες του. Άρα, ο τ (G) είναι ικανοποιήσιμος, δηλαδή τ (G) ∈ L2 .
7
Κύκλος Hamilton
(⇐) Αντίστροφα τώρα, έστω ότι τ (G) ∈ L2 . Τότε, ο τ (G) είναι ικανοποιήσιμος
από κάποια αποτίμηση T.
Έστω vti το μοναδικό στοιχείο του V για το οποίο ισχύει T(xi,ti ) = ⊤ (το ότι
υπάρχει μοναδικό τέτοιο στοιχείο προκύπτει από το ότι η T ικανοποιεί τον
τ (G)). Είναι εύκολο να επαληθευθεί ότι ο (vt1 , . . . , vtn ) είναι κύκλος Hamilton.
8
Σύνθεση πολυωνυμικών αναγωγών
Θεώρημα
Έστω L μία N P-πλήρης γλώσσα. Τότε, P = N P αν και μόνο αν L ∈ P.
11
Ικανοποιησιμότητα
3-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Δεδομένου ενός τύπου Bool σ σε κανονική συζευκτική μορφή, είναι
ικανοποιήσιμος ο σ αν κάθε συνθήκη του σ είναι
12
Ικανοποιησιμότητα
Θεώρημα
Το πρόβλημα 3-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ είναι N P-πλήρες.
στη γλώσσα
13
Ικανοποιησιμότητα
14
Ικανοποιησιμότητα
Θεώρημα
Το πρόβλημα MAX SAT είναι N P-πλήρες.
Απόδειξη. Είναι εύκολο να δειχθεί ότι το πρόβλημα MAX SAT ανήκει στην
κλάση N P. Θα ορίσουμε μία πολυωνυμική αναγωγή από το πρόβλημα
ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ στο πρόβλημα MAX SAT, δηλαδή από τη γλώσσα
L1 = {σ : σ ικανοποιήσιμος τύπος Bool σε κανονική συζευκτική μορφή }
στη γλώσσα
• ΚΥΚΛΟΣ HAMILTON.
• ΠΕΡΙΟΔΕΥΩΝ ΠΩΛΗΤΗΣ.
• ΔΙΑΜΕΡΙΣΗ.
• ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ.
• ΚΛΙΚΑ.
• ΕΠΙΚΑΛΥΨΗ ΜΕ ΚΟΜΒΟΥΣ.
16
Δύο απλές αποδείξεις N P-πληρότητας
Θεώρημα
Το πρόβλημα ΚΛΙΚΑ είναι N P-πλήρες.
Θεώρημα
Το πρόβλημα ΕΠΙΚΑΛΥΨΗ ΜΕ ΚΟΜΒΟΥΣ είναι N P-πλήρες.
ΑΚΡΙΒΗΣ ΕΠΙΚΑΛΥΨΗ
Δεδομένου ενός πεπερασμένου συνόλου U και μίας οικογένειας
υποσυνόλων F του U, υπάρχει C ⊆ F (ακριβής επικάλυψη) τέτοιο ώστε
∪
C = U;
Παράδειγμα
Έστω U = {1, . . . , 8} και F = {{1, 2}, {1, 5, 6}, {3, 4, 7, 8}, {2, 4, 7}}. Το
σύνολο C = {{1, 2}, {1, 5, 6}, {3, 4, 7, 8}} είναι υποσύνολο του F τέτοιο
∪
ώστε C = U.
19
Άλλα παραδείγματα N P-πλήρων προβλημάτων
20