# IP=PSPACE Nikhil Srivastava CPSC 468/568. Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP.

## Presentation on theme: "IP=PSPACE Nikhil Srivastava CPSC 468/568. Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP."— Presentation transcript:

IP=PSPACE Nikhil Srivastava CPSC 468/568

Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP IP  PSPACE

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

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}

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

Protocol for UNSAT P V prime p check p prime, big enough

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

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

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

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

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

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

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

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

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

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  }

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.

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

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.

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

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)

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

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

IP  PSPACE Suppose L  IP, fix protocol. Goal: find M=max P Pr P [V accepts x] If M≤1/3 reject, otherwise accept.

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

IP  PSPACE Define F(q 1,a 1 …q i )= max P Pr[V accepts|q 1,a 1 …q i ]

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

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 )

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

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

Download ppt "IP=PSPACE Nikhil Srivastava CPSC 468/568. Outline IP Warmup: coNP  IP by arithmetization PSPACE (wrong) attempt at PSPACE  IP (revised) PSPACE  IP."

Similar presentations