2 Interactive Proofs: Theory and Connections 2.1 What is hardness?

advertisement
Interactive Proofs: Theory and Connections
2.1
What is hardness?
Some problems are easy to solve, some harder. Similarly, some are easy to verify and
others hard. But what do we mean by "hardness”?
Given an input of size n, we define hardness by:
• Time to solve. O(n), O(n3 ), O(2n ).
• Approximability. O(1)-approximation? O(log n)-approximation?
• Space complexity. How much storage space do you need?
• Checking. What’s the cost in resources to verify a solution? How much to verify
that no solution exists?
• Randomness. How many random bits do you require? Can you accept an answer
as correct with high probability? Can you accept two-sided error?
2.2
Language definitions
Definition 2.1 (The class NP [1, Ch. 2]). A language L ⇢ {0, 1}⇤ is in NP if 9 p : N ! N
and polynomial-time TM M s.t 8 x 2 {0, 1}⇤ ,
x 2 L =) 9u 2 {0, 1} p(| x|) s.t M ( x, u) = 1
If M ( x, u) = 1 and u 2 {0, 1}⇤ , u is a certificate for x w.r.t. L and M.
Definition 2.2 (The class PSPACE [1, Ch. 4]). A language L ⇢ {0, 1}⇤ is in PSPACE if
9 p : N ! N and TM M s.t M uses at most p(| x |) space and 8 x 2 {0, 1}⇤ ,
x 2 L =) M( x ) = 1
x2
/ L =) M( x ) = 0.
PSPACE is the space equivalent of P.
PSPACE vs. NP
• Note that NP ✓ PSPACE.
• It is believed that NP ⇢ PSPACE
• An example of a PSPACE-Complete language: TQBF: the set of all qualified (8/9)
Boolean formulae that are true.
5
2
2. I NTERACTIVE P ROOFS : T HEORY AND C ONNECTIONS
An intuitive way to think about PSPACE is by thinking of a PSPACE language as a
“game.” The quantifiers in TQBF, for example, indicate when the attacking player (8)
“moves” by picking any adversarial variable assignment and when the defending player
(9) “moves” by finding a variable assignment that still makes the formula true. If the
formula evaluates as true, the defender “wins,” and the formula is in the language.
2.3
Interactivity [1, Ch. 8]
Models of interactivity
The power of verification depends on the model:
• Deterministic provers (D IP)
• Interactive protocols(IP)
• Arthur-Merlin(AM)
• Multiparty provers (MIP)
• Program checking
Formalizing Interaction
Let f , g : {0, 1}⇤ ! {0, 1}⇤ be functions. A k-round interaction between f and g on
x 2 {0, 1}⇤ is h f , gi( x ) = { a1 , . . . , an }.
a1 = f ( x )
a2 = g( x, a1 )
a3 = f ( x, a1 , a2 )
...
a2i+1 = f ( x, a1 , a2 , . . . , a2i )
a2i+2 = g( x, a1 , a2 , . . . , a2i+1 )
...
out f h f , gi( x ) = f ( x, a1 , a2 , . . . , ak )
Deterministic IP (D IP)
L is k-round deterministic, if 9 Turing machine V that on input x, a1 , a2 , . . . , an and polynomial time on | x | satisfies:
x 2 L =)
x2
/ L =)
6
9 P : {0, 1}⇤ ! {0, 1}⇤ outV hV, Pi( x ) = 1
8 P : {0, 1}⇤ ! {0, 1}⇤ outV hV, Pi( x ) = 0
2.4. Randomized Interaction
The important observation to make is that the verifier is weak (polynomial) and the prover
is arbitrarily powerful.
One way that we can interpret the above definition is that:
1. if it is a fact that Heathcliff is a cat, some prover out there should be able to convince
the verifier of that fact, and
2. no prover, however convincing and glib, should be able to convince the verifier that
Heathcliff is a dog.
We note that D IP = NP. This turns out to be fairly trivial; for NP ✓ D IP, P has arbitrary power and simply presents the certificate to V. Conversely, a nondeterministic
algorithm can guess P’s side of the conversation and can present the whole conversation
as a polynomially-sized certificate that V can verify, so D IP ✓ NP.
2.4
Randomized Interaction
What if we add randomness to D IP?
Let f , g : {0, 1}⇤ ! {0, 1}⇤ be functions. A k-round interaction between f and g on
x 2 {0, 1}⇤ is h f , gi( x ) = { a1 , . . . , ak }, with m-bit random input r to f .
a1 = f ( x, r )
a2 = g( x, a1 )
a3 = f ( x, r, a1 , a2 )
...
a2i+1 = f ( x, r, a1 , a2 , . . . , a2i )
a2i+2 = g( x, a1 , a2 , . . . , a2i+1 )
...
out f h f , gi( x ) = f ( x, r, a1 , a2 , . . . , ak )
Notice that g (the prover) has no access to r.
Randomized IP (Or Just IP)
A language L is in IP[k ] if there is a TM V that on inputs x, a1 , a2 , . . . , ak runs in time
polynomial in | x | and such that
x 2 L =)
9 P s.t Pr[outV hV, Pi( x ) = 1]
x2
/ L =)
8 P, Pr[outV hV, Pi( x ) = 1] 
1
3
2
3
7
2. I NTERACTIVE P ROOFS : T HEORY AND C ONNECTIONS
• Define IP = IP (poly).
• Note for later that the random string r is not available to prover.
Is BPP ✓ IP? Yes, in one round.
One of the most important results in this realm of complexity theory is the following
result:
Theorem 2.1 ([3]). IP = PSPACE.
We won’t expand on this result here.
Checking Graph non-isomorhpism
Check that graphs G1 and G2 are non-isomorphic as follows.
V: Pick i 2 {1, 2} randomly. Permute vertices of Gi to get H and send to P.
P: Check which of G1 or G2 was used to produce H. Send verifier back j 2 {1, 2}
accordingly.
V: Accept if i = j, reject otherwise.
Note that enumerating all possible isomorphisms would take n! or exponential time. Also,
if P knew the random bit of V, would this scheme break? As mentioned below, the answer
is “no.”
2.5
Arthur-Merlin interaction
Let f , g : {0, 1}⇤ ! {0, 1}⇤ be functions. A k-round interaction between f and g on
x 2 {0, 1}⇤ is h f , gi( x ) = {r1 , . . . , rk }, with k m-bit random strings r2i 1 , 1  i  k.
a1 = f ( x, r1 )
a2 = g( x, r1 , a1 )
a3 = f ( x, r3 )
a4 = g( x, r1 , r3 , a1 , a2 , a3 )
...
a2i = g( x, r1 , r3 . . . , r2i
1 , a1 , a2 , . . . , a2i 1 )
...
out f h f , gi( x ) = f (r1 , r3 , . . . , r2k
1 , a1 , a2 , . . . a k )
2 {0, 1}
Notice that g (the prover) has access to coins flipped in the past.
8
2.5. Arthur-Merlin interaction
AM interaction
A language L is in AM[k ] if there is a TM V that on inputs x, a1 , a2 , . . . , ak runs in time
polynomial in | x | and such that
x 2 L =)
9 P s.t Pr[outV hV, P, (i x ) = 1]
x2
/ L =)
8 P, Pr[outV hV, Pi( x ) = 1] 
1
3
2
3
Here the random string r is available to prover.
Public vs private randomness
Note that AM (k ) ✓ IP (k ). Simulate an AM (k ) protocol by a IP (k) verifier revealing
the random string every round. In general, is IP (poly) more powerful than AM (poly)?
Amazingly - no! IP (k ) ✓ AM (k + 2) [2]. The only difference between IP and AM is 2
rounds.
The power of AM (k )
Consider set S = { H : H ⌘ G1 or H ⌘ G2 }. It’s easy to certify that h 2 S:
• Each graph has n! permutations.
• If G1 ⌘ G2 , then |S| = n!, else |S| = 2(n!).
We use the following set lower bound protocol to check size of S.
Set Lower Bound
The problem.
• S ✓ {0, 1}m is a set whose membership can be verified.
• Both P and V know a number K.
• P has to convince V that |S|
• V should reject if |S| 
K.
K
2.
The tool. We use a pairwise-independent hash function family:
• Let Hn,k be a collection of functions from {0, 1}n to {0, 1}k .
• 8 x, x 0 2 {0, 1}n with x 6= x 0 and 8y, y0 2 {0, 1}k , Prh2 H [ h( x ) = y \ h( x 0 ) = y0 ] =
2 2k .
Or simply, any two distinct elements map to the same bucket with probability ( 21k )2 .
9
2. I NTERACTIVE P ROOFS : T HEORY AND C ONNECTIONS
The AM protocol. Let k be a number such that 2k
2
 K  2k 1 .
V: Randomly pick h from Hm,k . Pick random k-bit string y(a hash "bucket”). Send to
prover.
P: Try to find an x 2 S such that h( x ) = y and send to V alongwith certificate u that
x 2 S.
V: If h( x ) = y and u validates x 2 S accept, else reject.
Intuition: If |S| is large enough, then with good probability a random bucket y will
contain at least 1 element of S.
2.6
Some other tricks.
We will mention two useful elementary tools.
• Arithmetization
• Sum-check
Arithmetization
In general, any problem can be expressed as one of Boolean formula satisfaction, and any
Boolean formula can be converted to a polynomial:
x^y $ X·Y
¬ x $ (1 X )
x _ y $ 1 (1 X )(1
Y)
A powerful idea is that we can evaluate these polynomials at arbitrary values and not just
at 0 or 1.
Sumcheck
The problem.
• We are given a degree d polynomial g( X1 , X2 , . . . , Xn ), an integer K, and all computations are modulo a given prime p.
• Verify K = Â X1 2{0,1} Â X2 2{0,1} . . . Â Xn 2{0,1} g( X1 , X2 , . . . , Xn ).
Note that computing all these sums would take exponential time, as there are 2n possible
assignments.
10
2.7. Other models
Preliminaries. Define h( X1 ) = Âb2 2{0,1} Âb3 2{0,1} . . . Âbn 2{0,1} g( X1 , X2 , . . . , Xn ). h( X1 )
is the marginal polynomial, with all other variables summed out. If the claim is true,
K = h (0) + h (1).
Protocol.
V: If n = 1, check that g(1) + g(0) = K. If so accept, otherwise reject. If n
send h( X1 ).
2, ask P to
P: Sends some polynomial s( X1 ).
V: Reject if s(0) + s(1) 6= K. Else, pick random a from 0 to p 1. Recursively use
sumcheck to verify s( a) = Âb2 2{0,1} . . . Âbn 2{0,1} g( a, X2 , . . . , Xn )
Key idea: s( a) h( a) is a degree d polynomial, and hence either s
s( a) = h( a) with at most dp probability over random a.
2.7
h is 0 everywhere, or
Other models
Program checking
C is a program checker for a claimed program P on task T if for all inputs x:
• If P is a correct program for T, then Pr [C accepts P( x )]
2
3.
• If P( x ) 6= T ( x ), then Pr [C accepts P( x )]  13 .
Graph-isomorphism and permanent problem have checkers.
Multiple provers
There can be multiple provers, and the provers do not communicate amongst themselves.
This class is believed to be strictly stronger than IP (MIP = NEXP).
2.8
The take-away
Randomization, use of polynomials and arithmetization gives us power to check solutions
without concise certificate. We shall see more applications of these principles next week.
11
2. I NTERACTIVE P ROOFS : T HEORY AND C ONNECTIONS
2.9
Bibliography
[1] S. Arora and B. Barak. Computational complexity: a modern approach, volume 1. Cambridge University Press Cambridge, UK, 2009.
[2] S Goldwasser and M Sipser. Private coins versus public coins in interactive proof
systems. In Proceedings of the eighteenth annual ACM symposium on Theory of computing,
STOC ’86, pages 59–68, New York, NY, USA, 1986. ACM.
[3] Adi Shamir. IP = PSPACE. J. ACM, 39(4):869–877, October 1992.
12
Download