This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Notes on Complexity Theory Last updated: October, 2011 Lecture 16 Jonathan Katz 1 Interactive Proofs Let us begin by reexamining our intuitive notion of what it means to “prove” a statement. Tra ditional mathematical proofs are static and are verified deterministically : the verifier checks the claimed proof of a given statement and is either convinced that the statement is true (if the proof is correct) or remains unconvinced (if the proof is flawed — note that the statement may possibly still be true in this case, it just means there was something wrong with the proof). A statement is true (in this traditional setting) iff there exists a valid proof that convinces a legitimate verifier. Abstracting this process a bit, we may imagine a prover P and a verifier V such that the prover is trying to convince the verifier of the truth of some particular statement x ; more concretely, let us say that P is trying to convince V that x ∈ L for some fixed language L . We will require the verifier to run in polynomial time (in  x  ), since we would like whatever proofs we come up with to be efficiently verifiable. A traditional mathematical proof can be cast in this framework by simply having P send a proof π to V , who then deterministically checks whether π is a valid proof of x and outputs V ( x,π ) (with 1 denoting acceptance and 0 rejection). (Note that since V runs in polynomial time, we may assume that the length of the proof π is also polynomial.) The traditional mathematical notion of a proof is captured by requiring: • If x ∈ L , then there exists a proof π such that V ( x,π ) = 1. • If x 6∈ L , then no matter what proof π the prover sends we have V ( x,π ) = 0. We refer to the above as a type of proof system, a term we will define more formally later. It should be obvious that L has a proof system of the above sort iff L ∈ NP . There are two ways the above can be generalized. First, we can allow the verifier to be proba bilistic . Assume for a moment that we restrict the prover to sending an empty proof. If the verifier is deterministic, then a language L has a proof system of this sort only if L ∈ P (as the prover is no help here). But if the verifier is probabilistic then we can handle any L ∈ BPP (if we allow twosided error). If we go back to allowing nonempty proofs, then we already gain something: we can eliminate the error when x ∈ L . To see this, recall the proof that BPP ∈ Σ 2 . The basic idea was that if a set S ⊂ { , 1 } ‘ is “small” then for any strings z 1 ,...,z ‘ ∈ { , 1 } ‘ , the set S i ( S ⊕ z i ) is still “small.” To make this concrete, say  S  ≤ 2 ‘ / 4 ‘ . Then for any z 1 ,...,z ‘ we have: fl fl fl fl fl ‘ [ i =1 ( S ⊕ z i ) fl fl fl fl fl ≤ ‘ ·  S  ≤ 2 ‘ / 4 . (1) On the other hand, if S is “large” (specifically, if  S  ≥ (1 1 4 ‘ ) · 2 ‘ ) then there exist z 1 ,...,z m such that S i ( S ⊕ z i ) = { , 1 } ‘ ....
View
Full Document
 Fall '08
 staff
 Interactive proof system

Click to edit the document details