A New Approach to the Covering Radius of Codes - ScienceDirect.com

Report 2 Downloads 104 Views
JOURNAL

OF COMBINATORIAL

SeriesA42, 61-86 (1986)

THEORY,

A New Approach

to the Covering

Radius of Codes

N. J. A. SLOANE AT&

Mathematical Sciences Research Center, T Bell Laboratories, Murray Hill, NJ 07974 Communicated

by the Managing

Editors

Received June 27. 1985

We introduce a new approach which facilitates the calculation of the covering radius of a binary linear code. It is based on determining the normalized covering radius p. For codes of fixed dimension we give upper and lower bounds on p that arc reasonably close. As an application, an explicit formula is given for the covering radius of an arbitrary code of dimension 4 k=3 k=4 k>5 k=3 k=4

n=4 n=5 n=6

n=l

mi,

64

N.J. A. SLOANE

Thus C* has generator matrix 00000000111111111 00001111000011111 00000111011100000’ 11111111111111111

1

To find the covering radius of C *, Theorem 16 instructs us to form the contracted code c, by taking one copy of each column of C* that has odd multiplicity. Thus e has generator matrix

I 1 L 0111001 00111 1 01 1 01

or equivalently

1 1 1 0

1 0 00

0 0 1 0

0 0 0 1I

This is the [S, 41 code E4F1 of Table IV, hence p = 1. Therefore C* has covering radius R*=;

[1 7

i=l

+p=6+1=7.

II. COVERING RADIUS AND HEIGHT

Throughout this paper we only consider codes that are binary, linear, and have no coordinate that is identically zero. An [n, k] code C has covering radius R if (2)

where d is Hamming

distance and wt is- Hamming

weight (see [4, 10, 123

COVERING

RADIUS

TABLE Normalized

Covering

Radius

p = p(4’(m, Complement

65

OF CODES

IV

,..., mls). c in the Second of c in the First Half

Half

of the Table

s

c

li

P

s

0

0

0

0

15

7

1

1

Fi

0

0

14

6

6

2

F:

0

0

13

5

5

12

4

4 or 5

4

4

3

3 or 4

4

4

4

4

3

3

3

4

5

6

7

E3

1

0

F:

0

0

E,F,

11

i

P

1

1

~54

1

1

F-14

0

0

cs

1

1

E,F:

1

1

4

4

Ed=,

1

1

3

3

4

4

10

ES

1

1

C&l

2

2

3

3

E:

2

2

3

3

CsF,

1

1

3

3

c6b

1

1

3

3

C6C

1

1

3

3

s3

3

3

3

3

C6,Fl

2

2

2

2

c7.

2

2

3

3

c7b

2

2

2

2

c7c

2

2

2

2

H4

1

1 or 2

2

2 or 3

9

8

Is the

for any undefined terms). Then C is said to be an [n, k] R code. For example, the [n, 1 ] repetition code { 00.. . 0, 11 * * * 1 } has covering radius (3) This is as large as R can be: for any code (4)

(see [4, Theorem 61).

66

N. J. A. SLOANE

If C has a generator matrix in which every column is distinct (and nonzero) then we say that C has distinct coordinates. This implies n < 2k - 1. Our approach however is aimed at codes with repeated coordinates. Any such code may be obtained by starting with an [n, k] R code C with distinct coordinates, assigning arbitrary nonnegative multiplicities m, ,..,, m,, and taking mi copies of the ith coordinate (for i= l,..., n). The resulting code C*, a “blown-up” version of C, is an [n*, k*] R* code (say), where n* =C mi and k* C [mi/2], and so (6) We now define the normalized

covering radius of C* to be

p = p&n1 ,..., m,)=R*-

i i=l

[1 y

.

(7)

Then p > 0, and, since C = C* when all mi = 1, ,oc( 1, l,..., 1) = R.

(8)

From (3), if C has dimension 1, p = 0. The [n = 2k - 1, k] R = 2k-1 - 1 simplex code Sk plays a particularly important role, since it has as generator matrix a k x (2k - 1) matrix whose columns are all direct nonzero binary k-tuples. We arrange these k-tuples in increasing order, so for example the generator matrix for Sj is 1234567 0001111 0110011 1010101

1 (see also (60)). The normalized

1

(9)

covering radius of Sk will be denoted by

COVERING

RADIUS

67

OF CODES

where mi is the number of times the column representing appears. For example, when k = 1, Eq. (3) implies

the integer i

p(l)(m,) = 0.

(10)

Since any code C* is a blown-up version of some Sk, it is possible to express the normalized covering radius of any code in terms of pck). However, the notation introduced in (7) is often more convenient. For x = (x(l),..., x@)) as above, we define the height of x(‘) to be jtfx(0) = wt(x(i)) -

[1 !!I! 2 ’

(11)

the height vector of x to be (ht(x”‘)

,...> ht(x’“‘),

and the height of x itself to be k(x)

= i i=

ht(x(‘)).

(12)

1

Since 0 < wt(x”‘) 1< m.I? (13) In particular,

if all the mi are 1, C* = C has distinct coordinates, and ht(x”))=O

or

1

(i= l,..., n).

(14)

By analogy with the formula d(x, c*) = m$* d(x, c) = cyl* wt(x + c) for the distance of x from C*, we call ht(x, c*) = mF* ht(x + c) the height of x above C*. Then we have (from (2) and (7)), P = pch,...,

m,) = max cE$l ht(x + c) x = max ht(x, C*).

(15)

68

N. J. A. SLOANE

A vector x such that d(x, C*) = R*,

i.e., ht(x, c*) = p is called a deep hole in C* (by analogy with [6]).

III.

THE EXACT VALUE OF p AS AN INTEGER PROGRAMMING PROBLEM

The problem of finding p (and equivalently R*) can be phrased as an integer programming problem. To see this, let us examine what happens when a code word c* = (c(l),..., c(“))E C* is added to a vector x = (x(l) ,.“, x@)) having height vector (hi,..., h,) and height h, + .*. + h,. If c(j) = 0, xci) and hi are unchanged. If c(j) = 1, x(‘) is complemented, wt(x”‘) is changed to mi- wt(x”‘), and so hi is changed to -hi if m, is even, or to 1 -hi if mi is odd. Let rri = parity (m,) = 0 if mi is even, = 1 if mi is odd. Then, by what we have just said, the effect of adding c* on the height of x is expressed by the formula ht(x + c*) = ht(x) + i

71ici- 2 i

i=l

i=l

Cihi,

(16)

where the ci ( = 0 or 1) in (16) are regarded as real numbers. Suppose now that x is a deep hole in C*. Since C* is linear, we may assume that 0 is a closest code word to x. Therefore adding c* E C* to x must not increase the height of x, i.e., ht(x + c*) 2 ht(x),

all c* E C*,

or in other words we have, from (16), all ceC.

(17)

In view of Eq. (15) we have established the following result. THEOREMS. The normalized covering radius p = pc(m, ,..., m,) is given by the solution to the following integer programming problem: maximize

hl + ... + h,

(18)

COVERING

RADIUS

69

OF CODES

subject to

(19)

hiEZ,

(20) (21) for all c E C. The maximum COROLLARY 2.

The

value of h 1 + . ’ * + h, is equal to p.

monotonicity

theorem.

Zf mi < rn,! and mi= rn,!

(mod 2) for all i, p&h,...,

m,) G pcP4,...,

m3.

Proof: For the conditions (20) on the hi are weakened, while (21) is unchanged. For C itself all the mi are 1, and we have (using (14)): THEOREM 3. The covering radius R =pc(l, l,..., 1) of C is given by the solution to the above integer programming problem, but with (20) replaced by hi=0 The maximum

or 1.

(22)

value of hi + . *. + h, is equal to R.

Finally, if we drop (20) altogether, we get an upper bound on p. THEOREMS.

Then pc(m,,...,

Let pm be the solution to the problem (18), (19), and (21).

m,)