In coding theory, the Zyablov bound is a lower bound on the rate
r
\delta
The bound states that there exists a family of
q
r
\delta
r\leqslant
max\limits | |
0\leqslantr'\leqslant1-Hq(\delta) |
r' ⋅ \left(1-{\delta\over
-1 | |
{H | |
q |
(1-r')}}\right)
where
Hq
q
Hq(x)=xlogq(q-1)-xlogq(x)-(1-x)logq(1-x)
The bound is obtained by considering the range of parameters that are obtainable by concatenating a "good" outer code
Cout
Cin
rout
\deltaout
rout+\deltaout=1
rout\in(0,1)
1-rout
rin
\deltain
rin+Hq(\deltain)\ge1
The concatenation of
Cout
Cin
Cout\circCin
r=rin ⋅ rout
\delta=\deltaout ⋅ \deltain\ge(1-rout) ⋅
-1 | |
H | |
q |
(1-rin).
Expressing
rout
\delta,rin
rout\ge1-
\delta | |
H-1(1-rin) |
Then optimizing over the choice of
rin
r\ge
max\limits | |
0\lerin\le{1-Hq(\delta) |
See Figure 1 for a plot of this bound.
Note that the Zyablov bound implies that for every
\delta>0
We can construct a code that achieves the Zyablov bound in polynomial time. In particular, we can construct explicit asymptotically good code (over some alphabets) in polynomial time.
Linear Codes will help us complete the proof of the above statement since linear codes have polynomial representation. Let Cout be an
[N,K]Q
N=Q-1
* | |
F | |
Q |
Q=qk
k=\theta(logN)
We need to construct the Inner code that lies on Gilbert-Varshamov bound. This can be done in two ways
Cin
qO(kn)
k=rn
qO(kn)
O(k2) | |
=q |
=NO(log
nNO(log
Cin
qO(n)
(nN)O(1)
Thus we can construct a code that achieves the Zyablov bound in polynomial time.