CS151 Complexity Theory Lecture 13 May 11, 2015. 2 Outline proof systems interactive proofs and their power Arthur-Merlin games.

Slides:



Advertisements
Similar presentations
Low-End Uniform Hardness vs. Randomness Tradeoffs for Arthur-Merlin Games. Ronen Shaltiel, University of Haifa Chris Umans, Caltech.
Advertisements

Sublinear Algorithms … Lecture 23: April 20.
Complexity Theory Lecture 8
A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Quantum Information and the PCP Theorem Ran Raz Weizmann Institute.
Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
IP=PSPACE Nikhil Srivastava CPSC 468/568. Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
Dana Moshkovitz. Back to NP L  NP iff members have short, efficiently checkable, certificates of membership. Is  satisfiable?  x 1 = truex 11 = true.
A survey on derandomizing BPP and AM Danny Gutfreund, Hebrew U. Ronen Shaltiel, Weizmann Inst. Amnon Ta-Shma, Tel-Aviv U.
Umans Complexity Theory Lectures Lecture 15: Approximation Algorithms and Probabilistically Checkable Proofs (PCPs)
1 Slides by Dana Moshkovitz. Adapted from Oded Goldreich’s course lecture notes.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
CS151 Complexity Theory Lecture 6 April 15, 2015.
March 2, 2015CS21 Lecture 231 CS21 Decidability and Tractability Lecture 23 March 2, 2015.
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 20, 2004.
1 Adapted from Oded Goldreich’s course lecture notes.
Randomized Computation Roni Parshani Orly Margalit Eran Mantzur Avi Mintz
CS151 Complexity Theory Lecture 12 May 6, CS151 Lecture 122 Outline The Polynomial-Time Hierarachy (PH) Complete problems for classes in PH, PSPACE.
CS151 Complexity Theory Lecture 7 April 20, 2015.
Zero-Knowledge Proof System Slides by Ouzy Hadad, Yair Gazelle & Gil Ben-Artzi Adapted from Ely Porat course lecture notes.
Lecturer: Moni Naor Foundations of Cryptography Lecture 12: Commitment and Zero-Knowledge.
Complexity 19-1 Complexity Andrei Bulatov More Probabilistic Algorithms.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
CS151 Complexity Theory Lecture 15 May 18, CS151 Lecture 152 Outline IP = PSPACE Arthur-Merlin games –classes MA, AM Optimization, Approximation,
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
PSPACE  IP Proshanto Mukherji CSC 486 April 23, 2001.
Of 28 Probabilistically Checkable Proofs Madhu Sudan Microsoft Research June 11, 2015TIFR: Probabilistically Checkable Proofs1.
The Complexity of Primality Testing. What is Primality Testing? Testing whether an integer is prime or not. – An integer p is prime if the only integers.
1 Interactive Proofs proof systems interactive proofs and their power Arthur-Merlin games.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
PROBABILISTIC COMPUTATION By Remanth Dabbati. INDEX  Probabilistic Turing Machine  Probabilistic Complexity Classes  Probabilistic Algorithms.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
CS151 Complexity Theory Lecture 12 May 6, QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Fall 2013 CMU CS Computational Complexity Lecture 7 Alternating Quantifiers, PH, PSPACE. These slides are mostly a resequencing of Chris Umans’
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
A Problem That Is Complete for PSPACE (Polynomial Space) BY TEJA SUDHA GARIGANTI.
Umans Complexity Theory Lectures Lecture 7b: Randomization in Communication Complexity.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
Probabilistic verification Mario Szegedy, Rutgers www/cs.rutgers.edu/~szegedy/07540 Lecture 1.
Honest-Verifier Statistical Zero-Knowledge Equals General Statistical Zero-Knowledge Oded Goldreich (Weizmann) Amit Sahai (MIT) Salil Vadhan (MIT)
NPC.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
CS151 Complexity Theory Lecture 15 May 18, Gap producing reductions Main purpose: –r-approximation algorithm for L 2 distinguishes between f(yes)
Complexity Theory and Explicit Constructions of Ramsey Graphs Rahul Santhanam University of Edinburgh.
Complexity 27-1 Complexity Andrei Bulatov Interactive Proofs (continued)
Probabilistic Algorithms
Introduction to Randomized Algorithms and the Probabilistic Method
CS151 Complexity Theory Lecture 13 May 15, 2017.
Pseudo-deterministic Proofs
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 23, 2019.
CS151 Complexity Theory Lecture 12 May 10, 2019.
Instructor: Aaron Roth
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

CS151 Complexity Theory Lecture 13 May 11, 2015

2 Outline proof systems interactive proofs and their power Arthur-Merlin games

May 11, Proof systems L = { (A, 1 k ) : A is a true mathematical assertion with a proof of length k} What is a “proof”? complexity insight: meaningless unless can be efficiently verified

May 11, Proof systems given language L, goal is to prove x  L proof system for L is a verification algorithm V –completeness: x  L  9 proof, V accepts (x, proof) “true assertions have proofs” –soundness: x  L  8 proof*, V rejects (x, proof*) “false assertions have no proofs” –efficiency: 8 x, proof: V(x, proof) runs in polynomial time in |x|

May 11, Classical Proofs previous definition: “classical” proof system recall: L  NP iff expressible as L = { x | 9 y, |y| < |x| k, (x, y)  R } and R  P. NP is the set of languages with classical proof systems (R is the verifier)

May 11, Interactive Proofs Two new ingredients: –randomness: verifier tosses coins, errs with some small probability –interaction: rather than “reading” proof, verifier interacts with computationally unbounded prover NP proof systems lie in this framework: prover sends proof, verifier does not use randomness

May 11, Interactive Proofs interactive proof system for L is an interactive protocol (P, V) ProverVerifier common input: x accept/ reject # rounds = poly(|x|)

May 11, Interactive Proofs interactive proof system for L is an interactive protocol (P, V) –completeness: x  L  Pr[V accepts in (P, V)(x)]  2/3 –soundness: x  L  8 P* Pr[V accepts in (P*, V)(x)]  1/3 –efficiency: V is p.p.t. machine repetition: can reduce error to any ε

May 11, Interactive Proofs IP = {L : L has an interactive proof system} Observations/questions: –philosophically interesting: captures more broadly what it means to be convinced a statement is true –clearly NP  IP. Potentially larger. How much larger? –if larger, randomness is essential (why?)

May 11, Graph Isomorphism graphs G 0 = (V, E 0 ) and G 1 = (V, E 1 ) are isomorphic (G 0  G 1 ) if exists a permutation π:V  V for which (x, y)  E 0  (π(x), π(y))  E

May 11, Graph Isomorphism GI = {(G 0, G 1 ) : G 0  G 1 } –in NP –not known to be in P, or NP-complete GNI = complement of GI –not known to be in NP Theorem (GMW): GNI  IP –indication IP may be more powerful than NP

May 11, GNI in IP interactive proof system for GNI: ProverVerifier input: (G 0, G 1 ) flip coin c  {0,1}; pick random π H = π(G c ) if H  G 0 r = 0, else r = 1 r accept iff r = c

May 11, GNI in IP completeness: –if G 0 not isomorphic to G 1 then H is isomorphic to exactly one of (G 0, G 1 ) –prover will choose correct r soundness: –if G 0  G 1 then prover sees same distribution on H for c = 0, c = 1 –no information on c  any prover P* can succeed with probability at most 1/2

May 11, The power of IP We showed GNI 2 IP GNI  IP suggests IP more powerful than NP, since we don’t know how to show GNI in NP GNI in coNP Theorem (LFKN): coNP  IP

May 11, The power of IP Proof idea: input: φ(x 1, x 2, …, x n ) –prover: “I claim φ has k satisfying assignments” –true iff φ(0, x 2, …, x n ) has k 0 satisfying assignments φ(1, x 2, …, x n ) has k 1 satisfying assignments k = k 0 + k 1 –prover sends k 0, k 1 –verifier sends random c  {0,1} –prover recursively proves “φ’ = φ(c, x 2, …, x n ) has k c satisfying assignments” –at end, verifier can check for itself.

May 11, The power of IP Analysis of proof idea: –Completeness: φ(x 1, x 2, …, x n ) has k satisfying assignments  accept with prob. 1 –Soundness: φ(x 1, x 2, …, x n ) does not have k satisfying assigns.  accept prob.  1 – 2 -n –Why? It is possible that k is only off by one; verifier only catches prover if coin flips c are successive bits of this assignment

May 11, The power of IP Solution to problem (ideas): –replace {0,1} n with (F q ) n –verifier substitutes random field element at each step –vast majority of field elements catch cheating prover (rather than just 1) Theorem: L = { (φ, k): CNF φ has exactly k satisfying assignments} is in IP

May 11, The power of IP First step: arithmetization –transform φ(x 1, … x n ) into polynomial p φ (x 1, x 2, … x n ) of degree d over a field F q ; q prime > 2 n –recursively: x i  x i   φ  (1 - p φ ) φ  φ’  (p φ )(p φ’ ) φ  φ’  1 - (1 - p φ )(1 - p φ’ ) –for all x  {0,1} n we have p φ (x) = φ(x) –degree d  |φ| –can compute p φ (x) in poly time from φ and x

May 11, The power of IP Prover wishes to prove: k = Σ x 1 = 0, 1 Σ x 2 = 0,1 … Σ x n = 0, 1 p φ (x 1, x 2, …, x n ) Define: k z = Σ x 2 = 0,1 … Σ x n = 0, 1 p φ (z, x 2, …, x n ) prover sends: k z for all z  F q verifier: –checks that k 0 + k 1 = k –sends random z  F q continue with proof that k z = Σ x 2 = 0,1 … Σ x n = 0, 1 p φ (z, x 2, …, x n ) at end: verifier checks for itself

May 11, The power of IP Prover wishes to prove: k = Σ x 1 = 0, 1 Σ x 2 = 0,1 … Σ x n = 0, 1 p φ (x 1, x 2, …, x n ) Define: k z = Σ x 2 = 0,1 … Σ x n = 0, 1 p φ (z, x 2, …, x n ) a problem: can’t send k z for all z  F q solution: send the polynomial ! –recall degree d  |φ|

May 11, The actual protocol ProverVerifier input: ( φ, k ) p 1 (0)+p 1 (1)=k? pick random z 1 in F q p 1 (x) = Σ x 2, …, x n  {0,1} p φ ( x, x 2, …, x n ) p 1 (x) z1z1 p 2 (x) = Σ x 3, …, x n  {0,1} p φ (z 1, x, x 3, …, x n ) p 2 (x) z2z2 p 2 (0)+p 2 (1)=p 1 (z 1 )? pick random z 2 in F q p 3 (x) = Σ x 4, …, x n  {0,1} p φ (z 1, z 2, x, x 4 …, x n ) p 3 (0)+p 3 (1)=p 2 (z 2 )? pick random z 3 in F q p 3 (x) p n (x) p n (0)+p n (1)=p n-1 (z n-1 )? pick random z n in F q. p n (z n ) = p φ (z 1, z 2, …, z n )?

May 11, Analysis of protocol Completeness: –if (φ, k)  L then honest prover on previous slide will always cause verifier to accept

May 11, Analysis of protocol Soundness: –let p i (x) be the correct polynomials –let p i *(x) be the polynomials sent by (cheating) prover –(φ, k)  L  p 1 (0) + p 1 (1) ≠ k –either p 1 *(0) + p 1 *(1) ≠ k (and V rejects) –or p 1 * ≠ p 1  Pr z 1 [p 1 *(z 1 ) = p 1 (z 1 )]  d/q  |φ|/2 n –assume (p i+1 (0)+p i+1 (1)= ) p i (z i ) ≠ p i *(z i ) –either p i+1 *(0) + p i+1 *(1) ≠ p i *(z i ) (and V rejects) –or p i+1 * ≠ p i+1  Pr z i+1 [p i+1 *(z i+1 ) = p i+1 (z i+1 )]  |φ|/2 n

May 11, Analysis of protocol Soundness (continued): –if verifier does not reject, there must be some i for which: p i * ≠ p i and yet p i *(z i ) = p i (z i ) –for each i, probability is  |φ|/2 n –union bound: probability that there exists an i for which the bad event occurs is  n|φ|/2 n  poly(n)/2 n << 1/3

May 11, Analysis of protocol Conclude: L = { (φ, k): CNF φ has exactly k satisfying assignments} is in IP L is coNP-hard, so coNP  IP Question remains: –NP, coNP  IP. Potentially larger. How much larger?

May 11, IP = PSPACE Theorem: (Shamir) IP = PSPACE –Note: IP  PSPACE enumerate all possible interactions, explicitly calculate acceptance probability interaction extremely powerful ! An implication : you can interact with master player of Generalized Geography and determine if she can win from the current configuration even if you do not have the power to compute optimal moves!

May 11, IP = PSPACE need to prove PSPACE  IP –use same type of protocol as for coNP –some modifications needed

May 11, IP = PSPACE protocol for QSAT –arithmetization step produces arithmetic expression p φ : ( 9 x i ) φ  Σ x i = 0, 1 p φ ( 8 x i ) φ  ∏ x i = 0, 1 p φ –start with QSAT formula in special form (“simple”) no occurrence of x i separated by more than one “ 8 ” from point of quantification

May 11, IP = PSPACE –quantified Boolean expression φ is true if and only if p φ > 0 –Problem: ∏’s may cause p φ > 2 2 |φ| –Solution: evaluate mod 2 n  q  2 3n –prover sends “good” q in first round “good” q is one for which p φ mod q > 0 –Claim: good q exists # primes in range is at least 2 n

May 11, The QSAT protocol ProverVerifier input: φ p 1 (0)+p 1 (1) = k? or p 1 (0)p 1 (1) = k? pick random z 1 in F q p 1 (x): remove outer Σ or ∏ from p φ k, q, p 1 (x) z1z1 p 2 (x): remove outer Σ or ∏ from p φ [x 1  z 1 ] p 2 (x) z2z2 p 2 (0)+p 2 (1)=p 1 (z 1 )? or p 2 (0)p 2 (1) = p 1 (z 1 )? pick random z 2 in F q p 3 (x): remove outer Σ or ∏ from p φ [x 1  z 1, x 2  z 2 ] p 3 (x) p n (x) p n (0)+p n (1)=p n-1 (z n-1 )? or p n (0)p n (1) = p n-1 (z n-1 )? pick random z n in F q p n (z n ) = p φ [x 1  z 1,…, x n  z n ].

May 11, Analysis of the QSAT protocol Completeness: –if φ  QSAT then honest prover on previous slide will always cause verifier to accept

May 11, Analysis of the QSAT protocol Soundness: –let p i (x) be the correct polynomials –let p i *(x) be the polynomials sent by (cheating) prover –φ  QSAT  0 = p 1 (0) +/x p 1 (1) ≠ k –either p 1 *(0) +/x p 1 *(1) ≠ k (and V rejects) –or p 1 * ≠ p 1  Pr z 1 [p 1 *(z 1 ) = p 1 (z 1 )]  2|φ|/2 n –assume (p i+1 (0) +/x p i+1 (1)=) p i (z i ) ≠ p i *(z i ) –either p i+1 *(0) +/x p i+1 *(1) ≠ p i *(z i ) (and V rejects) –or p i+1 * ≠ p i+1  Pr z i+1 [p i+1 *(z i+1 ) = p i+1 (z i+1 )]  2|φ|/2 n φ is “simple”

May 11, Analysis of protocol Soundness (continued): –if verifier does not reject, there must be some i for which: p i * ≠ p i and yet p i *(z i ) = p i (z i ) –for each i, probability is  2|φ|/2 n –union bound: probability that there exists an i for which the bad event occurs is  2n|φ|/2 n  poly(n)/2 n << 1/3 Conclude: QSAT is in IP

May 11, Example Papadimitriou – pp φ = 8 x 9 y(x  y)  8 z((x  z)  (y  z))  9 w(z  (y  w)) p φ = ∏ x=0,1 Σ y=0,1 [(x + y) * ∏ z=0,1 [(xz + y(1-z)) + Σ w=0,1 (z + y(1-w))]] (p φ = 96 but V doesn’t know that yet !)

May 11, Example p φ = ∏ x=0,1 Σ y=0,1 [(x + y) * ∏ z=0,1 [(xz + y(1-z)) + Σ w=0,1 (z + y(1-w))]] Round 1: (prover claims p φ > 0) –prover sends q = 13; claims p φ = 96 mod 13 = 5; sends k = 5 –prover removes outermost “∏”; sends p 1 (x) = 2x 2 + 8x + 6 –verifier checks: p 1 (0)p 1 (1) = (6)(16) = 96  5 (mod 13) –verifier picks randomly: z 1 = 9

May 11, Example φ = 8 x 9 y(x  y)  8 z((x  z)  (y  z))  9 w(z  (y  w)) p φ = ∏ x=0,1 Σ y=0,1 [(x + y) * ∏ z=0,1 [(xz + y(1-z)) + Σ w=0,1 (z + y(1-w))]] p φ [x  9] = Σ y=0,1 [(9 + y) * ∏ z=0,1 [(9z + y(1-z)) + Σ w=0,1 (z + y(1-w))]]

May 11, Example p 1 (9) = Σ y=0,1 [(9 + y) * ∏ z=0,1 [(9z + y(1-z)) + Σ w=0,1 (z + y(1-w))]] Round 2: (prover claims this = 6) –prover removes outermost “Σ”; sends p 2 (y) = 2y 3 + y 2 + 3y –verifier checks: p 2 (0) + p 2 (1) = = 6  6 (mod 13) –verifier picks randomly: z 2 = 3

May 11, Example φ = 8 x 9 y(x  y)  8 z((x  z)  (y  z))  9 w(z  (y  w)) p φ = ∏ x=0,1 Σ y=0,1 [(x + y) * ∏ z=0,1 [(xz + y(1-z)) + Σ w=0,1 (z + y(1-w))]] p φ [x  9, y  3] = [(9 + 3) * ∏ z=0,1 [(9z + 3(1-z)) + Σ w=0,1 (z + 3(1-w))]]

May 11, Example p 2 (3) = [(9 + 3) * ∏ z=0,1 [(9z + 3(1-z)) + Σ w=0,1 (z + 3(1-w))]] Round 3: (prover claims this = 7) –everyone agrees expression = 12*(…) –prover removes outermost “∏”; sends p 3 (z) = 8z + 6 –verifier checks: p 3 (0) * p 3 (1) = (6)(14) = 84; 12*84  7 (mod 13) –verifier picks randomly: z 3 = 7

May 11, Example φ = 8 x 9 y(x  y)  8 z((x  z)  (y  z))  9 w(z  (y  w)) p φ = ∏ x=0,1 Σ y=0,1 [(x + y) * ∏ z=0,1 [(xz + y(1-z)) + Σ w=0,1 (z + y(1-w))]] p φ [x  9, y  3, z  7] = 12 * [(9*7 + 3(1-7)) + Σ w=0,1 (7 + 3(1-w))]

May 11, Example 12*p 3 (7) = 12 * [(9*7 + 3(1-7)) + Σ w=0,1 (7 + 3(1-w))] Round 4: (prover claims = 12*10) –everyone agrees expression = 12*[6+(…)] –prover removes outermost “Σ”; sends p 4 (w) = 10w + 10 –verifier checks: p 4 (0)+p 4 (1) = = 30; 12*[6+30]  12*10 (mod 13) –verifier picks randomly: z 4 = 2 –Final check: 12*[(9*7+3(1-7))+(7+3(1-2))] = 12*[6+p 4 (2)] = 12*[6+30]

May 11, Arthur-Merlin Games IP permits verifier to keep coin-flips private –necessary feature? –GNI protocol breaks without it Arthur-Merlin game: interactive protocol in which coin-flips are public –Arthur (verifier) may as well just send results of coin-flips and ask Merlin (prover) to perform any computation Arthur would have done

May 11, Arthur-Merlin Games Clearly Arthur-Merlin  IP –“private coins are at least as powerful as public coins” Proof that IP = PSPACE actually shows PSPACE  Arthur-Merlin  IP  PSPACE –“public coins are at least as powerful as private coins” !