Professional Documents
Culture Documents
TheoryofComputation Complexity
TheoryofComputation Complexity
Υπολογιστική πολυπλοκότητα
Παναγιώτης Ρουβέλας
28 Ιανουαρίου 2022
1
Η κλάση P
Ορισμός
Μία μηχανή Turing M = (K, Σ, δ, s, H) ονομάζεται πολυωνυμικά φραγμένη
αν υπάρχει πολυώνυμο p(n) τέτοιο ώστε να ισχύει το εξής: για κάθε είσοδο
w μήκους n, δεν υπάρχει συνολική κατάσταση C τέτοια ώστε
p(n)+1
(s, ▷⊔w) ⊢M C.
Παρατήρηση
Η κλάση P περιλαμβάνει στην ουσία τα προβλήματα (αποφασισιμότητας)
που επιδέχονται πρακτικά εφικτή επίλυση.
2
Η κλάση P
Θεώρημα
Η κλάση P είναι κλειστή ως προς το συμπλήρωμα.
3
Η κλάση P
Θεώρημα
Η γλώσσα
Απόδειξη (συν.). Γνωρίζουμε ότι υπάρχει κάποιο n0 έτσι ώστε για κάθε
n ≥ n0 , p(n) ≤ 2n . Μπορούμε επίσης να υποθέσουμε ότι |«M1 »| ≥ n0
(διαφορετικά απλά προσθέτουμε στην M1 άχρηστες καταστάσεις).
Υπάρχουν δύο πιθανές περιπτώσεις. Είτε η M1 δέχεται την «M1 » είτε την
απορρίπτει. Θα εξετάσουμε την πρώτη περίπτωση και θα οδηγηθούμε σε
άτοπο (ανάλογα δουλεύουμε και στη δεύτερη).
Έστω ότι η M1 δέχεται την «M1 ». Αφού η M1 αποφασίζει την E1 , θα πρέπει να
μην δέχεται την «M1 » σε p(|«M1 »|) το πολύ βήματα. Όμως, η M1 τερματίζει
σε p(|«M1 »|) ≤ 2|«M1 »| το πολύ βήματα. Άρα, η M1 θα πρέπει να απορρίπτει
την «M1 », άτοπο. Συνεπώς, E ∈ / P.
5
Προβλήματα
Γλώσσες και προβλήματα
Υπάρχουν δύο βασικές απλοποιήσεις τις οποίες θα κάνουμε κάθε φορά που
μελετάμε ένα συγκεκριμένο πρόβλημα ως προς την πολυπλοκότητα του
7
Παρατηρήσεις πάνω στον υπολογισμό πολυπλοκότητας
8
Συνεκτικότητα
9
Γράφοι Euler
Ένας γράφος που περιέχει τέτοιον κύκλο ονομάζεται γράφος Euler. Ποιοι
γράφοι, όμως, είναι γράφοι Euler; Στους παρακάτω δύο γράφους, ο
αριστερά είναι γράφος Euler ενώ ο δεξιά δεν είναι.
10
Γράφοι Euler
Αποδεικνύεται ότι
Θεώρημα
Ένας γράφος G είναι γράφος Euler αν και μόνο αν ικανοποιεί τα εξής:
11
Γράφοι Hamilton
13
Περιοδεύων πωλητής
Παρατήρηση
Το τέχνασμα αυτό θα το χρησιμοποιούμε συχνά για να μετατρέπουμε
προβλήματα μεγιστοποίησης στην κλασική μορφή προβλημάτων που
επιδέχονται απάντησης ναι ή όχι.
14
Περιοδεύων πωλητής
ΠΕΡΙΟΔΕΥΩΝ ΠΩΛΗΤΗΣ
Δεδομένων ενός φυσικού n ≥ 2, ενός n × n πίνακα (dij ), και ενός φυσικού
B, υπάρχει συνάρτηση π : {1, . . . , n} → {1, . . . , n} έτσι ώστε
15
Ανεξάρτητο σύνολο και κλίκα
ΑΝΕΞΑΡΤΗΤΟ ΣΥΝΟΛΟ
Δεδομένων ενός μη κατευθυνόμενου γράφου G και ενός φυσικού K ≥ 2,
υπάρχει C ⊆ V (ανεξάρτητο σύνολο) με |C| ≥ K τέτοιο ώστε για κάθε
vi , vj ∈ C, να μην υπάρχει ακμή μεταξύ των vi και vj ;
ΚΛΙΚΑ
Δεδομένων ενός μη κατευθυνόμενου γράφου G και ενός φυσικού K ≥ 2,
υπάρχει C ⊆ V (κλίκα) με |C| ≥ K τέτοιο ώστε για κάθε vi , vj ∈ C, να υπάρχει
ακμή μεταξύ των vi και vj ;
16
Επικάλυψη με κόμβους
17
Διαμερίσεις
Παράδειγμα
Το σύνολο {1, 3, 4, 7, 10, 15} μπορεί να διαμεριστεί σε δύο σύνολα {3, 7, 10}
και {1, 4, 15} έτσι ώστε 3 + 7 + 10 = 1 + 4 + 15. Το σύνολο {2, 4, 6, 8, 11},
όπως και κάθε σύνολο με άθροισμα αριθμών περιττό αριθμό, δεν μπορεί
να διαμεριστεί σε δύο τέτοια σύνολα.
18
Διαμερίσεις
ΜΟΝΑΔΙΑΙΑ ΔΙΑΜΕΡΙΣΗ
Δεδομένων φυσικών a1 , . . . , an σε μοναδιαία μορφή (δηλαδή το n
κωδικοποιείται ως 1 . . 1}), υπάρχει P ⊆ {1, . . . , n} έτσι ώστε
| .{z
n
Σi∈P ai = Σi∈P
/ ai ;
21
Λογική Bool
Παράδειγμα
Οι εκφράσεις ((x1 ∧ x2 ) ∨ (¬x3 )) και (¬(x2 → x1 )) ↔ x4 ) είναι τύποι Bool,
ενώ οι x1 ∨ x2 ∧ x3 και ¬x1 ¬ ∨ x2 δεν είναι.
22
Ικανοποιησιμότητα
Λέμε ότι η T ικανοποιεί έναν τύπο Bool σ αν T(σ) = ⊤. Λέμε ότι ένας τύπος
Bool είναι ικανοποιήσιμος αν υπάρχει αποτίμηση που ικανοποιεί τον τύπο
αυτό.
23
Παράδειγμα
Δύο τύποι Bool σ και τ θα λέμε ότι είναι λογικά ισοδύναμοι (θα γράφουμε
σ |==| τ ) αν για κάθε αποτίμηση T, ισχύει T(σ) = T(τ ).
Μερικές βασικές λογικές ισοδυναμίες είναι οι εξής:
25
Απλοποίηση συμβολισμού
¬σ ∨ τ ∨ ρ → σ ∨ ρ
αντί για
((((¬σ) ∨ τ ) ∨ ρ) → (σ ∨ ρ)).
26
Ικανοποιησιμότητα
Ένα τύπος Bool θα λέμε ότι είναι σε κανονική συζευκτική μορφή αν είναι της
μορφής σ1 ∧ · · · ∧ σn , όπου κάθε σi είναι μία διάζευξη αποτελούμενη από
προτασιακές μεταβλητές και αρνήσεις προτασιακών μεταβλητών.
Για παράδειγμα, ο τύπος x1 ∧ (x2 ∨ ¬x1 ) ∧ (x1 ∨ ¬x3 ) είναι σε κανονική
συζευκτική μορφή.
Αποδεικνύεται ότι κάθε τύπος Bool είναι λογικά ισοδύναμος με κάποιον
τύπο σε κανονική συζευκτική μορφή.
Μπορούμε πλέον να διατυπώσουμε το εξής δομικό πρόβλημα για τη Θεωρία
πολυπλοκότητας.
ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Δεδομένου ενός τύπου Bool σ σε κανονική συζευκτική μορφή, είναι ο σ
ικανοποιήσιμος;
27
Ικανοποιησιμότητα
σ1 ∧ · · · ∧ σn ,
όπου κάθε σi είναι της μορφής τi,1 ∨ · · · ∨ τi,ki και κάθε τi,j είναι προτασιακή
μεταβλητή ή άρνηση προτασιακής μεταβλητής. Τους τύπους σ1 , . . . , σn θα
τους καλούμε συνθήκες του ρ. Παρατηρούμε ότι ο ρ είναι ικανοποιήσιμος αν
και μόνο αν υπάρχει αποτίμηση που ικανοποιεί κάθε συνθήκη του ρ. Κάθε
συνθήκη σi του ρ ικανοποιείται αν και μόνο αν ικανοποιείται τουλάχιστον
ένας από τους τύπους τi,1 , . . . , τi,ki .
28
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Δεδομένου ενός τύπου Bool σ σε κανονική συζευκτική μορφή, είναι
ικανοποιήσιμος ο σ αν κάθε συνθήκη του σ είναι
29
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
30
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Ας υποθέσουμε ότι υπάρχει συνθήκη του σ που δεν είναι διάζευξη. Έστω xi η
μοναδική προτασιακή μεταβλητή που εμφανίζεται σε μία τέτοια συνθήκη.
Θα περιγράψουμε πως μπορούμε να εκκαθαρίσουμε την xi στον σ. Έστω
πρώτα ότι η συνθήκη αυτή δεν περιέχει άρνηση, δηλαδή είναι η xi (στο
παράδειγμα μας x1 ). Για να υπάρχει αποτίμηση T που ικανοποιεί τον σ, θα
πρέπει T(xi ) = ⊤. Αν υπάρχει συνθήκη ¬xi , τότε προφανώς ο σ δεν είναι
ικανοποιήσιμος (λέμε ότι η εκκαθάριση απέτυχε), ενώ αν δεν υπάρχει, τότε
διαγράφουμε κάθε συνθήκη του σ που είναι διάζευξη του xi με κάποιον άλλο
τύπο (αυτές ικανοποιούνται από την T), και επίσης διαγράφουμε και τους ¬xi
από κάθε συνθήκη του σ (αφού ο ¬xi δεν ικανοποιείται).
Στο παράδειγμα μας, αυτό σημαίνει ότι μετατρέπουμε τον σ σε
31
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Στην περίπτωση που η συνθήκη που δεν είναι διάζευξη δύο τύπων είναι η
άρνηση ¬xi , δουλεύουμε αντίστοιχα. Συγκεκριμένα, διαγράφουμε αυτή τη
φορά κάθε συνθήκη που είναι διάζευξη του xi με κάποιον άλλο τύπο, και
διαγράφουμε και τους xi από κάθε συνθήκη του σ.
Στο παράδειγμα μας, επομένως, στο επόμενο βήμα εκκαθαρίζουμε την x2
μετατρέποντας τον τύπο
σε
(x3 ∨ ¬x4 ) ∧ (x4 ∨ ¬x3 ).
32
2-ΙΚΑΝΟΠΟΙΗΣΙΜΟΤΗΤΑ
Ας δούμε τώρα τι συμβαίνει στην περίπτωση που κάθε συνθήκη του σ είναι
διάζευξη δύο τύπων. Για παράδειγμα στον τύπο
(x3 ∨ ¬x4 ) ∧ (x4 ∨ ¬x3 ).
34
Η κλάση N P
Η ισχύς του μη ντετερμινισμού
35
Η κλάση N P
Ορισμός
Μία μη ντετερμινιστική μηχανή Turing M = (K, Σ, ∆, H) ονομάζεται
πολυωνυμικά φραγμένη αν υπάρχει πολυώνυμο p(n) τέτοιο ώστε για κάθε
είσοδο w μεγέθους n, να μην υπάρχει συνολική κατάσταση C της M για την
οποία
p(n)+1
(s, ▷⊔w) ⊢M C,
δηλαδή η M χρειάζεται το πολύ p(n) βήματα για να τερματίσει. Ορίζουμε
N P να είναι η κλάση όλων των γλωσσών που αποφασίζονται από
πολυωνυμικά φραγμένες μη ντετερμινιστικές μηχανές Turing.
36
Προβλήματα
38
Πιστοποιητικά
39
Πιστοποιητικά
Ορισμός
/ Σ. Έστω γλώσσα L′ ⊆ Σ∗ ;Σ∗ . Λέμε ότι η
Έστω Σ αλφάβητο, και έστω ότι ; ∈
′
L είναι πολυωνυμικά ισορροπημένη αν υπάρχει πολυώνυμο p(n) έτσι ώστε
40
Πιστοποιητικά
Θεώρημα
Έστω L ⊆ Σ∗ γλώσσα όπου ; ∈ / Σ και |Σ| ≥ 2. Τότε, L ∈ N P αν και μόνο αν
υπάρχει μία πολυωνυμικά ισορροπημένη γλώσσα L′ ⊆ Σ∗ ; Σ∗ τέτοια ώστε
L′ ∈ P και L = {x : υπάρχει y ∈ Σ∗ έτσι ώστε x; y ∈ L′ }.
Ορισμός
Μία μηχανή Turing M = (K, Σ, δ, H) ονομάζεται εκθετικά φραγμένη αν
υπάρχει πολυώνυμο p(n) τέτοιο ώστε για κάθε είσοδο x μεγέθους n, να
μην υπάρχει συνολική κατάσταση C της M για την οποία
p(n)
(s, ▷⊔x) ⊢2M +1
C,
42
Σχέση N P και EX P
Θεώρημα
N P ⊆ EX P.
Θυμίζουμε ότι για κάθε συνολική κατάσταση της M, υπάρχουν το πολύ r στο
πλήθος συνολικές καταστάσεις στις οποίες μπορεί να μεταβεί σε ένα βήμα. Η
M′ προσομοιώνει σταδιακά όλους τους υπολογισμούς της M ξεκινώντας από
αυτούς με μήκος 1, μετά προσομοιώνει αυτούς που έχουν μήκος 2, κοκ. Η
προσομοίωση κάθε μετάβασης απαιτεί σταθερό αριθμό βημάτων m.
Επιπλέον, η M τερματίζει σε p(n) το πολύ βήματα. Επομένως, η M′ τερματίζει
σε
p(n)+1
X
(rm)l ≤ (rm + 1)p(n)+1
l=1
43
βήματα (το l διατρέχει το μήκος των υπολογισμών). Άρα, L ∈ EX P.
P vs N P vs EX P
P ⊆ N P ⊆ EX P.
Η μόνο σχέση που μπορούμε να αποδείξουμε πέρα από αυτό είναι ότι
P ̸= EX P,
γιατί E ∈ EX P και E ∈
/ P.
Παρά τη μεγάλη ερευνητική προσπάθεια, δεν γνωρίζουμε αν P ̸= N P ή αν
N P ̸= EX P.
44