CS151 Complexity Theory Lecture 15 May 18, 2015. 2 Gap producing reductions Main purpose: –r-approximation algorithm for L 2 distinguishes between f(yes)

Slides:



Advertisements
Similar presentations
A threshold of ln(n) for approximating set cover By Uriel Feige Lecturer: Ariel Procaccia.
Advertisements

Quantum Information and the PCP Theorem Ran Raz Weizmann Institute.
MaxClique Inapproximability Seminar on HARDNESS OF APPROXIMATION PROBLEMS by Dr. Irit Dinur Presented by Rica Gonen.
Gillat Kol joint work with Ran Raz Competing Provers Protocols for Circuit Evaluation.
CS151 Complexity Theory Lecture 17 May 27, CS151 Lecture 172 Outline elements of the proof of the PCP Theorem counting problems –#P and its relation.
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
Constraint Satisfaction over a Non-Boolean Domain Approximation Algorithms and Unique Games Hardness Venkatesan Guruswami Prasad Raghavendra University.
Two Query PCP with Subconstant Error Dana Moshkovitz Princeton University and The Institute for Advanced Study Ran Raz The Weizmann Institute 1.
Probabilistically Checkable Proofs Madhu Sudan MIT CSAIL 09/23/20091Probabilistic Checking of Proofs TexPoint fonts used in EMF. Read the TexPoint manual.
Introduction to PCP and Hardness of Approximation Dana Moshkovitz Princeton University and The Institute for Advanced Study 1.
Complexity ©D.Moshkovits 1 Hardness of Approximation.
Umans Complexity Theory Lectures Lecture 15: Approximation Algorithms and Probabilistically Checkable Proofs (PCPs)
The PCP theorem. Summary -Proof structure -Basic ingredients -Arithmetization -Properties of polynomials -3-SAT belongs to PCP[O(n 3 ),O(1)]
Inapproximability from different hardness assumptions Prahladh Harsha TIFR 2011 School on Approximability.
Two Query PCP with Sub-constant Error Dana Moshkovitz Princeton University Ran Raz Weizmann Institute 1.
Dictator tests and Hardness of approximating Max-Cut-Gain Ryan O’Donnell Carnegie Mellon (includes joint work with Subhash Khot of Georgia Tech)
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
CS21 Decidability and Tractability
1. 2 Gap-QS[O(1), ,2|  | -1 ] Gap-QS[O(n), ,2|  | -1 ] Gap-QS*[O(1),O(1), ,|  | -  ] Gap-QS*[O(1),O(1), ,|  | -  ] conjunctions of constant.
CS151 Complexity Theory Lecture 7 April 20, 2004.
1. 2 Gap-QS[O(n), ,2|  | -1 ] 3SAT QS Error correcting codesSolvability PCP Proof Map In previous lectures: Introducing new variables Clauses to polynomials.
1 COMPOSITION PCP proof by Irit Dinur Presentation by Guy Solomon.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Analysis of Algorithms CS 477/677
CS151 Complexity Theory Lecture 15 May 18, CS151 Lecture 152 Outline IP = PSPACE Arthur-Merlin games –classes MA, AM Optimization, Approximation,
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
1 The PCP starting point. 2 Overview In this lecture we’ll present the Quadratic Solvability problem. In this lecture we’ll present the Quadratic Solvability.
1 The PCP starting point. 2 Overview In this lecture we’ll present the Quadratic Solvability problem. We’ll see this problem is closely related to PCP.
CS151 Complexity Theory Lecture 16 May 25, CS151 Lecture 162 Outline approximation algorithms Probabilistically Checkable Proofs elements of the.
1 Joint work with Shmuel Safra. 2 Motivation 3 Motivation.
Some 3CNF Properties are Hard to Test Eli Ben-Sasson Harvard & MIT Prahladh Harsha MIT Sofya Raskhodnikova MIT.
Of 28 Probabilistically Checkable Proofs Madhu Sudan Microsoft Research June 11, 2015TIFR: Probabilistically Checkable Proofs1.
1. 2 Overview of the Previous Lecture Gap-QS[O(n), ,2|  | -1 ] Gap-QS[O(1), ,2|  | -1 ] QS[O(1),  ] Solvability[O(1),  ] 3-SAT This will imply a.
Correlation testing for affine invariant properties on Shachar Lovett Institute for Advanced Study Joint with Hamed Hatami (McGill)
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Sub-Constant Error Low Degree Test of Almost-Linear Size Dana Moshkovitz Weizmann Institute Ran Raz Weizmann Institute.
Lecture 22 More NPC problems
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CS151 Complexity Theory Lecture 14 May 13, Arthur-Merlin Games IP permits verifier to keep coin-flips private –necessary feature? –GNI protocol.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Fall 2013 CMU CS Computational Complexity Lectures 8-9 Randomness, communication, complexity of unique solutions These slides are mostly a resequencing.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
1 How to establish NP-hardness Lemma: If L 1 is NP-hard and L 1 ≤ L 2 then L 2 is NP-hard.
CS151 Complexity Theory Lecture 16 May 20, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint.
NPC.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
NP ⊆ PCP(n 3, 1) Theory of Computation. NP ⊆ PCP(n 3,1) What is that? NP ⊆ PCP(n 3,1) What is that?
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
1 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lectures
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
1 SAT SAT: Given a Boolean function in CNF representation, is there a way to assign truth values to the variables so that the function evaluates to true?
Umans Complexity Theory Lectures Lecture 16: The PCP Theorem.
1 Design and Analysis of Algorithms Yoram Moses Lecture 13 June 17, 2010
P & NP.
Property Testing (a.k.a. Sublinear Algorithms )
Introduction to PCP and Hardness of Approximation
PCP Characterization of NP:
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 7 April 23, 2019.
Instructor: Aaron Roth
CS151 Complexity Theory Lecture 16 May 28, 2019.
Presentation transcript:

CS151 Complexity Theory Lecture 15 May 18, 2015

2 Gap producing reductions Main purpose: –r-approximation algorithm for L 2 distinguishes between f(yes) and f(no); can use to decide L 1 –“NP-hard to approximate to within r” no yes L1L1 f k rk yes no L1L1 f k/r k L 2 (min.)L 2 (max.) yes noyes no

May 18, MAX-k-SAT Missing link: first gap-producing reduction –history’s guide it should have something to do with SAT Definition: MAX-k-SAT with gap ε –instance: k-CNF φ –YES: some assignment satisfies all clauses –NO: no assignment satisfies more than (1 – ε) fraction of clauses

May 18, Proof systems viewpoint can think of reduction showing k-SAT NP-hard as designing a proof system for NP in which: –verifier only performs local tests can think of reduction showing MAX-k-SAT with gap ε NP-hard as designing a proof system for NP in which: –verifier only performs local tests –invalidity of proof* evident all over: “holographic proof” and an  fraction of tests notice such invalidity

May 18, PCP Probabilistically Checkable Proof (PCP) permits novel way of verifying proof: –pick random local test –query proof in specified k locations –accept iff passes test fancy name for a NP-hardness reduction

May 18, PCP PCP[r(n),q(n)]: set of languages L with p.p.t. verifier V that has (r, q)-restricted access to a string “proof” –V tosses O(r(n)) coins –V accesses proof in O(q(n)) locations –(completeness) x  L   proof such that Pr[V(x, proof) accepts] = 1 –(soundness) x  L   proof* Pr[V(x, proof*) accepts]  ½

May 18, PCP Two observations: –PCP[1, poly n] = NP proof? –PCP[log n, 1]  NP proof? The PCP Theorem (AS, ALMSS): PCP[log n, 1] = NP.

May 18, PCP Corollary: MAX-k-SAT is NP-hard to approximate to within some constant . –using PCP[log n, 1] protocol for, say, VC –enumerate all 2 O(log n) = poly(n) sets of queries –construct a k-CNF φ i for verifier’s test on each note: k-CNF since function on only k bits –“YES” VC instance  all clauses satisfiable –“NO” VC instance  every assignment fails to satisfy at least ½ of the φ i  fails to satisfy an  = (½)2 -k fraction of clauses.

May 18, The PCP Theorem Elements of proof: –arithmetization of 3-SAT we will do this –low-degree test we will state but not prove this –self-correction of low-degree polynomials we will state but not prove this –proof composition we will describe the idea

May 18, The PCP Theorem Two major components: –NP  PCP[log n, polylog n] (“outer verifier”) we will prove this from scratch, assuming low- degree test, and self-correction of low-degree polynomials –NP  PCP[n 3, 1] (“inner verifier”) we will not prove

May 18, Proof Composition (idea) NP  PCP[log n, polylog n] (“outer verifier”) NP  PCP[n 3, 1] (“inner verifier”) composition of verifiers: –reformulate “outer” so that it uses O(log n) random bits to make 1 query to each of 3 provers –replies r 1, r 2, r 3 have length polylog n –Key: accept/reject decision computable from r 1, r 2, r 3 by small circuit C

May 18, Proof Composition (idea) NP  PCP[log n, polylog n] (“outer verifier”) NP  PCP[n 3, 1] (“inner verifier”) composition of verifiers (continued): –final proof contains proof that C(r 1, r 2, r 3 ) = 1 for inner verifier’s use –use inner verifier to verify that C(r 1,r 2,r 3 ) = 1 –O(log n)+polylog n randomness –O(1) queries –tricky issue: consistency

May 18, Proof Composition (idea) NP  PCP[log n, 1] comes from –repeated composition –PCP[log n, polylog n] with PCP[log n, polylog n] yields PCP[log n, polyloglog n] –PCP[log n, polyloglog n] with PCP[n 3, 1] yields PCP[log n, 1] many details omitted…

May 18, The inner verifier Theorem: NP  PCP[n 2, 1] Proof (first steps): 1. Quadratic Equations is NP-hard 2. PCP for QE: proof = all quadratic functions of a soln. x verification = check that a random linear combination of equations is satisfied by x (if prover keeps promise to supply all quadratic fns of x)

Quadratic Equations quadratic equation over F 2 :  i<j a i,j X i X j +  i b i X i + c = 0 language QUADRATIC EQUATIONS (QE) = { systems of quadratic equations over F 2 that have a solution (assignment to the X variables) } May 18,

Quadratic Equations Lemma: QE is NP-complete. Proof: clearly in NP; reduce from CIRCUIT SAT –circuit C an instance of CIRCUIT SAT –QE variables = variables + gate variables May 18,  gigi z  gigi z1z1 z2z2 g i – z = 1 g i – z 1 z 2 = 0  gigi z1z1 z2z2 g i – (1-z 1 )(1-z 2 ) = 1 … and g out = 1

Quadratic Functions Code intended proof : –F the field with 2 elements –given x 2 F n, a solution to instance of QE –f x : F n ! F 2 all linear functions of x f x (a) =  i a i x i –g x : F n x n ! F 2 includes all quadratic fns of x g x (A) =  i, j A[i,j]x i x j –KEY: can evaluate any quadratic function of x with a single evaluation of f x and g x May 18,

PCP for QE If prover keeps promise to supply all quadratic fns of x, a solution of QE instance… Verifier’s action: –query a random linear combination R of the equations of the QE instance –Completeness: obvious –Soundness: x fails to satisfy some equation; imagine picking coeff. for this one last Pr[x satisfies R] = 1/2 May 18,

PCP for QE To “enforce promise”, verifier needs to perform: –linearity test: verify f, g are (close to) linear –self-correction: access the linear f’, g’ that are close to f, g [so f’ = Had(u) and g’ = Had(V)] –consistency check: verify V = u ­ u May 18, x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

PCP for QE Linearity test: given access to h:F m ! F –pick random a,b; check if h(a) + h(b) = h(a+b); repeat O(1) times –do this for functions f and g supplied by prover Theorem [BLR]: h linear ) prob. success = 1; prob. success ¸ 1 – ± ) 9 linear h’ s.t. Pr a [h’(a) = h(a)] ¸ 1 – O( ± ) May 18, x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

PCP for QE Self-correction: –given access to h:F m ! F close to linear h’; i.e., Pr a [h’(a) = h(a)] ¸ 1 – O( ± ) –to access h’(a), pick random b; compute h(b) + h(a+b) –with prob. at least 1 – 2 ¢ O( ± ), h(b) = h’(b) and h(a+b) = h’(a+b); hence we compute h’(a) May 18, x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

PCP for QE Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) –pick random a, b 2 F n ; check that f’(a)f’(b) = g’(ab T ) –completeness: if V = u ­ u f’(a)f’(b) = (  i a i u i )(  i b i u i ) =  i,j a i b j V[i,j] = g’(ab T ) May 18, x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

PCP for QE Consistency check: given access to linear functions f’ = Had(u) and g’ = Had(V) –soundness: claim that if V  u ­ u Pr[(  i a i u i )(  i b i u i ) =  i,j a i b j V[i,j] ] · 3/4 Pr[(uu T )b  Vb] ¸ 1/2 Pr[aT(uu T )b  a T Vb] ¸ ½ ¢ ½ = ¼ May 18, i,j s.t. uu T and V differ in entry (i,j); pick b j last 9 i s.t. (uu T )b and Vb differ in entry i; pick a i last x 2 F n soln f x (a) =  i a i x i Had(x) g x (A) =  i, j A[i,j]x i x j Had(x ­ x)

May 18, The outer verifier Theorem: NP  PCP[log n, polylog n] Proof (first steps): –define: Polynomial Constraint Satisfaction (PCS) problem –prove: PCS gap problem is NP-hard

May 18, NP  PCP[log n, polylog n] MAX-k-SAT –given: k-CNF  –output: max. # of simultaneously satisfiable clauses generalization: MAX-k-CSP –given: variables x 1, x 2, …, x n taking values from set S k-ary constraints C 1, C 2, …, C t –output: max. # of simultaneously satisfiable constraints

May 18, NP  PCP[log n, polylog n] algebraic version: MAX-k-PCS –given: variables x 1, x 2, …, x n taking values from field F q n = q m for some integer m k-ary constraints C 1, C 2, …, C t –assignment viewed as f:(F q ) m  F q –output: max. # of constraints simultaneously satisfiable by an assignment that has deg. ≤ d

May 18, NP  PCP[log n, polylog n] MAX-k-PCS gap problem: –given: variables x 1, x 2, …, x n taking values from field F q n = q m for some integer m k-ary constraints C 1, C 2, …, C t –assignment viewed as f:(F q ) m  F q –YES: some degree d assignment satisfies all constraints –NO: no degree d assignment satisfies more than (1-  ) fraction of constraints

May 18, NP  PCP[log n, polylog n] Lemma: for every constant 1 > ε > 0, the MAX-k-PCS gap problem with t = poly(n) k-ary constraints with k = polylog(n) field size q = polylog(n) n = q m variables with m = O(log n / loglog n) degree of assignments d = polylog(n) gap  is NP-hard.

May 18, NP  PCP[log n, polylog n] t = poly(n) k-ary constraints with k = polylog(n) field size q = polylog(n) n = q m variables with m = O(log n / loglog n) degree of assignments d = polylog(n) check: headed in right direction –O(log n) random bits to pick a constraint –query assignment in O(polylog(n)) locations to determine if it is satisfied –completeness 1; soundness 1-  (if prover keeps promise to supply degree d polynomial)

May 18, NP  PCP[log n, polylog n] Proof of Lemma –reduce from 3-SAT –3-CNF φ(x 1, x 2,…, x n ) –can encode as  :[n] x [n] x [n] x {0,1} 3  {0,1} –  (i 1, i 2, i 3, b 1, b 2, b 3 ) = 1 iff φ contains clause (x i 1 b 1  x i 2 b 2  x i 3 b 3 ) –e.g. (x 3  x 5  x 2 )   (3,5,2,1,0,1) = 1

May 18, NP  PCP[log n, polylog n] –pick H  F q with {0,1}  H, |H| = polylog n –pick m = O(log n/loglog n) so |H| m = n –identify [n] with H m –  :H m x H m x H m x H 3  {0,1} encodes φ –assignment a:H m  {0,1} –Key: a satisfies φ iff  i 1,i 2,i 3,b 1,b 2,b 3  (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a(i 1 )=b 1 or a(i 2 )=b 2 or a(i 3 )=b 3

May 18, NP  PCP[log n, polylog n]  :H m x H m x H m x H 3  {0,1} encodes φ a satisfies φ iff  i 1,i 2,i 3,b 1,b 2,b 3  (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a(i 1 )=b 1 or a(i 2 )=b 2 or a(i 3 )=b 3 –extend  to a function  ’:(F q ) 3m+3  F q with degree at most |H| in each variable –can extend any assignment a:H m  {0,1} to a’:(F q ) m  F q with degree |H| in each variable

May 18, NP  PCP[log n, polylog n]  ’:(F q ) 3m+3  F q encodes φ a’:(F q ) m  F q s.a. iff  (i 1,i 2,i 3,b 1,b 2,b 3 )  H 3m+3  ’ (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0 or a’(i 1 )=b 1 or a’(i 2 )=b 2 or a’(i 3 )=b 3 –define: p a’ :(F q ) 3m+3  F q from a’ as follows p a’ (i 1,i 2,i 3,b 1,b 2,b 3 ) =  ’(i 1,i 2,i 3,b 1,b 2,b 3 )(a’(i 1 ) - b 1 )(a’(i 2 ) - b 2 )(a’(i 3 ) - b 3 ) –a’ s.a. iff  (i 1,i 2,i 3,b 1,b 2,b 3 )  H 3m+3 p a’ (i 1,i 2,i 3,b 1,b 2,b 3 ) = 0