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
- $S^+, S^- ⊆ S$ (positive and negative instances)
- $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$)
-
draw one clause $C = x_3 ∨ ¬ x_{11} ∨ x_{42}$ (for instance) from $S$ at random
-
the positions I ask are: 3, 11, 42
-
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