Using linear programming to Decode Binary linear codes

  • Authors:
  • J. Feldman;M. J. Wainwright;D. R. Karger

  • Affiliations:
  • Dept. of Ind. Eng. & Oper.s Res., Columbia Univ., New York, NY, USA;-;-

  • Venue:
  • IEEE Transactions on Information Theory
  • Year:
  • 2005

Quantified Score

Hi-index 755.68

Visualization

Abstract

A new method is given for performing approximate maximum-likelihood (ML) decoding of an arbitrary binary linear code based on observations received from any discrete memoryless symmetric channel. The decoding algorithm is based on a linear programming (LP) relaxation that is defined by a factor graph or parity-check representation of the code. The resulting "LP decoder" generalizes our previous work on turbo-like codes. A precise combinatorial characterization of when the LP decoder succeeds is provided, based on pseudocodewords associated with the factor graph. Our definition of a pseudocodeword unifies other such notions known for iterative algorithms, including "stopping sets," "irreducible closed walks," "trellis cycles," "deviation sets," and "graph covers." The fractional distance dfrac of a code is introduced, which is a lower bound on the classical distance. It is shown that the efficient LP decoder will correct up to ┌dfrac/2┐-1 errors and that there are codes with dfrac=Ω(n1-ε). An efficient algorithm to compute the fractional distance is presented. Experimental evidence shows a similar performance on low-density parity-check (LDPC) codes between LP decoding and the min-sum and sum-product algorithms. Methods for tightening the LP relaxation to improve performance are also provided.