Content deleted Content added
Phoenyx65535 (talk | contribs) m Minor fixes |
Phoenyx65535 (talk | contribs) m rewording |
||
Line 1:
A '''
In contrast, [[locally decodable code]]s use a small number of bits of the codeword to [[Probabilistic Turing Machine|probabilistically]] recover the original information. The fraction of errors determines how likely it is that the decoder correctly recovers the original bit; however, not all locally decodable codes are locally testable.<ref name=decNotTest>{{cite web|url=http://eccc.hpi-web.de/report/2010/130/revision/1/download/|title=Locally Testable vs. Locally Decodable Codes|author=Tali Kaufman, Michael Viderman}}</ref>
Line 18:
== Limits ==
It remains an open question whether there are any locally testable codes of linear size, but there are several constructions that
# Polynomial arbitrarily close to linear; for any <math>\epsilon>0</math>, <math>n=k^{1+\epsilon}</math>.
# Functions of the form <math>n=k^{1+\epsilon(k)}</math>,
#* <math>1/\log \log k</math>
#* <math>1/(\log k)^c</math> for some <math>c\in (0,1)</math>
#* <math>\exp((\log \log \log k)^c)/\log k</math> for <math>c\in (0,1)</math>
The next nearly linear goal is linear up to a [[polylogarithmic]] factor; <math>n=\text{poly}(\log k)*k</math>. Nobody has yet to come up with a linearly testable code that satisfies this constraint.<ref name=shortLTC/>
== Parallels ==
Locally testable codes have a lot in common with [[
Despite this difference, locally testable codes and PCPs are similar enough that frequently to construct one, a prover will construct the other along the way.<ref name=LTCandPCP>{{cite web|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.91.9955&rep=rep1&type=pdf|title=Locally Testable Codes|author=Mahdi Cheraghchi-Bashi-Astaneh}}</ref>
Line 38:
=== Hadamard code ===
One of the most famous error-correcting codes, the [[Hadamard code]] is a locally testable code. A codeword x is encoded in the Hadamard code to be the linear function <math>f(y)={\sum_i {x_i y_i}}</math> (mod 2). This requires listing out the result of this function for every possible y, which requires exponentially more bits than its input. To test if a string w is a codeword of the Hadamard code, all we have to do is test if the function it encodes is linear. This means simply checking if <math>w(x)\oplus w(y)=w(x\oplus y)</math> for x and y [[Uniform distribution (discrete)|uniformly random]] vectors (where <math>\oplus</math> denotes [[bitwise XOR]]).
It is easy to see that for any valid encoding <math>w</math>, this equation is true, as that is the definition of a linear function. Somewhat harder, however, is showing that a string that is <math>\delta</math>-far from C will have an upper bound on its error in terms of <math>\delta</math>. One bound is found by the direct approach of approximating the chances of exactly one of the three probes yielding an incorrect result. Let A, B, and C be the events of <math>w(x)</math>, <math>w(y)</math>, and <math>w(x\oplus y)</math> being incorrect. Let E be the event of exactly one of these occurring. This comes out to
|