Tuesday, March 25, 2008 * Collapse of PH * Probabilistic analog of NP: Interactive Proofs * IP is subset of PSPACE COLLAPSE OF PH A set A is in Sigma_k^P iff there is a deterministic poly-time machine M and constant c such that A = {x : Exists y_1 All y_2 Exists y_3 ... M(x, y_1, ..., y_k) accepts} Theorem: If NP = co-NP, then PH = NP INTERACTIVE PROOFS: PROBABILISTIC ANALOG OF NP We have a prover and a verifier. Both of them have an input tape, a worktape, and a shared communication tape. Prover is a deterministic machine with no bounds on its running time. Verifier is a probabilistic poly-time Turing machine. Alternately, the prover and verifier exchange information through the shared tape. The prover can only write a polynomial amount of information on the tape. The goal of the prover is to convince the verifier that the given string is in the language with high probability. The number of rounds allowed is polynomial. We say that a language L is in IP if there exists an IP protocol such that: Completeness: There exists a prover such that w is in L => Pr[Verifier accepts w] >= 2/3 Soundness: For all provers, if w is not in L => Pr[Verifier rejects w] >= 2/3 Again, the 2/3 is not significant. We can bring this up to 1 - 2^{-n}. Theorem: NP is subset of IP. Proof: For a language in NP, the prover supplies a certificate (by exhaustingly going over all possibilities, if needed) to the verifier. The verifier can check in poly-time (no random bits needed). For string not in language, there is no poly-length certificate, so no prover will be able to provide this. End Proof Lemma: Graph nonisomorphism is in IP. Proof: Given G_1 and G_2, the verifier selects a random permutation of the nodes, applies it to one of the two graphs G_i in random and passes this graph, call it H, to the prover. The prover is asked to prove or disprove that H is isomorphic to G_1. If G_1 is not isomorphic to G_2, then with probability 1/2, H is not isomorphic to G_1, and the prover can easily check this and say no. If G_1 is isomorphic to G_2, then under no circumstance can any prover distinguish between the two. Suppose we run this for k rounds. The verifier's protocol is that if the graph sent was the same as G_1 and the prover says "not isomorphic", then immediately reject. If whenever the graph sent was different, the prover says "not isomorphic", then accept. An honest prover would ensure that nonisomorphic graphs will always be accepted. What is the probability that isomporphic graphs will be accepted? It says "not isomorphic" for precisely the cases where the two graphs sent were different -- this is at most 1/2^k. End Proof