In coding theory, list decoding is an alternative to unique decoding of error-correcting codes in the presence of many errors. If a code has relative distance δ {\displaystyle \delta } , then it is possible in principle to recover an encoded message when up to δ / 2 {\displaystyle \delta /2} fraction of the codeword symbols are corrupted. But when error rate is greater than δ / 2 {\displaystyle \delta /2} , this will not in general be possible. List decoding overcomes that issue by allowing the decoder to output a short list of messages that might have been encoded. List decoding can correct more than δ / 2 {\displaystyle \delta /2} fraction of errors. There are many polynomial-time algorithms for list decoding. In this article, we first present an algorithm for Reed–Solomon (RS) codes which corrects up to 1 − 2 R {\displaystyle 1-{\sqrt {2R}}} errors and is due to Madhu Sudan. Subsequently, we describe the improved Guruswami–Sudan list decoding algorithm, which can correct up to 1 − R {\displaystyle 1-{\sqrt {R}}} errors. Here is a plot of the rate R and distance δ {\displaystyle \delta } for different algorithms. https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/81/Graph.jpg
Algorithm 1 (Sudan's list decoding algorithm)
Problem statement Input : A field F {\displaystyle F} ; n distinct pairs of elements ( x i , y i ) i = 1 n {\displaystyle {(x_{i},y_{i})_{i=1}^{n}}} in F × F {\displaystyle F\times F} ; and integers d {\displaystyle d} and t {\displaystyle t} . Output: A list of all functions f : F → F {\displaystyle f:F\to F} satisfying
f ( x ) {\displaystyle f(x)} is a polynomial in x {\displaystyle x} of degree at most d {\displaystyle d}
To understand Sudan's Algorithm better, one may want to first know another algorithm which can be considered as the earlier version or the fundamental version of the algorithms for list decoding RS codes - the Berlekamp–Welch algorithm. Welch and Berlekamp initially came with an algorithm which can solve the problem in polynomial time with best threshold on t {\displaystyle t} to be t ≥ ( n + d + 1 ) / 2 {\displaystyle t\geq (n+d+1)/2} . The mechanism of Sudan's Algorithm is almost the same as the algorithm of Berlekamp–Welch Algorithm, except in the step 1, one wants to compute a bivariate polynomial of bounded ( 1 , k ) {\displaystyle (1,k)} degree. Sudan's list decoding algorithm for Reed–Solomon code which is an improvement on Berlekamp and Welch algorithm, can solve the problem with t = ( 2 n d ) {\displaystyle t=({\sqrt {2nd}})} . This bound is better than the unique decoding bound 1 − ( R 2 ) {\displaystyle 1-\left({\frac {R}{2}}\right)} for R < 0.07 {\displaystyle R<0.07} .
… excerpt ends here. Continue reading the full article.
