SSAT A new characterization of NP and the hardness of approximating CVP. joint work with G. Kindler, R. Raz, and S. Safra Lattice Problems Definition: Given v1,..,vkRn, The lattice L=L(v1,..,vk) = {aivi | integers ai} SVP: Find the shortest non-zero vector in L. CVP: Given a vector yRn, find a vL closest to y. y closest shortest Lattice Approximation Problems g-Approximation version: Find a vector whose distance is at most g times the optimal distance. g-Gap version: Given a lattice L, a vector y, and a number d, distinguish between – The ‘yes’ instances (dist(y,L)<d) – The ‘no’ instances (dist(y,L)>gd) If g-Gap problem is NP-hard, then having a gapproximation polynomial algorithm --> P=NP. Lattice Problems - Brief History [Dirichlet, Minkowsky] no CVP algorithms… [LLL] Approximation algorithm for SVP, factor 2n/2 [Babai] Extension to CVP [Schnorr] Improved factor, (1+)n for both CVP and SVP [vEB]: CVP is NP-hard [ABSS]: Approximating CVP is – NP hard to within any constant – Quasi NP hard to within an almost polynomial factor. Lattice Problems - Recent History [Ajtai96]: average-case/worst-case equiv. for SVP. [Ajtai-Dwork96]: Cryptosystem [Ajtai97]: SVP is NP-hard (for randomized reductions). [Micc98]: SVP is NP-hard to approximate to within some constant factor. [LLS]: Approximating CVP to within n1.5 is in coNP. [GG]: Approximating SVP and CVP to within n is in coAMNP. Lattice Problems Definition: Given v1,..,vkRn, The lattice L=L(v1,..,vk) = {aivi | integers ai} SVP: Find the shortest non-zero vector in L. CVP: Given a vector yRn, find a vL closest to y. y closest shortest Reducing g-SVP to g-CVP [GMSS98] shortest: b1-b2 b1 b2 The lattice L Reducing g-SVP to g-CVP [GMSS98] CVP oracle: apx. minimize ||c1b1+2c2b2-b2|| b1 2b2 The lattice L’ L shortest vector in L = cibi Note: at least one coef. ci of the shortest vector must be odd The Reduction Input: A pair (B,d), B=(b1,..,bn) and dR for j=1 to n: invoke the CVP oracle on(B(j),bj,d) Output: The OR of all oracle replies. Where B(j) = (b1,..,bj-1,2bj,bj+1,..,bn) SSAT A new Characterization of NP and the hardness of approximating CVP Hardness of approx. CVP [DKRS] g-CVP is NP-hard for g=n1/loglog n n - lattice dimension Improving – Hardness (NP-hardness instead of quasi-NPhardness) – Non-approximation factor (from 2(logn)1-) [ABSS] reduction: uses PCP to show – NP-hard for g=O(1) 1- – Quasi-NP-hard g=2(logn) by repeated blow-up. Barrier - SSAT: a new non-PCP characterization of NP. NP-hard to approximate to within g=n1/loglogn . 2(logn) 1- const >0 SAT Input: =f1,..,fn Boolean functions ‘tests’ x1,..,xn’ variables with range {0,1} Problem: Is satisfiable? Thm (Cook-Levin): SAT is NP-complete (even when depend()=3) SAT as a consistency problem Input =f1,..,fn Boolean functions - ‘tests’ x1,..,xn’ variables with range R for each test: a list of satisfying assignments Problem Is there an assignment to the tests that is consistent? f(x,y,z) g(w,x,z) h(y,w,x) (0,2,7) (2,3,7) (3,1,1) (1,0,7) (1,3,1) (3,2,2) (0,1,0) (2,1,0) (2,1,5) Super-Assignments A natural assignment for f(x,y,z) 1 0 A(f) = (3,1,1) (1,1,2) (3,1,1) (3,2,5) (3,3,1) (5,1,2) f(x,y,z)’s super-assignment SA(f) = +3(5,1,2)-2(3,1,1)2(3,2,5) 3 2 1 0 -1 (1,1,2) (3,1,1) (3,2,5) (3,3,1) (5,1,2) -2 ||SA(f)|| = |1|+|-2|+|+2| = 5 Norm SA - Averagef||A(f)|| Consistency In the SAT case: A(f) = (3,2,5) A(f)|x := (3) x f,g that depend on x: A(f)|x = A(g)|x Consistency SA(f) = +3(1,1,2) -2(3,2,5) 2(3,3,1) -2+2=0 SA(f)|x := +3(1) 0(3) (1,1,2) 3 (3,3,1) 2 1 0 -1 (1) (2) (3) -2 (3,2,5) Consistency: x f,g that depend on x: SA(f)|x = SA(g)|x g-SSAT - Definition Input: =f1,..,fn tests over variables x1,..,xn’ with range R for each test fi - a list of sat. assign. Problem: Distinguish between [Yes] There is a natural assignment for [No] Any non-trivial consistent super-assignment is of norm > g Theorem: SSAT is NP-hard for g=n (conjecture: g=n , = some constant) 1/loglog n . Attempt at reducing PCP to SSAT Take a PCP test-system = {f1,...,fn } Yes instances Satisfying assignment for No instances the GAP Assignment (to vars.) satisfies only fraction of Is there a super-assignment for a ‘no’ instance, consistent small-norm (less than g=n1/loglog n) A PCP no-instance f(x,y) g(x,z) h(y,z) (1,2) (2,2) (2,1) (1,3) (3,3) (3,1) (1,5) (5,5) (5,1) Best assignment satisfies 2/3 of = {f,g,h} x <--- 1 y <--- 2 z <--- 3 An SSAT ‘almost-yes’-instance +1 -1 +1 f(x,y) g(x,z) h(y,z) (1,2) (2,2) (2,1) (1,3) (3,3) (3,1) (1,5) (5,5) (5,1) f(x,y) <-- +1(1,2) g(x,z) <-- +1(1,3) h(y,z) <-- +1(1,5) -1(2,2) -1(3,3) -1(5,5) +1(2,1) +1(3,1) +1(5,1) f( x0 +1 (1 -1 (2 +1 (2 x1 ) x2 x4 x6 ) x5 2) 2) 1) x0 +1(1) x3 +1(1) x1 x2 x3 x4 x5 x6 f( x0 x1 x2 x3 x4 x5 x6 ) +1 (1 -1 (2 2 2 1 3 2 0 4 2 6 5 2 5 6 2 4 0 ) 2 ) 3 ) +1 (2 +1(1) +1(1) +1(3) +1(4) +2(5) +1(6) +1(0) -1(2) -1(2) -1(2) -1(2) -1(2) +1(0) +1(6) +1(4) +1(3) Low Degree Extension embed variables in a domain {1..h}d extend the domain {1..p}d (ph3, prime) Original variables Extension variables Consistently Reading an LDF Replace each test with several new tests depending on the original variables and some new extension variables. satisfying assignment = a Low-Degree-Extension Suppose we had... Consistency Lemma: low-norm super-assignment for tests --> global super-LDF that agrees with the tests. Deduce a satisfying assignment for almost all of ‘s tests. A Consistent-Reader for LDFs using composition-recursion Short representation. Negligible error. Representing a degree-h LDF in one piece, by writing its coefficients: too many degree-h there are polynomials: h there are p such polynomials (where h = n1/loglogn, p h3). in many smaller pieces: A Consistency Lemma ‘cube’ = constant-dimensional affine subspace test test test test test test almost Consistency: For every pair of cubes with mutual points -their super-LDFs agree. Global super-LDF: Agreeing with the cubes’ super-LDFs for almost all cubes. Embedding Extension X1 X2 X3 x f(.)=x5y2 y (x,y) fe(.)=x1x3y2 y1 y2 y3 (x, x2, x4, y, y2, y4) A Tree of Consistent Readers The low-degree-extension domain lower dimension lower degree lower dimension lower degree SSAT is NP-hard to approximate to within g = n1/loglogn Reducing SSAT to CVP f,(1,2) f,f’,x * 1 2 3 w w 0 w 0 0 w 0 I f(w,x) f’(z,x) f’,(3,2) w w w w w w w w 0 0 0 0 0 0 0 0 Yes --> Yes: dist(L,target) = n No --> No: dist(L,target) > gn Choose w = gn + 1 A consistency gadget * 1 2 3 w w 0 w 0 0 w 0 w w w w A consistency gadget * 1 2 3 a1 a2 a3 b1 b2 b3 www 000 www www www 00w ww0 www www 00w www ww0 ww0 00w ww0 ww0 ww0 000 www ww0 ww0 000 ww0 www a1 + a2 + a3 a2 + a3 a1 + a1 + a2 + a3 w w w w = 1 + b1 = 1 + b2 = 1 + b3 = 1 Conclusion SSAT is NP hard to approx. to within g=n1/loglog n CVP is NP-hard to approximate to within the same g Future Work: – Increase to g=nc, c constant. – Extend CVP to SVP reduction