Jump to content

Guruswami–Sudan list decoding algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Hiteshjain87 (talk | contribs) at 19:14, 1 May 2012 (Created page with '{{subst:submit}} ==Introduction== In [http://en.wikipedia.org/wiki/Coding_theory coding theory], [http://en.wikipedia.org/wiki/List_decoding list decoding] is ...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Introduction

In coding theory, list decoding is an alternative to unique decoding of error-correcting codes for large error rates. Using unique decoder we can correct upto fraction of errors. But when error rate is greater than , unique decoder will not able to output the correct result. To overcome that issue, we go for list decoding. List decoding can correct more than fraction of errors.

There are many efficient algorithms that can perform List decoding. In this article, we will first look at list decoding algorithm for Reed–Solomon (RS) codes by Sudan which can correct upto errors. Later on, we will discuss Guruswami-Sudan list decoding algorithm, an improved version of Sudan's list decoding algorithm which can correct upto errors.

Here is the plot between 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 from ; and integers and .

Output: A list of all functions satisfying

is a polynomial in of degree at most d with | { } | ------ (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 .

We now present Sudan's algorithm for solving the problem.

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.

Eg : is a monomial in variables with a coefficient of 3.


Algorithm:

Inputs: ; {} /* Parameters l,m to be set later. */

Step 1: Find any function satisfying has (1,d)- weighted degree at most , ---- (2) for every n, is not identically zero.

Step 2. Factor the polynomial Q into irreducible factors.

Step 3. Output all the polynomials such that is a factor of Q and for at least t values of n

Analysis


No we have to prove that the above algorithm runs in polynomial time and outputs the correct result. For that we will prove following set of claims.

Claim 1:

If a function satisfying (2) exists, then we can find it in polynomial time.

Proof:

Note that a bivariate polynomial of degree at most can be represented as follows: Let . Then we have to find the coefficients satisfying the constraints , for every . This is a linear set of equations in the unknowns {}. We can find a solution using Gaussian Elimination in polynomial time.


Claim 2:

If then there exists a function satisfying (2)

Proof:

To ensure that we have non zero solution, the number of variables in should be greater than the number of constraints. Lets assume that maximum degree of in be m and maximum degree of in be l. Then the degree of will be atmost . We have to see that the linear system is homogenous. The setting satisfies all linear constraints. However this does not satisfy (2), since the solution can be identically zero. To ensure that non-zero solutions exists, we have to make sure that number of unknowns in the linear system to be , so that we 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:

Lets consider a function . This is a polynomial in , we will argue that it has degree at most . Consider any monomial . Since - weighted degree at most , we have that . Thus the term is a polynomial in of degree at most . Thus has degree at most

Now we argue that is identically zero. Since is zero whenever , we have that is zero for strictly greater than points. Thus has more zeroes than its degree and hence is identically zero, implying

Now we will optimal values for and . Note that we want and For a given value , we can compute the smallest for which the second condition holds By interchanging the second condition we get to be at most Substituting this value into first condition we get to be at least We can now minimize the above equation of unknown parameter . We can do that by taking derivative of the equation and equating that to zero By doing that we get, Substituting back the value into and we get

Algorithm 2 (Guruswami-Sudan List decoding Algorithm)

Definition

Consider a Reed-Solomon code over the finite field with evaluation set and a positive integer , the Guruswami-Sudan List Decoder accepts a vector as input, and outputs a list of polynomials of degree which are in 1 to 1 correspondence with codewords.

The idea is to add more restrictions on the bi-variate polynomial which results in the increment of constraints along with the number of roots.

Multiplicity

A bi-variate polynomial has a zero of multiplicity at means that has no term of degree .

where the x-degree of is defined as the maximum degree of any x term in


For example: Let .

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig1.jpg

Hence, we can say that has a zero of multiplicity 1 at (0,0).


Let .

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig2.jpg

Hence, we can say that has a zero of multiplicity 1 at (0,0).


Let

https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig3.jpg

Hence, we can say that has a zero of multiplicity 2 at (0,0).


Similarly, if Then, has a zero of multiplicity 2 at .


General Definition of Multiplicity:

has roots at if has a zero of multiplicity at when .


Algorithm


Let the transmitted codeword be , be the support set of the transmitted codeword & the received word be

The algorithm is as follows:

Interpolation step

For a received vector , construct a non-zero bi-variate polynomial with weighted degree of at most such that has a zero of multiplicity at each of the points where

Factorization step

Find all the factors of of the form and for at least values of

where & is a polynomial of degree

Recall that polynomials of degree are in 1 to 1 correspondence with codewords. Hence, this step outputs the list of codewords.


Analysis


Interpolation step

Lemma: Interpolation step implies constraints on the coefficients of

Let where &

Then, ........................(Equation 1)

where


Proof of Equation 1:

.................Using binomial expansion


Proof of Lemma:

The polynomial has a zero of multiplicity at if

such that

can take values as . Thus, the total number of constraints is

Thus, number of selections can be made for and each selection implies constraints on the coefficients of


Factorization step

Proposition:

if is a factor of

Proof:

Since, is a factor of , we can write

where, is the quotient we obtained when is divided by is the remainder

Now, replacing by , we get,

Hence, , only if


Theorem:

If , then is a factor of


Proof:

...........................From Equation 2

Given, mod

Hence, mod

Thus, is a factor of .

As we know,

where LHS is the upper bound on the number of coefficients of and RHS is the earlier proved Lemma.

Therefore,

Substituting , we get

Hence proved, that Guruswami-Sudan List Decoding Algorithm can list decode Reed-Solomon(RS) codes upto errors.


References