lecture16 - Notes on Complexity Theory Last updated:...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Notes on Complexity Theory Last updated: October, 2011 Lecture 16 Jonathan Katz 1 Interactive Proofs Let us begin by re-examining 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 two-sided error). If we go back to allowing non-empty 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

Page1 / 6

lecture16 - Notes on Complexity Theory Last updated:...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online