Sparse Random Linear Codes are Locally Decodable and Testable

  • Authors:
  • Tali Kaufman;Madhu Sudan

  • Affiliations:
  • -;-

  • Venue:
  • FOCS '07 Proceedings of the 48th Annual IEEE Symposium on Foundations of Computer Science
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We show that random sparse binary linear codes are locally testable and locally decodable (under any linear encoding) with constant queries (with probability tending to one). By sparse, we mean that the code should have only polynomially many codewords. Our results are the first to show that local decodability and testability can be found in random, unstructured, codes. Previously known locally decodable or testable codes were either classical algebraic codes, or new ones constructed very carefully. We obtain our results by extending the techniques of Kaufman and Litsyn [11] who used the MacWilliams Identities to show that "almost-orthogonal" binary codes are locally testable. Their definition of almost orthogonality expected codewords to disagree in \frac{n} {2} \pm {\rm O}(\sqrt n ) coordinates in codes of block length n. The only families of codes known to have this property were the dual-BCH codes. We extend their techniques, and simplify them in the process, to include codes of distance at least \frac{n} {2} - {\rm O}(n^{1 - \gamma } ) for any \gamma\le 0, provided the number of codewords is {\rm O}(n^t ) for some constant t. Thus our results derive the local testability of linear codes from the classical coding theory parameters, namely the rate and the distance of the codes. More significantly, we show that this technique can also be used to prove the "self-correctability" of sparse codes of sufficiently large distance. This allows us to show that random linear codes under linear encoding functions are locally decodable. This ought to be surprising in that the definition of a code doesn't specify the encoding function used! Our results effectively say that any linear function of the bits of the codeword can be locally decoded in this case.