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
\delta
\delta/2
\delta/2
\delta/2
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-\sqrt{2R}
1-\sqrt{R}
Here is a plot of the rate R and distance
\delta
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/81/Graph.jpg
Input : A field
F
{(xi,yi
n} | |
) | |
i=1 |
F x F
d
t
Output: A list of all functions
f:F\toF
f(x)
x
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
t\ge(n+d+1)/2
(1,k)
t=(\sqrt{2nd})
1-\left(
R | |
2 |
\right)
R<0.07
Definition 1 (weighted degree)
For weights
wx,wy\inZ+
(wx,wy)
qijxiyj
iwx+jwy
(wx,wy)
Q(x,y)=\sumijqijxiyj
(wx,wy)
For example,
xy2
(1,3)
Algorithm:
Inputs:
n,d,t
Step 1: Find a non-zero bivariate polynomial
Q:F2\mapstoF
Q(x,y)
(1,d)
D=m+ld
i\in[n]
Step 2. Factor Q into irreducible factors.
Step 3. Output all the polynomials
f
(y-f(x))
f(xi)=yi
i\in[n]
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
Q:F2\toF
Proof:
Note that a bivariate polynomial
Q(x,y)
(1,d)
D
Q(x,y)=
l | |
\sum | |
j=0 |
m+(l-j)d | |
\sum | |
k=0 |
qkjxkyj
qkj
l | |
\sum | |
j=0 |
m+(l-j)d | |
\sum | |
k=0 |
qkj
k | |
x | |
i |
j | |
y | |
i |
=0
i\in[n]
Claim 2:
If
(m+1)(l+1)+d\begin{pmatrix}l+1\\2\end{pmatrix}>n
Q(x,y)
Proof:
To ensure a non zero solution exists, the number of coefficients in
Q(x,y)
degx(Q)
x
Q(x,y)
degy(Q)
y
Q(x,y)
l
Q(x,y)
m+ld
qjk=0
(m+1)(l+1)+d\begin{pmatrix}l+1\\2\end{pmatrix}>n
Q(x,y)
Claim 3:
If
Q(x,y)
f(x)
t>m+ld
(y-f(x))
Q(x,y)
Proof:
Consider a function
p(x)=Q(x,f(x))
x
m+ld
qjkxkyj
Q(x)
Q
(1,d)
m+ld
k+jd\lem+ld
qkjxkf(x)j
x
k+jd\lem+ld
p(x)
m+ld
Next argue that
p(x)
Q(xi,f(xi))
yi=f(xi)
p(xi)
m+ld
p
Q(x,f(x))\equiv0
Finding optimal values for
m
l
m+ld<t
(m+1)(l+1)+d\begin{pmatrix}l+1\\2\end{pmatrix}>n
l
m
m
(n+1-d\begin{pmatrix}l+1\\2\end{pmatrix})/2-1
t
n+1 | |
l+1 |
+
dl | |
2 |
l
l=\sqrt{
2(n+1) | |
d |
l
m
t
m\ge\sqrt{
(n+1)d | |
2 |
t>\sqrt{
2(n+1)d2 | |
d |
t>\sqrt{2(n+1)d}-
d | |
2 |
-1
Consider a
(n,k)
F=GF(q)
(\alpha1,\alpha2,\ldots,\alphan)
r
\beta=(\beta1,\beta2,\ldots,\betan)
\in
Fn
\lek
The idea is to add more restrictions on the bi-variate polynomial
Q(x,y)
A bi-variate polynomial
Q(x,y)
r
(0,0)
Q(x,y)
\ler
f(x)
f(x)
degxf(x)
=
maxi\{i\}
For example: Let
Q(x,y)=y-4x2
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig1.jpg
Hence,
Q(x,y)
Let
Q(x,y)=y+6x2
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig2.jpg
Hence,
Q(x,y)
Let
Q(x,y)=(y-4x2)(y+6x2)=y2+6x2y-4x2y-24x4
https://wiki.cse.buffalo.edu/cse545/sites/wiki.cse.buffalo.edu.cse545/files/76/Fig3.jpg
Hence,
Q(x,y)
Similarly, if
Q(x,y)=[(y-\beta)-4(x-\alpha)2)][(y-\beta)+6(x-\alpha)2)]
Q(x,y)
(\alpha,\beta)
Q(x,y)
r
(\alpha,\beta)
Q(x,y)
r
(\alpha,\beta)
(\alpha,\beta)\ne(0,0)
Let the transmitted codeword be
(f(\alpha1),f(\alpha2),\ldots,f(\alphan))
(\alpha1,\alpha2,\ldots,\alphan)
(\beta1,\beta2,\ldots,\betan)
The algorithm is as follows:
• Interpolation step
For a received vector
(\beta1,\beta2,\ldots,\betan)
Q(x,y)
(1,k)-
d
Q
r
(\alphai,\betai)
1\lei\len
Q(\alphai,\betai)=0
• Factorization step
Find all the factors of
Q(x,y)
y-p(x)
p(\alphai)=\betai
t
i
where
0\lei\len
p(x)
\lek
Recall that polynomials of degree
\lek
Lemma:Interpolation step implies
\begin{pmatrix}r+1\\2\end{pmatrix}
ai
Let
Q(x,y)=\sumiiai,jxiyj
\degxQ(x,y)=m
\degyQ(x,y)=p
Then,
Q(x+\alpha,y+\beta)
=
\sumur
Qu,v
(\alpha,\beta)
xu
yv
where
Qu,v
(x,y)
=
\sumii
\begin{pmatrix}i\\u\end{pmatrix}
\begin{pmatrix}j\\v\end{pmatrix}
ai,j
xi-u
yj-v
Proof of Equation 1:
Q(x+\alpha,y+\beta)=\sumi,jai,j(x+\alpha)i(y+\beta)j
Q(x+\alpha,y+\beta)=\sumi,jai,j (\sumu\begin{pmatrix}i\\u\end{pmatrix}xu\alphai-u ) (\sumv\begin{pmatrix}i\\v\end{pmatrix}yv\betaj-v )
Q(x+\alpha,y+\beta)=\sumu,vxuyv (\sumi,j\begin{pmatrix}i\\u\end{pmatrix}\begin{pmatrix}i\\v\end{pmatrix}ai,j\alphai-u\betaj-v )
Q(x+\alpha,y+\beta)=\sumu,v
Qu,v(\alpha,\beta)xuyv
Proof of Lemma:
The polynomial
Q(x,y)
r
(\alpha,\beta)
Qu,v
(\alpha,\beta)
\equiv
0
0\leu+v\ler-1
u
r-v
0\lev\ler-1
r-1 | |
\sum | |
v=0 |
{r-v}
=
\begin{pmatrix}r+1\\2\end{pmatrix}
Thus,
\begin{pmatrix}r+1\\2\end{pmatrix}
(u,v)
ai
Proposition:
Q(x,p(x))\equiv0
y-p(x)
Q(x,y)
Proof:
Since,
y-p(x)
Q(x,y)
Q(x,y)
Q(x,y)=L(x,y)(y-p(x))
+
R(x)
where,
L(x,y)
Q(x,y)
y-p(x)
R(x)
Now, if
y
p(x)
Q(x,p(x))
\equiv
0
R(x)
\equiv
0
Theorem:
If
p(\alpha)=\beta
(x-\alpha)r
Q(x,p(x))
Proof:
Q(x,y)
=
\sumu,v
Qu,v
(\alpha,\beta)
(x-\alpha)u
(y-\beta)v
Q(x,p(x))
=
\sumu,v
Qu,v
(\alpha,\beta)
(x-\alpha)u
(p(x)-\beta)v
Given,
p(\alpha)
=
\beta
(p(x)-\beta)
(x-\alpha)
=
0
Hence,
(x-\alpha)u
(p(x)-\beta)v
(x-\alpha)u+v
=
0
Thus,
(x-\alpha)r
Q(x,p(x))
As proved above,
t ⋅ r>D
t>
D | |
r |
D(D+2) | |
2(k-1) |
>n\begin{pmatrix}r+1\\2\end{pmatrix}
Q(x,y)
D=\sqrt{knr(r-1)}
Therefore,
t=\left\lceil{\sqrt{kn(1-
1 | |
r |
)}}\right\rceil
Substitute
r=2kn
t>\left\lceil{\sqrt{kn-
1 | |
2 |
Hence proved, that Guruswami–Sudan List Decoding Algorithm can list decode Reed-Solomon codes up to
1-\sqrt{R}