probabilistically checkable proofs theorem (pcp theorem)

21
Probabilistically Checkable Proofs Theorem (PCP THEOREM) Ομιλητής Ασημακόπουλος (Ευ)Άγγελος

Upload: brandon-rice

Post on 03-Jan-2016

54 views

Category:

Documents


0 download

DESCRIPTION

Probabilistically Checkable Proofs Theorem (PCP THEOREM). Ομιλητής Ασημακόπουλος (Ευ)Άγγελος. Εισαγωγή. Γλώσσα L– Κάποιο πρόβλημα απόφασης (πχ. 3-SAT, Vertex Cover μικρότερο από k) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Probabilistically Checkable ProofsTheorem

(PCP THEOREM)

Ομιλητής Ασημακόπουλος (Ευ)Άγγελος

Page 2: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Εισαγωγή

• Γλώσσα L– Κάποιο πρόβλημα απόφασης (πχ. 3-SAT, Vertex Cover μικρότερο από k)

• Κωδικοποίηση της L στο δυαδικό σύστημα (εμείς χρησιμοποιούμε το ελληνικό αλφάβητο και κάποια αριθμητικά σύμβολα – ASCII)

• Στην L ανήκουν οι συμβολοσειρές (strings) οι οποίες είναι δυαδικές κωδικοποιήσεις των στιγμιότυπων (instances) του αρχικού προβλήματος οι οποίες έχουν λύση.

Page 3: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

NP• Μια γλώσσα L ανήκει στην κατηγορία προβλημάτων/γλωσσών NP αν υπάρχει μία Μηχανή Turing Μ (verifier) που μπορεί να αποφασίσει σε πολυωνυμικό χρόνο για κάθε string

• Αν το τότε υπάρχει κάποιο string που ονομάζεται πιστοποιητικό (certificate) με |y| = poly(|x|) έτσι ώστε Μ(x,y) accepts. Το πιστοποιητικό πρόκειται για μία λύση του προβλήματος x. (completeness)

Lx

*}1,0{x

• Αν το τότε για κάθε string|y| = poly(|x|) Μ(x,y) rejects. (soundness)

*}1,0{y

Lx *}1,0{y

Page 4: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

NP Verifier

Verifier

Instance x

Certificate y

Page 5: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Γενικεύοντας τον NP verifier

• Θα φτιάξουμε μια πιο γενική μηχανή Turing, η οποία εκτός από το instance x και το certificate y θα διαβάζει και ένα τυχαίο αριθμό. Αυτός ο αριθμός θα είναι κωδικοποιημένος σε bits.

• Θα την χρησιμοποιήσουμε για να λύσουμε προβλήματα μεγιστοποίησης/ελαχιστοποίησης.

Από εδώ και εμπρός το y θα το ονομάζουμε απόδειξη (proof).

Page 6: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

PCP - Verifier

Verifier

Instance x

Proof y

1011010

Page 7: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

PCP – Ορισμός• Μια γλώσσα L ανήκει στην κατηγορία προβλημάτων/γλωσσών PCP(r(n),q(n)) (όπου r(n) τυχαίος αριθμός bits και q(n) αριθμός bits που κοιτάει ο verifier από την απόδειξη) αν υπάρχει μία Μηχανή Turing Μ (verifier) που για κάθε string *}1,0{x

)(2

1)),(Pr(:}*1,0{

)(

1)),(Pr(:}*1,0{

Soundness

acceptyxMyLx

ssCompletene

acceptyxMyLx

Page 8: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

PCP – Σχόλια

• O verifier accepts or rejects ανάλογα με τα bits που διαβάζει από την απόδειξη q(n). Τα bits αυτά εξαρτώνται από τα τυχαία r(n) που θα διαβάσει αρχικά ο verifier.

• Υπάρχουν 2r(n) πιθανά ενδεχόμενα.

όπου n = |x|.

• Προφανώς η παραπάνω διαδικασία μπορεί να επαναλαμβάνεται. Οι αριθμοί q(n) και r(n) έχουν σε κάθε επανάληψη τον ίδιο αριθμό από bits.

Page 9: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Hardness of Approximation

• Το PCP θεώρημα χρησιμοποιείται για να υπολογίσει το hardness of approximation, δηλαδή για να δείξουμε lower bounds σε ένα πρόβλημα μεγιστοποίησης/ ελαχιστοποίησης.

• Τα όρια μπαίνουν από το soundness.

Page 10: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Θεώρημα PCP

NP=PCP(O(logn),O(1))

Όπου n = |x|.

Ισχύει επίσης και NP=PCP(0,poly(n)). Δείτε τις μηχανές.

Page 11: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

NPOnOPCP ))1(),(log(

))1(),(log( OnOPCPNPΠολύ δύσκολο να αποδειχθεί!!!

•Έστω verifier M

•Μπορούμε να φτιάξουμε σε πολυωνυμικό χρόνο έναν άλλο ντετερμινιστικό verifier M’ ο οποίος θα εξομοιώνει όλα τα δυνατά ενδεχόμενα (είναι 2Ο(logn) εξ’ορισμού) και θα ελέγχει Pr(M(x,y)=accept) για όλα τα δυνατά y, τα οποία εξ’ορισμού έχουν σταθερό μέγεθος.

•O M’ accepts αν και μόνο αν ο M accepts σε κάθε δυνατό ενδεχόμενο.

))1(),(log( OnOPCP

Page 12: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

MAX-3SAT

• Πρόκειται για την maximization εκδοχή του 3-SAT.

• Έχουμε n variables και m clauses με τον αριθμό των clauses να είναι πολυωνυμικά μεγαλύτερος από τις μεταβλητές. )1(Onm

Page 13: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

ΜΑΧ-3SAT και PCP• NP = PCP(O(log(n)),O(1)) ↔ Υπάρχει μία πολυωνυμική αναγωγή

από οποιαδήποτε NP-Complete Γλώσσα L στο ΜΑΧ-3SAT, αντιστοιχώντας instances x της L σε φόρμουλες φ του MAX-3SAT έτσι ώστε:

1,)(

1)(

ccOPTLx

OPTLx

Σκεφτείτε το 3-SAT και το c ως ποσοστό των clauses που μπορούν να επαληθευθούν.

Page 14: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

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 μπορώ να παράγω 2m διαφορετικούς αριθμούς.

Page 15: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

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))

Page 16: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

NP=PCP(O(logn),O(1)) Poly Reduction MAX3-SAT

• Έστω γλώσσα L NP και ότι έχει PCP(O(logn),O(1)).

• Έστω ότι η proof y έχει Y1,Y2,…,Y|Y| bits.• Έστω ένα τυχαίο string r μεγέθους q=|r| που

χρησιμοποιείται από το verifier για να διαλέξει τυχαία bits από την proof.

• Έστω αυτά τα bits• Ορίζω έναν περιορισμό για αυτά τα bits • Συνολικά υπάρχουν 2r(n) = 2O(logn) τέτοιοι περιορισμοί.

.,...,, 21Tiq

Ti

Ti YYY

),...,,( 21Tiq

Ti

Ti YYYC

Page 17: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Constraint Satisfaction Problem

• Έχω το νέο πρόβλημα μεγιστοποίησης να ικανοποιήσω τους περισσότερους από αυτούς τους περιορισμούς.

• Οι περιορισμοί ικανοποιούν υποσύνολα του αρχικού instance x.

• Στην πραγματικότητα πρόκειται για το ίδιο πρόβλημα με το να κατασκευάσω μία απόδειξη y ώστε να μεγιστοποιήσω τη πιθανότητα o verifier accepts. (Όσους περισσότερους περιορισμούς ικανοποιήσω, τόσα πιο συχνά θα αποδέχεται ο verifier).

• Completeness:• Δηλαδή υπάρχει assignment στις όπου

ικανοποιούνται όλοι οι περιορισμοί.• Soundness:• Δηλαδή κάθε assignment των μεταβλητών μπορεί να

ικανοποιήσει λιγότερο από το ½ των περιορισμών.

1)),(Pr(:, acceptyxMyLx

2

1)),(Pr(:, acceptyxMyLx

Tiq

Ti

Ti YYY ,...,, 21

Page 18: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

MAX3-SAT

• OPT(I)=1 OPT(φ)=1• OPT(I)< OPT(φ) < 1- *(clauses MAX3-SAT)

2

1

Θυμηθείτε κάθε CNF formula μπορεί να γίνει 3-SAT formula προσθέτοντας το πολύ q επιπλέον μεταβλητές το πολύ q επιπλέον clauses όπου q o αρχικός αριθμός των μεταβλητών (το q είναι άνω φράγμα).

Θυμηθείτε κάθε boolean formula μπορεί να μετατραπεί σε CNF μορφή χρησιμοποιώντας το πολύ 2 q clauses και q literals σε κάθε clause όπου q o αρχικός αριθμός των μεταβλητών.

2

1

• Τελικά θα έχω το πολύ q2q επιπλέον clauses.

),...,,( 21Tiq

Ti

Ti YYYC

•Τέλος θα πάρω το instance του Constraint Satisfaction Problem που έφτιαξα και θα το κάνω αντιστοιχία σε ένα instance του MAX-3SAT έτσι ώστε:

Page 19: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Τελικά έχω:

• OPT(I)=1 OPT(φ)=1• OPT(I)< OPT(φ) < 1-

Αν υπάρχει assignment που να ικανοποιεί όλα τα Yi τότε ικανοποιούνται και όλες οι 3-SAT clauses.

• Αν για κάθε assignment για τα Yi, τουλάχιστον το ½ των περιορισμών δεν ικανοποιούνται τότε οποιοδήποτε assignment θα ικανοποιεί το πολύ

1- από τις 3-SAT clauses

2

112

1

2

1*

2

1qq qq

12

1

2

1*

2

1qq qq

Page 20: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Συμπέρασμα- Σύγκριση 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 )

Page 21: Probabilistically Checkable Proofs Theorem  (PCP THEOREM)

Τέλος Παρουσίασης

Απορίες και σχόλια…

Πηγή: The PCP Theorem from cs 8002 Georgia Tech 04

Σας ευχαριστώ για την παρακολούθηση!