IP (complexity)

From Wikipedia, the free encyclopedia

In computational complexity theory, the class IP is the class of problems solvable by an interactive proof system. The concept of an interactive proof system was first introduced by Goldwasser, et al. in 1985. An interactive proof system consists of two machines, a prover, P, which presents a proof that a given string n is a member of some language, and a verifier, V, that checks that the presented proof is correct. The prover is assumed to be infinite in computation and storage, while the verifier is a probabilistic polynomial-time machine with access to a random bit string whose length is polynomial on the size of n. These two machines exchange a polynomial number, p(n), of messages and once the interaction is completed, the verifier must decide whether or not n is in the language, with only a 1/3 chance of error. (So any language in BPP is in IP, since then the verifier could simply ignore the prover and make the decision on its own.) More formally:

For any language L, L \in IP \Rightarrow \exists V, P | \forall Q, w:

  • w \in L \Rightarrow Pr[V \leftrightarrow P\ accepts\ w] \ge \frac{2}{3}
  • w \not \in L \Rightarrow Pr[V \leftrightarrow Q\ accepts\ w] \le \frac{1}{3}

The Arthur-Merlin protocol, introduced by Laszlo Babai, is similar in nature, except that the number of rounds of interaction is bounded by a constant rather than a polynomial.

Goldwasser et al have shown that public-coin protocols, where the random numbers used by the verifier are provided to the prover along with the challenges, are no more powerful than private-coin protocols. At most two additional rounds of interaction are required to replicate the effect of a private-coin protocol.

In the following section we prove that IP = PSPACE, an important theorem in computational complexity, which demonstrates that an interactive proof system can be used to decide whether a string is a member of a language in polynomial time, even though the traditional PSPACE proof may be exponentially long.

Contents

[edit] Proof that IP = PSPACE

In order to prove that IP and PSPACE are equal, we show that IP is a subset of PSPACE and also that PSPACE is a subset of IP, and hence the two are equivalent. In order to demonstrate that IP \subseteq PSPACE, we present a simulation of an interactive proof system by a polynomial space machine. To prove that PSPACE \subseteq IP, we show that the PSPACE-complete language TQBF is in IP. Both parts of the proof are adapted from Sipser.

[edit] IP is a subset of PSPACE

Let A be a language in IP. Now, assume that on input w with length n, A's verifier V exchanges exactly p = p(n) messages. We now construct a machine M that simulates V and is in PSPACE. To do this, we define our machine as follows:

Pr[V\ accepts\ w] = max_P Pr[V \leftrightarrow P\ accepts\ w]

By the definition of IP, we have Pr[V\ accepts\ w] \ge \frac{2}{3} if w \in A and Pr[V\ accepts\ w] \le \frac{1}{3} if w \not \in A.

Now, it must be shown that the value can be calculated in polynomial space. Here we take Mj denote to denote this sequence of messages, m_1\# \ldots \#m_j, exchanged by the prover and the verifier, and we generalize the interaction of V and P to start with an arbitrary message stream Mj. We take (V \leftrightarrow P)(w,r,M_j) = accept if Mj can be extended with the messages mj + 1 through mp such that:

  • For j \leq i < p, where i is even, V(w,r,Mi) = mi + 1
  • For j \leq i < p, where i is odd, P(w,r,Mi) = mi + 1
  • The final message mp in the message history is accept

In other words, when i is even, the verifier sends a message, when it is odd, the prover sends a message, and the final message is to accept. The first two rules ensure that the message sequence is valid, and the third ensures that this message sequence leads to an accept.

Next, further generalizing the earlier definitions, and taking a random string r of length p, we define:

Pr[V \leftrightarrow P\ accepts\ w\ starting\ at\ M_j] = Pr[(V \leftrightarrow P)(w,r,M_j) = accept]

Now, we can define:

Pr[V accepts\ w\ starting\ at\ M_j] = max_P Pr[V \leftrightarrow P\ accepts\ w\ starting\ at\ M_j]

and for every 0 \leq j \leq p and every message history Mj, we inductively define the function N_{M_j}:


N_{M_j} = 
\begin{cases}
  0: j = p\ and\ m_p = reject\\
  1: j = p\ and\ m_p = accept\\
  max_{m_{j+1}} N_{M_{j+1}}: j < p\ and\ j\ is\ odd\\
  wt-avg_{m_{j+1}} N_{M_{j+1}}: j < p\ and\ j\ is\ even\\
\end{cases}

where the term wt-avg_{m_{j+1}}N_{M_{j+1}} is defined as follows:

wt-avg_{m_{j+1}}N_{M_{j+1}} = \sum_{m_{j+1}}(Pr_r[V(w,r,M_j)])

where Prr is the probability taken over the random string r of length p. This expression is the average of N_{M_{j+1}}, weighted by the probability that the verifier sent message mj + 1.

Take M0 to be the empty message sequence, here we will show that N_{M_0} can be computed in polynomial space, and that N_{M_0} = Pr[V\ accepts\ w]. First, to compute N_{M_0}, an algorithm can recursively calculate the values N_{M_j} for every j and Mj. Since the depth of the recursion is p, only polynomial space is necessary. The second requirement is that we need N_{M_0} = Pr[V\ accepts\ w], the value needed to determine whether w is in A. We use induction to prove this as follows.

We must show that for every 0 \leq j \leq p and every Mj, N_{M_j} = Pr[V\ accepts\ w\ starting\ at M_j], and we will do this using induction on j. The base case is to prove for j = p. Then we will use induction to go from p down to 0.

The base case (j = p) is fairly simple. Since mp is either accept or reject, if mp is accept, N_{M_p} is defined to be 1 and Pr[V accepts w starting at Mj] = 1 since the message stream indicates acceptance, thus the claim is true. If mp is reject, the argument is very similar.

For the inductive hypothesis, we assume that for some j + 1 \leq p and any message sequence Mj + 1, N_{M_{j+1}} = Pr[V\ accepts\ w\ starting\ at\ j+1] and then prove the hypothesis for j and any message sequence Mj.

If j is even, mj + 1 is a message from V to P. By the definition of N_{M_j}, N_{M_j} = \sum_{m_{j+1}}(Pr_r[V(w,r,M_j)=m_{j+1}] N_{M_{j+1}}). Then, by the inductive hypothesis, we can say this is equal to \sum_{m_{j+1}}(Pr_r[V(w,r,M_j)=m_{j+1}] * Pr[V\ accepts\ w\ starting\ at\ M_{j+1}]). Finally, by definition, we can see that this is equal to Pr[V\ accepts\ w\ starting\ at\ M_j].

If j is odd, mj + 1 is a message from P to V. By definition, N_{M_j} = max_{m_{j+1}} N_{M_{j+1}}. Then, by the inductive hypothesis, this equals max_{m_{j+1}} * Pr[V\ accepts\ w\ starting\ at\ M_{j+1}]. This is equal to Pr[V\ accepts\ w\ starting\ at\ M_j] since:

max_{m_{j+1}} Pr[V\ accepts\ w\ starting\ at\ M_{j+1}] \leq Pr[V\ accepts\ w\ starting\ at\ M_j]

because the prover on the right-hand side could send the message mj + 1 to maximize the expression on the left-hand side. And:

max_{m_{j+1}} Pr[V\ accepts\ w\ starting\ at\ M_{j+1}] \geq Pr[V\ accepts\ w\ starting\ at\ M_j]

Since the same Prover cannot do any better than send that same message. Thus, this holds whether i is even or odd and the proof that IP \subseteq PSPACE is complete.

Here we have constructed a polynomial space machine that uses the best prover P for a particular string w in language A. We use this best prover in place of a prover with random input bits because we are able to try every set of random input bits in polynomial space. Since we have simulated an interactive proof system with a polynomial space machine, we have shown that IP \subseteq PSPACE, as desired.

\Box

[edit] PSPACE is a subset of IP

In order to illustrate the technique that will be used to prove PSPACE \subseteq IP, we will first prove a weaker theorem, which was proven by Lund, et al.: \#SAT \in PSPACE. Then using the concepts from this proof we will extend it to show that TQBF \in PSPACE. Since TQBF \in PSPACE-Complete, and TQBF \in IP then PSPACE \subseteq IP.

[edit] #SAT is a member of IP

We begin by showing that \#SAT \in IP, where:

\#SAT = \{ \langle \phi, k \rangle \mid \phi is a cnf-formula with exactly k satisfying assignments }.

Note that this is different from the normal definition of #SAT, in that it is a decision problem, rather than a function.

First we use arithmetization to map the boolean formula with n variables, φ(b1,b2,...,bn) to a polynomial pφ(x1,x2,...,xn), where pφ mimics φ in that pφ is 1 if φ is true and 0 otherwise provided that the variables of pφ are assigned Boolean values. The Boolean operations \vee, \wedge, and \neg used in φ are simulated in pφ by replacing the operators in φ as shown in the table below.

Arithmetization rules for converting a Boolean formula φ(b1,b2,...,bn)to a polynomial pφ(x1,x2,...,xn)

a \wedge b ab
a \vee b a * b = def1 − (1 − a)(1 − b)
\neg a 1 − a

As an example, \phi = a \wedge b \vee \neg c would be converted into a polynomial as follows:

  •  p_\phi = a \wedge b \vee \neg c
  •  p_\phi = a \wedge (1 - (1-b)(1-(1-c)))
  • pφ = a(1 − (1 − b)c)
  • pφ = a − (acabc)

The operations ab and a * b each result in a polynomial with a degree bounded by the sum of the degrees of the polynomials for a and b and hence, the degree of any variable is at most the length of φ.

Now let F be a finite field with order q > 2n; also demand that q be at least 1000. For each 0\leq i\leq n, define a function fi on F, having parameters a_1, ..., a_{i-1}\in F, and a single variable a_i\in F: For 0 \leq i \leq n and for a_1, ..., a_i \in F let f_i(a_1, ..., a_i) = \Sigma _{a_{i+1}, ..., a_n \in \{0, 1\}} p(a_1, ..., a_n). Note that the value of f0 is the number of satisfying assignments of φ. f0 is a void function, with no variables.

Now the protocol for \#SAT works as follows:

  • Phase 0:
    The prover P choses a prime q > 2n and computes f, it then sends q and f0() to the verifier V. V checks that q is a prime greater than max(1000,2n) and that f0() = k.
  • Phase 1:
    P sends the coefficients of f1(z) as a polynomial in z. V verifies that the degree of f1 is less than n and that f0 = f1(0) + f1(1). (If not V rejects). V now sends a random number r1 from F to P.
  • Phase i:
    P sends the coefficients of fi(r1,...,ri − 1,z) as a polynomial in z. V verifies that the degree of fi is less than n and that fi − 1(r1,...,ri − 1) = fi(r1,...,ri − 1,0) + fi(r1,...,ri − 1,1). (If not V rejects). V now sends a random number ri from F to P.
  • Phase n+1:
    V evaluates p(r1,...,rn) to compare to the value fn(r1,...,rn). If they are equal V accepts, otherwise V rejects.

Note that this is a public-coin algorithm.

If φ has k satisfying assignments, clearly V will accept. If φ does not have k satisfying assignments we assume there is a prover \tilde P that tries to convince V that φ does have k satisfying assignments. We show that this can only be done with low probability.

To prevent V from rejecting in phase 0, \tilde P has to send an incorrect value \tilde f_0() to P. Then, in phase 1, \tilde P must send an incorrect polynomial \tilde f_1 with the property that \tilde f_1(0)+\tilde f_1(1) = \tilde f_0(). When V chooses a random r1 to send to P, Pr[\tilde f_1(r_1) = f_1(r_1)] < n^{-2}. This is because a polynomial in a single variable of degree at most d can have no more than d roots (unless it always evaluates to 0). So, any two polynomials in a single variable of degree at most d can be equal only in d places. Since | F | > 2n the chances of r1 being one of these values is at most n / 2n < n / n3 if n > 10, or at most n/1000 \leq n/n^3 if n \leq 10.

Generalizing this idea for the other phases we have for each 1 \leq i \leq n if \tilde f_{i-1}(r_1, ..., r_{i-1}) \not=f_{i-1}(r_1, ..., r_{i-1}), then for ri chosen randomly from F, Pr[\tilde f(r_1, ..., r_i) = f_i(r_1, ..., r_i)] \leq n^{-2}. There are n phases, so the probability that \tilde P is lucky because V selects at some stage a convenient ri is at most 1 / n. So, no prover can make the verifier accept with probability greater than 1 / n. We can also see from the definition that the verifier V operates in probabilistic polynomial time. Thus, \#SAT \in IP.

[edit] TQBF is a member of IP

In order to show that PSPACE is a subset of IP, we need to choose a PSPACE-Complete problem and show that it is in IP. Once we show this, then it clear that PSPACE \subseteq IP. The proof technique demonstrated here is credited to Adi Shamir

We know that TQBF is in PSPACE-Complete. So let ψ be a quantified boolean expression:

ψ = Q1x1Q2x2...Qmxm[φ]

where φ is a CNF formula. Then Qi is a quantified, either \exists or \forall. Now fi is the same as in the previous proof, but now it also includes quantifiers.

f_i(a_1, ..., a_i) = 
\begin{cases}
f_i(a_1, a_2,...a_m) =  1~if~ Q_{i+1}x_{i+1}...Q_mx_m[\phi(a_1,a_2...a_i)]~is~true\\
0~otherwise
\end{cases}

Here, φ(a1,a2,...,ai) is φ with a1 to ai substituted for x1 to xi. Thus f0() is the truth value of ψ. In order to arithmetize ψ we must use the following rules: If\ Q_{i+1} = \forall , f_i(a_1,a_2,....a_i) = f_{i+1}(a_1,a_2,...,a_i,0)\cdot f_{i+1}(a_1,a_2,...,a_i,1)

If\ Q_{i+1} = \exists, f_i(a_1,a_2,....a_i) = f_{i+1}(a_1,a_2,...,a_i,0) * f_{i+1}(a_1,a_2,...,a_i,1)

where as before we define x * y = 1-(1-x)(1-y).

By using the method described in \#SAT, we must face a problem that for any fi the degree of the resulting polynomial may double with each quantifier. In order to prevent this, we must introduce a new reduction operator R which will reduce the degrees of the polynomial without changing their behavior on Boolean inputs.

So now before we arithmetize ψ = Q1x1Q2x2...Qmxm[φ] we introduce a new expression:

\psi' = Q_1 R_{x_1} Q_2 R_{x_2}...Q_m R_{x_m}[\phi]

Or written another way:

\psi' = S_1 y_1 S_2 y_2...S_m y_m[\phi], where\ S_i \in \{ \forall ,\exists , R\}, and\ y_i \in \{ x_1,x_2,...x_m\}

Now for every i \leq k we define the function fi. We also define fk(x1,x2,....xm) to be the polynomial p(x1,x2,...xm) which is obtained by arithmetizing φ. Now in order to keep the degree of the polynomial low, we define fi in terms of fi + 1:

If\ S_{i+1} = \forall, f_i(a_1,a_2,....a_i) = f_{i+1}(a_1,a_2,....a_i,0)\cdot f_{i+1}(a_1,a_2,....a_i,1)

If\ S_{i+1} = \exists, f_i(a_1,a_2,....a_i) = f_{i+1}(a_1,a_2,....a_i,0) * f_{i+1}(a_1,a_2,....a_i,1)

If\ S_{i+1} = R, f_i(a_1,a_2,....a_i,a) =  (1-a)f_{i+1}(a_1,a_2,....a_i,0) + a f_{i+1}(a_1,a_2,....a_i,1)

Now we can see that the reduction operation R, doesn't change the degree of the polynomial. Also it is important to see that the Rx operation doesn't change the value of the function on boolean inputs. So f0 is still the truth value of ψ, but the Rx value produces a result that is linear in x. Also after any Qixi we add R_{x_1}...R_{x_i} in ψ' in order to reduce the degree down to 1 after arithmetizing Qi.

Now let's describe the protocol. If n is the length of ψ, all arithmetic operations in the protocol are over a field of size at least n4 where n is the length of ψ.

  • Phase 0:

P \rightarrow V: P sends f0 to V. V checks that f0 = 1 and rejects if not.

  • Phase 1:

P \rightarrow V: P sends f1(z) to V. V uses coefficients to evaluate f1(0) and f1(1). Then it checks that the polynomial's degree is at most n and that the following identities are true:

  • f_{0}() = 
\begin{cases}
\ f_{1}(0)\cdot f_{1}(1) ~if~ S = \forall \\
f_{1}(0) * f_{1}(1) ~if~ S = \exists. 
\end{cases}
  • f_{0}() = (1-r)f_{1}(0) + rf_{1}(1) ~if~ S = R.

If either fails then reject.

  • Phase i:

P \rightarrow V: P sends fi(r1,r2...ri − 1,z) as a polynomial in z. r1 denotes the previously set random values for r1,r2...ri − 1

V uses coefficients to evaluate fi(r1,r2...ri − 1,0) and fi(r1,r2...ri − 1,1). Then it checks that the polynomial degree is at most n and that the following identities are true:

  • f_{i-1}(r_1,r_2...r_{i-1}) = \{
f_{i}(r_1,r_2...r_{i-1},0)\cdot f_{i}(r_1,r_2...r_{i-1},1) ~if~
S = \forall.
  • f_{i}(r_1,r_2...r_{i-1},0) * f_{i}(r_1,r_2...r_{i-1},1) ~if~
S = \exists.
  • f_{i-1}(r_1...r) = (1-r)f_{i}(r_1,r_2...r_{i-1},0) +
rf_{i}(r_1,r_2...r_{i-1},1) ~if~ S = R.If either fails then reject.

V \rightarrow P: V picks a random r in F and sends it to P. (If S=R then this r replaces the previous r).

Goto phase i+1 where P must persuade V that fi(r1,...,r) is correct.


  • Phase k+1:

V evaluates p(r1,r2,...,rm). Then it checks if p(r1,r2,...,rm) = fk(r1,r2,....rm) If they are equal then V accepts, otherwise V rejects.

This is the end of the protocol description.

If ψ is true then V will accept when P follows the protocol. Likewise if  \tilde{P} is a malicious prover which lies, and if ψ is false, then  \tilde{P} will need to lie at phase 0 and send some value for f0. If at phase i, V has an incorrect value for fi − 1(r1,...) then fi(r1,...0) and fi(r1,...1) will likely also be incorrect, and so forth. The probability for  \tilde{P} to get lucky on some random r is at most the degree of the polynomial divided by the field size: n / n4. The protocol runs through O(n2) phases, so the probability that  \tilde{P} gets lucky at some phase is \leq \frac{1}{n}. If  \tilde{P} is never lucky, then V will reject at phase k+1.

Since we have now shown that both IP \subseteq PSPACE and PSPACE \subseteq IP, we can conclude that IP = PSPACE as desired. Moreover, we have shown that any IP algorithm may be taken to be public-coin, since the reduction from PSPACE to IP has this property.

\Box

[edit] Variants

There are a number of variants of IP which slightly modify the definition of the interactive proof system. We summarize some of the more well-known ones here.

[edit] MIP

Main article: Interactive proof system#MIP

In 1988, Goldwasser et al. created an even more powerful interactive proof system based on IP called MIP in which there are two independent provers. The two provers cannot communicate once the verifier has begun sending messages to them. Just as it's easier to tell if a criminal is lying if he and his partner are interrogated in separate rooms, it's considerably easier to detect a malicious prover trying to trick the verifier if there is another prover it can double-check with. In fact, this is so helpful that Babai, Fortnow, and Lund were able to show that MIP = NEXPTIME, the class of all problems solvable by a nondeterministic machine in exponential time, a very large class. Moreover, all languages in NP have zero-knowledge proofs in an MIP system, without any additional assumptions; this is only known for IP assuming the existence of one-way functions.

[edit] IPP

IPP (unbounded IP) is a variant of IP where we replace the BPP verifier by a PP verifier. More precisely, we modify the completeness and soundness conditions as follows:

  • Completeness: if a string is in the language, the honest verifier will be convinced of this fact by an honest prover with probability at least 1/2.
  • Soundness: if the string is not in the language, no prover can convince the honest verifier that it is in the language, except with probability less than 1/2.

Although IPP also equals PSPACE, IPP protocols behaves quite differently from IP with respect to oracles: IPP=PSPACE with respect to all oracles, while IPPSPACE with respect to almost all oracles. [1]

[edit] QIP

QIP is a version of IP replacing the BPP verifier by a BQP verifier, where BQP is the class of problems solvable by quantum computers in polynomial time. The messages are composed of qubits.[2] It is not yet known if QIP strictly contains IP (that is, whether quantum computation adds power to interactive proofs), but it is known that QIP = QIP[3], so that more than three rounds are never necessary. Also, QIP is contained in EXPTIME.[3]

[edit] compIP

Whereas IPP and QIP give more power to the verifier, a compIP system (competitive IP proof system) weakens the completeness condition in a way that weakens the prover:

  • Completeness: if a string is in the language L, the honest verifier will be convinced of this fact by an honest prover with probability at least 2/3. Moreover, the prover will do so in probabilistic polynomial time given access to an oracle for the language L.

Essentially, this makes the prover a BPP machine with access to an oracle for the language, but only in the completeness case, not the soundness case. The concept is that if a language is in compIP, then interactively proving it is in some sense as easy as deciding it. With the oracle, the prover can easily solve the problem, but its limited power makes it much more difficult to convince the verifier of anything. In fact, compIP isn't even known or believed to contain NP.

On the other hand, such a system can solve some problems believed to be hard. In can easily solve all NP-complete problems due to self-reducibility. Additionally, our earlier proof that graph nonisomorphism is in IP also shows that it is in compIP, since the only hard operation the prover ever does is isomorphism testing, which it can use the oracle to solve. Quadratic non-residuosity and graph isomorphism are also in compIP.[4]

[edit] Additional Sources

  • Babai, L. Trading group theory for randomness. In Proceedings of the 17th ACM Symposium on the Theory of Computation . ACM, New York, 1985, pp. 421-429.
  • Lund, C., Fortnow, L.. Karloff, H., Nisan, N. Algebraic methods for interactive proof systems. In Proceedings of 31st Symposium on the Foundations of Computer Science. IEEE, New York, 1990, pp. 2-90.
  • Adi Shamir. IP = PSPACE. Journal of the ACM, volume 39, issue 4, p.869-877. October 1992.


  • Sipser, Michael. "Introduction to the Theory of Computation", Boston, 1997, pg. 392-399.


  1. ^ R. Chang, B. Chor, Oded Goldreich, J. Hartmanis, J. Håstad, D. Ranjan, and P. Rohatgi. The random oracle hypothesis is false. Journal of Computer and System Sciences, 49(1):24-39. 1994.
  2. ^ J. Watrous. PSPACE has constant-round quantum interactive proof systems. Proceedings of IEEE FOCS'99, pp. 112-119. 1999.
  3. ^ A. Kitaev and J. Watrous. Parallelization, amplification, and exponential time simulation of quantum interactive proof systems. Proceedings of ACM STOC'2000, pp. 608-617. 2000.
  4. ^ Shafi Goldwasser and Mihir Bellare. The Complexity of Decision versus Search. SIAM Journal on Computing, Volume 23, No. 1. February 1994.
Languages