• Aucun résultat trouvé

The Linear Programming Upper Bound

Dans le document Fundamentals of Error-Correcting Codes (Page 94-99)

2 Bounds on the size of codes

2.6 The Linear Programming Upper Bound

The next upper bound that we present is the linear programming bound which uses results of Delsarte [61, 62, 63]. In general, this is the most powerful of the bounds we have presented but, as its name signifies, does require the use of linear programming. In order to present this bound, we introduce two concepts. First, we generalize the notion of weight distribution of a code. The (Hamming)distance distributionorinner distributionof a codeCof lengthn is the listBi =Bi(C) for 0≤in, where

Bi(C)= 1

|C|

c∈C

|{vC|d(v,c)=i}|.

By Exercise 117, the distance distribution and weight distribution of a linear code are identical. In particular, ifCis linear, the distance distribution is a list of nonnegative integers;

ifCis nonlinear, theBi are nonnegative but need not be integers. We will see the distance distribution again in Chapter 12. Second, we define theKrawtchouck polynomial Kkn,q(x)

of degree kto be

In 1957, Lloyd [206], in his work on perfect codes, was the first to use the Krawtchouck poly-nomials in connection with coding theory. We will see related applications of Krawtchouck polynomials in Chapters 7 and 12. Hint: Observe when some of the binomial coefficients are 0.

(b) Prove thatKkn,2(w)=(−1)wKnn,2k(w). Hint: By part (a),

(d) Prove that the distance distribution and weight distribution ofC are identical ifC is

linear.

As with the other upper bounds presented so far, the Linear Programming Bound applies to codes that may be nonlinear. In fact, the alphabet over which the code is defined is not required to be a finite field; the Linear Programming Bound depends only on the code parameters, including the alphabet size, but not the specific alphabet. This is an advantage as the preliminary lemmas needed to derive the bound can most easily be proved if we useZq, the integers moduloq, as the alphabet. To facilitate this, defineα:Fq →Zq to be any bijection fromFq toZq withα(0)=0. Of course ifqis a prime, we can chooseαto be the identity. Ifc=(c1,c2, . . . ,cn)∈Fnq, defineα(c)=(α(c1), α(c2), . . . , α(cn))∈Znq. If C is an (n,M) code over Fq of length n, define α(C)= {α(c)|cC}. Asα(0)=0, ifcandv are inFnq, then wt(c)=wt(α(c)) and d(c,v)=d(α(c), α(v)) implying that the weight and distance distributions ofCare identical to the weight and distance distributions, respectively, ofα(C). In particular, when replacingZqwith any alphabet withqelements, this discussion shows the following.

77 2.6 The Linear Programming Upper Bound

Theorem 2.6.1 There exists an(n,M)codeCoverFq if and only if there exists an(n,M) code over any alphabet with q elements having the same distance distribution asC.

This theorem shows that any of the bounds on the size of a (possibly) nonlinear code over Fqthat we have derived apply to codes over any alphabet withq elements. As we will see in Chapter 12, codes overZqhave been studied extensively.

InZnqdefine the ordinary inner product as done over fields, namely,u·v=u1v1+ · · · +

The lemma follows if we show that the inner sum

v∈Sξu·valways equals (−1)j(q−1)kj

Combining this with (2.34), we have

v∈Sξu·v=(−1)j(q−1)kj as required.

In Theorem 7.2.3 we will show that if C is a linear code of length n over Fq with weight distribution Awfor 0≤wn, then Ak =1/|C|n

w=0AwKkn,q(w) for 0≤kn is the weight distribution of C. As C is linear Aw=Bwby Exercise 117. In particular for linear codesn

w=0BwKkn,q(w)≥0. The next lemma, which is the basis of the Linear Programming Bound, shows that this inequality holds whereBwis the distance distribution of a (possibly) nonlinear code.

Proof: By Theorem 2.6.1 we only need to verify these inequalities for an (n,M) codeC overZq. By definition of the distance distribution and Lemma 2.6.2,

M Exercise 117,Bn ≤1, and furthermore ifdis even, by Theorem 2.1.2, we may also assume that Bw=0 whenwis odd. By Exercise 116, whenwis even,Kkn,2(w)=Knn,2k(w). Thus thekth inequality in (2.35) is the same as the (nk)th as the only (possibly) nonzeroBws are whenwis even. This discussion yields our bound.

Theorem 2.6.4 (Linear Programming Bound) The following hold:

(i) When q≥2, Aq(n,d)≤max{n over all Bwsubject to the following conditions:

(a)B0=1and Bw=0for1≤wd−1and all oddw,

79 2.6 The Linear Programming Upper Bound

(b)Bw≥0for dwn and Bn ≤1,and (c)n

w=0BwKkn,2(w)≥0for1≤k≤ n/2.

Solving the inequalities of this theorem is accomplished by linear programming, hence the name. At times other inequalities can be added to the list which add more constraints to the linear program and reduce the size ofn

w=0Bw. In specific cases other variations to the Linear Programming Bound can be performed to achieve a smaller upper bound. Many of the upper bounds in Table 2.1 come from the Linear Programming Bound and these variations.

Example 2.6.5 We apply the Linear Programming Bound to obtain an upper bound on A2(8,3). By Theorem 2.1.2,A2(8,3)=A2(9,4). Hence we apply the Linear Programming Bound (ii) withq=2,n=9, andd =4. Thus we are trying to find a solution to max{1+ B4+B6+B8}where

9 + B4 − 3B6 − 7B8 ≥ 0

36 − 4B4 + 20B8 ≥ 0

84 − 4B4 + 8B6 − 28B8 ≥ 0 126 + 6B4 − 6B6 + 14B8 ≥ 0

(2.36)

with B4≥0, B6≥0, and B8≥0. The unique solution to this linear program is B4 = 18,B6 =24/5, and B8 =9/5. Hence max{1+B4+B6+B8} =1+(123/5), implying A2(9,4)≤25.

We can add two more inequalities to (2.36). LetCbe a (9,M,4) code, and let xC. DefineCx=x+C; note thatCxis also a (9,M,4) code. The number of codewords inCat distance 8 fromxis the same as the number of vectors of weight 8 inCx. As there is clearly no more than one vector of weight 8 in a (9,M,4) code, we have

B8≤1. (2.37)

Also the number of codewords at distance 6 fromxis the same as the number of vectors of weight 6 inCx; this number is at mostA2(9,4,6), which is 12 by Exercise 100. Furthermore, if there is a codeword of weight 8 inCx, then every vector inCxof weight 6 has a 1 in the coordinate where the weight 8 vector is 0. This means that the number of weight 6 vectors inCx is the number of weight 5 vectors in the code obtained by puncturingCx on this coordinate. That number is at mostA2(8,4,5), which is 8 by Exercise 101. Putting these together shows that

B6+4B8≤12. (2.38)

Including inequalities (2.37) and (2.38) with (2.36) gives a linear program which when solved yields the unique solution B4=14, B6=16/3, and B8=1 implying max{1+ B4+B6+B8} =64/3. ThusA2(9,4)≤21. By further modifying the linear program (see [218, Chapter 17]) it can be shown thatA2(9,4)≤20. In factA2(9,4)=20; see Table 2.1.

See also Exercise 103.

Exercise 118 Find an upper bound onA2(9,3)=A2(10,4) as follows. (It may be helpful to use a computer algebra program that can perform linear programming.)

(a) Give the Sphere Packing, Johnson, and Elias Bounds for A2(9,3) andA2(10,4).

(b) Apply the Linear Programming Bound (ii) withn=10,q =2, andd =4.

(c) Prove thatB8+5B10≤5.

(d) Combine the inequalities from the Linear Programming Bound (ii) with the inequality in (c) to obtain an upper bound forA2(10,4). Is it an improvement over the bound found in (b)?

(e) What is the best bound onA2(9,3)=A2(10,4) from parts (a), (b), and (d)? How does it compare to the value in Table 2.1?

(f) Assuming the value of A2(9,4) in Table 2.1 is correct, what bound do you get on

A2(9,3)=A2(10,4) from Theorem 2.1.6?

Exercise 119 Do the following to obtain bounds on A2(13,5)= A2(14,6). (It may be helpful to use a computer algebra program that can perform linear programming.) (a) Give the Sphere Packing, Johnson, and Elias Bounds for A2(13,5) andA2(14,6).

(b) Apply the Linear Programming Bound (ii) withn=14,q =2, andd =6 to obtain an upper bound forA2(14,6).

(c) What is the best bound on A2(13,5)= A2(14,6) from parts (a) and (b)? How does it compare to the value in Table 2.1?

(d) Assuming the value of A2(13,6) in Table 2.1 is correct, what bound do you get on

A2(13,5)= A2(14,6) from Theorem 2.1.6?

Dans le document Fundamentals of Error-Correcting Codes (Page 94-99)