Lecture 9: The PCP theorem

cf. CSE 533: The PCP Theorem and Hardness of approximation (autumn 2005)

Th (Arora-Safra 1992): \(NP = PCP(O(\log n), O(1), O(1))\)

$PCP(Q,R,T)$ on input $x$

- M writes a proof y (that x∈L) of poly size
- A computes in randomized time poly(n) using R(n) random bits without reading y
- gives Q(n) positions in y: i_1, ⋯, i_{Q(n)}
- M reveals y_{i_1}, ⋯, y_{i_{Q(n)}}
- One decides in time T(n) as a function of the y_i only

    - if x∈L, then accept
    - if x∉L, then reject with proba ≥ 1/2

MAX3SAT

Input: a set $S$ of 3-classes which is:

  • either satisfiable
  • or a proportion of at most $1-ε$ of the clauses can be satisfied at the same time

Question: which is the case? (is $S$ satisfiable?)

Promise problems

  1. $S^+, S^- ⊆ S$ (positive and negative instances)
  2. $S^+ ∩ S^- = ∅$

Input: $x ∈ S^+ ∪ S^-$

Question: is $x ∈ S^+$?

Ex: SAT can be formulated in terms of a promise problem:

  • $S^+$ = strings that encode satisfiable formulas
  • $S^-$ = strings that encode unsatisfiable formulas
  • $S \backslash (S^+ ∪ S^-)$ = strings that don’t even encode a formula

The promise is that the language we’re talking about has certain properties (i.e. all strings encode formulas, etc…).

In promise problems (written with curly letters):

\[𝒫 ≠ 𝒩𝒫\]

But promise problems are a bit too general.

Ex:

Promise: “all the machines either stop in one step or don’t halt at all”

⟶ this problem is in $𝒫$, since all you have to do is to simulate one step of the machine, and accept if the machines halts ($S^+$), reject otherwise ($S^-$).

BUT: verifying the promise ($S \backslash (S^+ ∪ S^-)$) is not even decidable!

Back to MAX3SAT

Deciding MAX3SAT(ε) in $P$ ⟸ 3SAT can be approximated with ratio $1-ε$

Approximation algorithm to decide MAX3SAT in poly time:

$𝒜(S) = ρ$

  • $ρ$ satisfies $> 1-ε$ if $S$ sat.
  • $ρ$ satisfies $≤ 1-ε$ if $S$ not sat.

Being NP-hard for a promise problem:

$∀L∈NP, ∃f \text{ poly-time; } ∀x$

  • if $x∈L$ then $f(x) ∈ S^+$
  • if $x∉L$ then $f(x) ∈ S^-$

Proposition: There exists $ε>0$ s.t. MAX3SAT(ε) is NP-hard ⟺ $NP = PCP$

  • $PCP ⊆ NP$ is always true

Let $L∈NP$, $f: L ⟶ MAX3SAT(ε)$ poly time reduction for some $ε > 0$

On input $x$, let $S = f(x)$.

$M$ gives an assignment $y = ρ$ (claims that $ρ ⊨ S$)

  1. draw one clause $C = x_3 ∨ ¬ x_{11} ∨ x_{42}$ (for instance) from $S$ at random

  2. the positions I ask are: 3, 11, 42

  3. I check that $¬ (3 \text{ is false}, 11 \text{ is true}, 42 \text{ is false})$ in constant time (by building a circuit par example: constant size of input ⟶ check in constant time)

  • if $x∈L$, $C$ satisfiable, accept always
  • if $x∉L$, $∀y$, $y$ satisfies a proportion $≤ 1-ε$ of all the clauses:

    • $ℙ_C(y ⊨ C) ≤ 1-ε$
    • $ℙ(\text{reject}) ≥ ε$

Then we make the error tend to zero by repeating: instead of one, pick $k$ clauses:

  • $ℙ_C(\bigwedge_{i≤k} y_i ⊨ C) ≤ (1-ε)^k$
  • $ℙ(\text{reject}) ≥ 1 - (1-ε)^k ≥ 1/2$ for some constant $k$

Converse direction:

Assume $PCP=NP$.

Goal: find a reduction $SAT ⟶ MAX3SAT(ε)$

$SAT ∈ NP = PCP$

Let $M$ be a PCP machine deciding SAT.

Leave a comment