PCP

From ResearchWiki

Jump to: navigation, search

What a PCP is:

A PCP for a problem in NP (3SAT, for example) will, given a proposed proof string π for an instance of that problem, return true or false. If π is correct, the PCP will always return true. If π is incorrect, the PCP will return true with probability p < \frac{1}{2}. It does this by picking r bits at random. This string of r random bits is mapped to a set of q bits in π. Those q bits are passed through a verifier function that returns true or false with probabilities described above.

PCP's connection to hard approximations:

Under Construction

Walsh-Hadamard Code:

We define an operation \cdot as

 x \cdot y = \sum_{i = 1}^n x_i y_i mod 2

We define WH(y \in \{0,1\}^n) as follows. We let S be a list of all strings in {0,1}n in some canonical ordering. The i-th digit of WH(y) is y \cdot S_i.


An example, n = 3:
y = 101
000 \cdot 101 = 0
001 \cdot 101 = 1
010 \cdot 101 = 0
011 \cdot 101 = 1
100 \cdot 101 = 1
101 \cdot 101 = 0
110 \cdot 101 = 1
111 \cdot 101 = 0
Therefore WH(y) = 01011010
One important thing to note about the WH function is that any codeword W (such as 01011010) can be thought of as a linear function from \{0,1\}^n \longrightarrow \{0,1\} where W(i) = Wi. Further,

\forall x,y \in \{0,1\}^n, (x \neq y) \implies \hbox{dist}(W(x), W(y)) \geq \frac{1}{2}

where dist(a,b) is defined as the number of differing bits between a and b.


Because there are 2^{2^n} possible binary strings of length 2n, and only 2n Walsh-Hadamard codewords of length 2n, most strings of the correct length are invalid. We are therefore confronted with the challenge of, given a string in \{0,1\}^{2^n}, determine if it is a valid WH codeword.

Personal tools