Probabilistically Checkable Proofs Theorem (PCP THEOREM) Ομιλητής Ασημακόπουλος (Ευ)Άγγελος
Εισαγωγή Γλώσσα L– Κάποιο πρόβλημα απόφασης (πχ. 3-SAT, Vertex Cover μικρότερο από k) Κωδικοποίηση της L στο δυαδικό σύστημα (εμείς χρησιμοποιούμε το ελληνικό αλφάβητο και κάποια αριθμητικά σύμβολα – ASCII) Στην L ανήκουν οι συμβολοσειρές (strings) οι οποίες είναι δυαδικές κωδικοποιήσεις των στιγμιότυπων (instances) του αρχικού προβλήματος οι οποίες έχουν λύση.
NP Μια γλώσσα L ανήκει στην κατηγορία προβλημάτων/γλωσσών NP αν υπάρχει μία Μηχανή Turing Μ (verifier) που μπορεί να αποφασίσει σε πολυωνυμικό χρόνο για κάθε string Αν το τότε υπάρχει κάποιο string που ονομάζεται πιστοποιητικό (certificate) με |y| = poly(|x|) έτσι ώστε Μ(x,y) accepts. Το πιστοποιητικό πρόκειται για μία λύση του προβλήματος x. (completeness) Αν το τότε για κάθε string |y| = poly(|x|) Μ(x,y) rejects. (soundness)
NP Verifier Verifier Instance x Certificate y
Γενικεύοντας τον NP verifier Θα φτιάξουμε μια πιο γενική μηχανή Turing, η οποία εκτός από το instance x και το certificate y θα διαβάζει και ένα τυχαίο αριθμό. Αυτός ο αριθμός θα είναι κωδικοποιημένος σε bits. Θα την χρησιμοποιήσουμε για να λύσουμε προβλήματα μεγιστοποίησης/ελαχιστοποίησης. Από εδώ και εμπρός το y θα το ονομάζουμε απόδειξη (proof).
PCP - Verifier Verifier Instance x Proof y
PCP – Ορισμός Μια γλώσσα L ανήκει στην κατηγορία προβλημάτων/γλωσσών PCP(r(n),q(n)) (όπου r(n) τυχαίος αριθμός bits και q(n) αριθμός bits που κοιτάει ο verifier από την απόδειξη) αν υπάρχει μία Μηχανή Turing Μ (verifier) που για κάθε string
PCP – Σχόλια O verifier accepts or rejects ανάλογα με τα bits που διαβάζει από την απόδειξη q(n). Τα bits αυτά εξαρτώνται από τα τυχαία r(n) που θα διαβάσει αρχικά ο verifier. Υπάρχουν 2 r(n) πιθανά ενδεχόμενα. όπου n = |x|. Προφανώς η παραπάνω διαδικασία μπορεί να επαναλαμβάνεται. Οι αριθμοί q(n) και r(n) έχουν σε κάθε επανάληψη τον ίδιο αριθμό από bits.
Hardness of Approximation Το PCP θεώρημα χρησιμοποιείται για να υπολογίσει το hardness of approximation, δηλαδή για να δείξουμε lower bounds σε ένα πρόβλημα μεγιστοποίησης/ ελαχιστοποίησης. Τα όρια μπαίνουν από το soundness.
Θεώρημα PCP NP=PCP(O(logn),O(1)) Όπου n = |x|. Ισχύει επίσης και NP=PCP(0,poly(n)). Δείτε τις μηχανές.
Πολύ δύσκολο να αποδειχθεί!!! Έστω verifier M Μπορούμε να φτιάξουμε σε πολυωνυμικό χρόνο έναν άλλο ντετερμινιστικό verifier M’ ο οποίος θα εξομοιώνει όλα τα δυνατά ενδεχόμενα (είναι 2 Ο(logn) εξ’ορισμού) και θα ελέγχει Pr(M(x,y)=accept) για όλα τα δυνατά y, τα οποία εξ’ορισμού έχουν σταθερό μέγεθος. O M’ accepts αν και μόνο αν ο M accepts σε κάθε δυνατό ενδεχόμενο.
MAX-3SAT Πρόκειται για την maximization εκδοχή του 3- SAT. Έχουμε n variables και m clauses με τον αριθμό των clauses να είναι πολυωνυμικά μεγαλύτερος από τις μεταβλητές.
ΜΑΧ-3SAT και PCP NP = PCP(O(log(n)),O(1)) ↔ Υπάρχει μία πολυωνυμική αναγωγή από οποιαδήποτε NP-Complete Γλώσσα L στο ΜΑΧ-3SAT, αντιστοιχώντας instances x της L σε φόρμουλες φ του MAX-3SAT έτσι ώστε: Σκεφτείτε το 3-SAT και το c ως ποσοστό των clauses που μπορούν να επαληθευθούν.
Poly Reduction MAX3-SAT NP=PCP(O(logn),O(1)) Έστω ότι υπάρχει πολυωνυμική αναγωγή από τη γλώσσα L στο MAX3-SAT (βολική η 3-SAT γλώσσα). Χρησιμοποιώντας logm από τα τυχαία bits ο verifier διαλέγει κάποια clause ομοιόμορφα τυχαία. Στη συνέχεια ο verifier διαβάζει από την proof την ανάθεση τιμών που αντιστοιχούν για αυτή την clause. Επειδή διαβάζει μόνο 3 αναθέσεις μεταβλητών ο χρόνος είναι σταθερός. Άρα έχω συνολικά χρόνο logm,3 = Ο(logn),O(1). Θυμηθείτε ότι ο αριθμός των clauses είναι πολυωνυμικά μεγαλύτερος από τις μεταβλητές Θυμηθείτε αν έχω m bits μπορώ να παράγω 2 m διαφορετικούς αριθμούς.
Poly Reduction MAX3-SAT NP=PCP(O(logn),O(1)) Completeness: Αν x ανήκει στην L, τότε υπάρχει assignment y ώστε να ικανοποιούνται όλες οι clauses. Αν proof = y τότε Pr(M(x,y)=accept) = 1. Soundness: Αν x δεν ανήκει στην L, τότε όλα τα πιθανά assignments ικανοποιούν το πολύ ένα ποσοστό c των clauses. Άρα για όλες τις proofs y ισχύει Pr(M(x,y)=accept) ≤ c. Μπορούμε να αυξήσουμε την πιθανότητα του Soundness με κάποιο σταθερό αριθμό επαναλήψεων. Άρα NP=PCP(O(logn),O(1))
NP=PCP(O(logn),O(1)) Poly Reduction MAX3-SAT Έστω γλώσσα L NP και ότι έχει PCP(O(logn),O(1)). Έστω ότι η proof y έχει Y 1,Y 2,…,Y |Y| bits. Έστω ένα τυχαίο string r μεγέθους q=|r| που χρησιμοποιείται από το verifier για να διαλέξει τυχαία bits από την proof. Έστω αυτά τα bits Ορίζω έναν περιορισμό για αυτά τα bits Συνολικά υπάρχουν 2 r(n) = 2 O(logn) τέτοιοι περιορισμοί.
Constraint Satisfaction Problem Έχω το νέο πρόβλημα μεγιστοποίησης να ικανοποιήσω τους περισσότερους από αυτούς τους περιορισμούς. Οι περιορισμοί ικανοποιούν υποσύνολα του αρχικού instance x. Στην πραγματικότητα πρόκειται για το ίδιο πρόβλημα με το να κατασκευάσω μία απόδειξη y ώστε να μεγιστοποιήσω τη πιθανότητα o verifier accepts. (Όσους περισσότερους περιορισμούς ικανοποιήσω, τόσα πιο συχνά θα αποδέχεται ο verifier). Completeness: Δηλαδή υπάρχει assignment στις όπου ικανοποιούνται όλοι οι περιορισμοί. Soundness: Δηλαδή κάθε assignment των μεταβλητών μπορεί να ικανοποιήσει λιγότερο από το ½ των περιορισμών.
MAX3-SAT OPT(I)=1 OPT(φ)=1 OPT(I)< OPT(φ) < 1- *(clauses MAX3-SAT) Θυμηθείτε κάθε CNF formula μπορεί να γίνει 3-SAT formula προσθέτοντας το πολύ q επιπλέον μεταβλητές το πολύ q επιπλέον clauses όπου q o αρχικός αριθμός των μεταβλητών (το q είναι άνω φράγμα). Θυμηθείτε κάθε boolean formula μπορεί να μετατραπεί σε CNF μορφή χρησιμοποιώντας το πολύ 2 q clauses και q literals σε κάθε clause όπου q o αρχικός αριθμός των μεταβλητών. Τελικά θα έχω το πολύ q2 q επιπλέον clauses. Τέλος θα πάρω το instance του Constraint Satisfaction Problem που έφτιαξα και θα το κάνω αντιστοιχία σε ένα instance του MAX-3SAT έτσι ώστε:
Τελικά έχω: OPT(I)=1 OPT(φ)=1 OPT(I)< OPT(φ) < 1- Αν υπάρχει assignment που να ικανοποιεί όλα τα Y i τότε ικανοποιούνται και όλες οι 3-SAT clauses. Αν για κάθε assignment για τα Y i, τουλάχιστον το ½ των περιορισμών δεν ικανοποιούνται τότε οποιοδήποτε assignment θα ικανοποιεί το πολύ 1- από τις 3-SAT clauses
Συμπέρασμα- Σύγκριση NP - PCP Προβλήματα απόφασης Δεν υπάρχει τυχαιότητα. Αν το x ανήκει στην L υπάρχει certificate για το οποίο Μ(x,y) accepts Αν το x δεν ανήκει στην L τότε Μ(x,y) rejects για κάθε y. Το certificate πρέπει να διαβαστεί ολόκληρο. 3-SAT Πιο ειδικός Verifier Προβλήματα ελαχιστοποίησης/ μεγιστοποίησης Ύπαρξη τυχαίου αριθμού που εκφράζεται με random bits. Αν το x ανήκει στην L υπάρχει proof για το οποίο Pr(M(x,y)=accept)=1. Αν το x δεν ανήκει στην L τότε Pr(M(x,y)=accept) < ½ για κάθε y. To proof δεν είναι απαραίτητο να διαβαστεί ολόκληρο. MAX-3SAT Πιο γενικός verifier (PCP(0,poly(n)) = NP )
Τέλος Παρουσίασης Απορίες και σχόλια… Πηγή: The PCP Theorem from cs 8002 Georgia Tech 04 Σας ευχαριστώ για την παρακολούθηση!