Guruswami–Sudan list decoding algorithm
{{Multiple issues|
{{more citations needed |date= May 2012}}
{{overly detailed|date=August 2013}}
}}
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 , then it is possible in principle to recover an encoded message when up to fraction of the codeword symbols are corrupted. But when error rate is greater than , 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 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 errors and is due to Madhu Sudan. Subsequently, we describe the improved Guruswami–Sudan list decoding algorithm, which can correct up to errors.
Here is a plot of the rate R and distance 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 ; n distinct pairs of elements in ; and integers and .
Output: A list of all functions satisfying
is a polynomial in of degree at most
{{NumBlk|:||{{EquationRef|1}}}}
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 to be .
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 degree. Sudan's list decoding algorithm for Reed–Solomon code which is an improvement on Berlekamp and Welch algorithm, can solve the problem with . This bound is better than the unique decoding bound for .
=Algorithm=
Definition 1 (weighted degree)
For weights , the – weighted degree of monomial is . The – weighted degree of a polynomial is the maximum, over the monomials with non-zero coefficients, of the – weighted degree of the monomial.
For example, has -degree 7
Algorithm:
Inputs: ; {} /* Parameters l,m to be set later. */
Step 1: Find a non-zero bivariate polynomial satisfying
- has -weighted degree at most
- For every ,
{{NumBlk|:||{{EquationRef|2}}}}
Step 2. Factor Q into irreducible factors.
Step 3. Output all the polynomials such that is a factor of Q and for at least t values of
= Analysis =
One has to prove that the above algorithm runs in polynomial time and outputs the correct result. That can be done by proving following set of claims.
Claim 1:
If a function satisfying (2) exists, then one can find it in polynomial time.
Proof:
Note that a bivariate polynomial of -weighted degree at most can be uniquely written as . Then one has to find the coefficients satisfying the constraints , for every . This is a linear set of equations in the unknowns {}. One can find a solution using Gaussian elimination in polynomial time.
Claim 2:
If then there exists a function satisfying (2)
Proof:
To ensure a non zero solution exists, the number of coefficients in should be greater than the number of constraints. Assume that the maximum degree of in is m and the maximum degree of in is . Then the degree of will be at most . One has to see that the linear system is homogeneous. The setting satisfies all linear constraints. However this does not satisfy (2), since the solution can be identically zero. To ensure that a non-zero solution exists, one has to make sure that number of unknowns in the linear system to be , so that one can have a non zero . Since this value is greater than n, there are more variables than constraints and therefore a non-zero solution exists.
Claim 3:
If is a function satisfying (2) and is function satisfying (1) and , then divides
Proof:
Consider a function . This is a polynomial in , and argue that it has degree at most . Consider any monomial of . Since has -weighted degree at most , one can say that . Thus the term is a polynomial in of degree at most . Thus has degree at most
Next argue that is identically zero. Since is zero whenever , one can say that is zero for strictly greater than points. Thus has more zeroes than its degree and hence is identically zero, implying
Finding optimal values for and .
Note that
For a given value
By interchanging the second condition one can get
Substituting this value into first condition one can get
Next minimize the above equation of unknown parameter
By doing that one will get,
Substituting back the
Algorithm 2 (Guruswami–Sudan list decoding algorithm)
=Definition=
Consider a
The idea is to add more restrictions on the bi-variate polynomial
=Multiplicity=
A bi-variate polynomial
For example:
Let
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig1.jpg
Hence,
Let
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig2.jpg
Hence,
Let
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig3.jpg
Hence,
Similarly, if
Then,
==General definition of multiplicity==
=Algorithm=
Let the transmitted codeword be
The algorithm is as follows:
• Interpolation step
For a received vector
:
• Factorization step
Find all the factors of
where
Recall that polynomials of degree
=Analysis=
==Interpolation step==
Lemma:
Interpolation step implies
Let
where
Then,
where
Proof of Equation 1:
:
:
:
:
Proof of Lemma:
The polynomial
:
:
Thus,
=Factorization step=
Proposition:
Proof:
Since,
where,
Now, if
Theorem:
If
Proof:
Given,
Hence,
Thus,
As proved above,
where LHS is the upper bound on the number of coefficients of
:
Therefore,
Substitute
:
Hence proved, that Guruswami–Sudan List Decoding Algorithm can list decode Reed-Solomon codes up to
References
- https://web.archive.org/web/20100702120650/http://www.cse.buffalo.edu/~atri/courses/coding-theory/
- https://www.cs.cmu.edu/~venkatg/pubs/papers/listdecoding-NOW.pdf
- http://www.mendeley.com/research/algebraic-softdecision-decoding-reedsolomon-codes/
- R. J. McEliece. The Guruswami-Sudan Decoding Algorithm for Reed-Solomon Codes.
- M Sudan. Decoding of Reed Solomon codes beyond the error-correction bound.
{{DEFAULTSORT:Guruswami-Sudan list decoding algorithm}}