Download presentation
Presentation is loading. Please wait.
Published byShayna Squires Modified over 9 years ago
1
IP=PSPACE Nikhil Srivastava CPSC 468/568
2
Outline IP Warmup: coNP IP by arithmetization PSPACE (wrong) attempt at PSPACE IP (revised) PSPACE IP IP PSPACE
3
IP NP:x L iff y s.t. V(x,y)=1, V poly. TM IP: 2-player game between prover P (computationally unbounded) verifier V (probabilistic poly. time) If x L, P Pr[V accepts]≥ 2/3 ( completeness) If x L, P Pr[V accepts]≤1/3 (soundness) PV x
4
Warmup: coNP IP UNSAT = { : x 1 x 2 …x n (x 1,x 2,..,x n )} Arithmetization, Ar:{formulas} F p [x 1..x n ] x (1-x) x y x y x y x+y Ex: Ar[x 1 ( x 1 x 2 )] = x 1 ((1-x 1 )+x 2 ) (x 1 …x n )=0 iff Ar (x 1 …x n )=0 for x 1 …x n {0,1}
5
Arithmetization and Quantifiers Properties: Arithmetize x 1 (x 1 ) as x 1 {0,1} h(x 1 ) is unsatisfiable iff q= x1 {0,1} x2 {0,1} … xn {0,1} h(x 1 …x n )=0 deg(h)≤m
6
Protocol for UNSAT P V prime p check p prime, big enough
7
check q 1 (0)+q 1 (1)=0 pick r 1 F p check q 2 (0)+q 2 (1)=q 1 (r 1 ) pick r 2 F p check q n (0)+q n (1)=q n-1 (r n-1 ) check h(r 1 ….r n )=q n (r n ) Protocol for UNSAT q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) q n (x):= h(r 1,r 2,…r n-1,x) P V q1q1 r1r1 q2q2 r2r2 In general, the prover tries to convince the verifier that: q i (r)=q i+1 (0)+q +1 (1) qnqn
8
check q 1 (0)+q 1 (1)=0 pick r 1 F p check q 2 (0)+q 2 (1)=q 1 (r 1 ) pick r 2 F p check q n (0)+q n (1)=q n-1 (r n-1 ) check h(r 1 ….r n )=q n (r n ) Completeness: UNSAT,q=0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) q n (x):= h(r 1,r 2,…r n-1,x) P V q1q1 r1r1 q2q2 r2r2 ACCEPT qnqn
9
check q’ 1 (0)+q’ 1 (1)=0 Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) must send q’ 1 q 1 P V q’ 1
10
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[q’ 1 (r 1 ) = q 1 (r 1 )] ≤m/p -> Yay! Send true q 2 ’=q 2 Pr[q’ 1 (r 1 ) q 1 (r 1 )] 1-m/p -> Must lie again…, send q 2 ’ q 2 P V q’ 1 r1r1 q’ 2
11
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) pick r 2 F p Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[send q’ 2 =q 2 ]≤m/p, else send q’ 2 q 2 q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) Pr[q’ 2 (r 2 ) = q 2 (r 2 )] ≤m/p -> Yay! Send true q 3 ’=q 3 Pr[q’ 2 (r 2 ) q 2 (r 2 )] 1-m/p -> Must lie again…, send q 3 ’ q 3 P V q’ 1 r1r1 q’ 2 r2r2
12
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) pick r 2 F p check q’ n (0)+q’ n (1)=q’ n-1 (r n-1 ) check h(r 1 ….r n )=q’ n (r n ) Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[send q’ 2 =q 2 ]≤m/p, else send q’ 2 q 2 q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) Pr[send q’ 3 =q 3 ]≤m/p, else send q’ 3 q 3 q n (x):= h(r 1,r 2,…r n-1,x) Pr[send q’ n =q n ]≤m/p, else send q’ n q n P V q’ 1 r1r1 q’ 2 r2r2 q’ n
13
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) pick r 2 F p check q’ n (0)+q’ n (1)=q’ n-1 (r n-1 ) check h(r 1 ….r n )=q’ n (r n ) Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[send q’ 2 =q 2 ]≤m/p, else send q’ 2 q 2 q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) Pr[send q’ 3 =q 3 ]≤m/p, else send q’ 3 q 3 q n (x):= h(r 1,r 2,…r n-1,x) Pr[send q’ n =q n ]≤m/p, else send q’ n q n P V q’ 1 r1r1 q’ 2 r2r2 q’ n Pr[h(r 1 ….r n )=q n (r n )=q’ n (r n )]≤m/p Pr≤mn/p
14
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) pick r 2 F p check q’ n (0)+q’ n (1)=q’ n-1 (r n-1 ) check h(r 1 ….r n )=q’ n (r n ) Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[send q’ 2 =q 2 ]≤m/p, else send q’ 2 q 2 q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) Pr[send q’ 3 =q 3 ]≤m/p, else send q’ 3 q 3 q n (x):= h(r 1,r 2,…r n-1,x) Pr[send q’ n =q n ]≤m/p, else send q’ n q n P V q’ 1 r1r1 q’ 2 r2r2 q’ n Pr[h(r 1 ….r n )=q n (r n )=q’ n (r n )]≤m/p
15
check q’ 1 (0)+q’ 1 (1)=0 pick r 1 F p check q’ 2 (0)+q’ 2 (1)=q’ 1 (r 1 ) pick r 2 F p check q’ n (0)+q’ n (1)=q’ n-1 (r n-1 ) check h(r 1 ….r n )=q’ n (r n ) Soundness: UNSAT,q>0 q 1 (x) := x2,x3…xn {0,1} h(x,x 2,…,x n ) send q’ 1 q 1 q 2 (x) := x3…xn {0,1} h(r 1,x,x 3,…,x n ) Pr[send q’ 2 =q 2 ]≤m/p, else send q’ 2 q 2 q 3 (x) := x4…xn {0,1} h(r 1,r 2,x,…,x n ) Pr[send q’ 3 =q 3 ]≤m/p, else send q’ 3 q 3 q n (x):= h(r 1,r 2,…r n-1,x) Pr[send q’ n =q n ]≤m/p, else send q’ n q n P V q’ 1 r1r1 q’ 2 r2r2 q’ n Pr[h(r 1 ….r n )=q n (r n )=q’ n (r n )]≤m/p Pr≤mn/p
16
PSPACE PSPACE = {L decidable by poly. space TM} Go, Chess PSPACE, PH PSPACE Quantified Boolean Formula: = x 1 x 2 x 3 … x n (x 1,x 2,…,x n ) TQBF = {true }
17
PSPACE IP, Naïve attempt Use similar arithmetization for QBFs x (1-x) x y x y x y x+y x x {0,1} x x {0,1} Peel off one or at a time, checking q i (0)+q i (1)=q i+1 (r) and q i (0)q i (1)=q i+1 (r) in alternate rounds.
18
Problem: doubles degree q= x 1 {0,1} x 2 {0,1} … x n-2 {0,1} x n-1 {0,1} x n {0,1} h(x 1,…,x n ) 2 n/2 (m) 2 n/2 (m) … 4(m) 2(m) 2(m) m
19
Degree Reduction Operator Rx i U(x 1,…x i,…,x n ) = U with all x i k x i Formally, Rx i U(x 1,…x i,…,x n ) =x i ·U(x 1 …x i-1,1,x i+1,…x n )+ (1-x i )·U(x 1 …x i-1,0,x i+1,…x n ) Let q=Ex 1 Rx 1 Ax 2 Rx 1 Rx 2 Ex 3 Rx 1 Rx 2 Rx 3 …Ex n Rx 1 Rx 2 …Rx n h(x 1,…,x n ) Let old q (without R)=q o. Then q=0 iff q 0 =0.
20
PSPACE IP, revised protocol To verify U(v 1,…v n )=k –Case U=ExS(x,v 1,…,v n-1 ): ask prover for g(x)=S(x,v 1,…v n ). check g(0)+g(1)=k pick random r F p, send to prover recursively verify S(r,v 1,…v n-1 )=g(r) –Case U=AxS(x,v 1,…,v n-1 ): identical, but test g(0)g(1)=k
21
PSPACE IP, revised protocol To verify U(v 1,…v n )=k –Case U=RxS(x,v 1,…,v n-1 ): let g 0 (x) be previous g, r 0 previous r ask prover for g(x)=S(x,v 1,…,v n ) check Rxg(x)[r 0 ]=s 0 [r 0 ] pick random r F p, send to prover recursively verify S(r,v 1,…v n-1 )=g(r)
22
Soundness: q=0 In each round, an E|A|R is eliminated Pr[fooling verifier in a round]≤(degree)/p Pr[V accepts]≤(sum of degrees)/p q=Ex 1 Rx 1 Ax 2 Rx 1 Rx 2 Ex 3 Rx 1 Rx 2 Rx 3 …Ex n Rx 1 Rx 2 …Rx n h(x 1,…,x n ) Pr[V accepts]≤(nm+2n 2 )/p≤1/3 for large p ≤malternating 1 and 2
23
Soundness: q=0 In each round, an E|A|R is eliminated Pr[fooling verifier in a round]≤(degree)/p Pr[V accepts]≤(sum of degrees)/p q=Ex 1 Rx 1 Ax 2 Rx 1 Rx 2 Ex 3 Rx 1 Rx 2 Rx 3 …Ex n Rx 1 Rx 2 …Rx n h(x 1,…,x n ) Pr[V accepts]≤(nm+2n 2 )/p≤1/3 for large p ≤malternating 1 and 2
24
IP PSPACE Suppose L IP, fix protocol. Goal: find M=max P Pr P [V accepts x] If M≤1/3 reject, otherwise accept.
25
IP PSPACE Compute P with `optimal strategy’ Assume V uses coin flips r Transcript := q 1,a 1,q 2,a 2 ….q n,a n
26
IP PSPACE Define F(q 1,a 1 …q i )= max P Pr[V accepts|q 1,a 1 …q i ]
27
IP PSPACE Define F(q 1,a 1 …q i )= max P Pr[V accepts|q 1,a 1 …q i ] Know that: F(q 1,…q n,a n )= 1 if V accepts, 0 otherwise Want: F(q 1 )=max Pr[V accepts]=M
28
IP PSPACE F(q 1,a 1,…q i )=max ai F(q 1,a 1,…q i,a i ) F(q 1,…a i )= qi+1 Pr[q i+1 |q 1 …a i ]F(q 1,…a i,q i+1 )
29
IP PSPACE F(q 1,a 1,…q i )=max ai F(q 1,a 1,…q i,a i ) F(q 1,…a i )= qi+1 Pr[q i+1 |q 1 …a i ]F(q 1,…a i,q i+1 ) Enumerate 2 |r| coin flip sequences, simulate V Compute recursively
30
IP PSPACE F(q 1,a 1,…q i )=max ai F(q 1,a 1,…q i,a i ) F(q 1,…a i )= qi+1 Pr[q i+1 |q 1 …a i ]F(q 1,…a i,q i+1 ) Enumerate 2 |r| coin flip sequences, simulate V Compute recursively
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.