Jump to content

PCP theorem

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Cgranade (talk | contribs) at 01:48, 9 October 2006 (Additional resources: Added additional link.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The PCP theorem, proven in the early 1990's, states that every NP problem has a very efficient probabilistically checkable proof system. This theorem has the following astonishing consequence: every proof for any statement in propositional logic can be formalized, so that one can check whether it is correct or not by only reading a constant number of letters from it! More precisely, one can choose which letters of the proof to look at using a certain random process, and then after reading them, one can declare the proof "correct" or "false". In this process a correct proof will always be declared as such, while any attempt to prove a wrong statement will be declared false with probability at least 1/2 (repeating this process several times can detect a false proof with arbitrarily high probability).

Theorem

The formal statement of the theorem is

Proof.

The proof is in two parts:

Lemma 1

Let . By definition there exists a probabilistic verifier such that

  • If then there is a proof for which the probability that accepts and is exactly .
  • If then there is no proof for which the probability that accepts and is .

We need to show that . This can be proven by Derandomization since we can construct a deterministic verifier for .

On input and , the verifier works as follows.

  1. For every possible random string of length at most
    1. runs using as random string
  2. accepts if and only if all of s runs accepted

runs in polynomial time since enumerating all such small random strings can be done in polynomial time and runs in polynomial time. Furthermore, has the properties

  • If then there is a proof for which all runs of accept, so accepts.
  • If then there is no proof for which all runs of accept, so rejects.

This means that is a deterministic polynomial-time verifier for and therefore .

Lemma 2

.

This can be proven by proving a harder result: demonstrating that the language (SAT, ε-UNSAT), an NP-complete language, is in PCP (O(log n), O(1)) and that

if and only if can be reduced to

For , let the proof that the PCP system reads be a satisfying assignment for the input 3-CNF, Φ. The system chooses clauses of the proof to check if they are truly satisfied. Note that only random bits are needed to choose one of clauses, and thus only total random bits are needed. (Remember that ε is a constant.) For each clause to be checked, only 3 bits need to be read, and thus only (a constant number) of bits from the proof need to be read. The system rejects if any of the clauses are not satisfied. If Φ is satisfiable, then there exists a proof (a truly satisfying assignment) that the system will always accept. If Φ is not in (SAT, ε-UNSAT), this means that an ε fraction of the clauses is not satisfiable. The probability that this system will accept in this case is . Therefore, .

Since (SAT, ε-UNSAT) is NP-complete, this is enough to conclude that .

Corollary 1

The PCP Theorem implies that there exists an ε > 0 such that (1-ε)-approximation of MAX-3SAT is NP-hard. Therefore no good approximation algorithm exists for this language unless P=NP.

Additional resources