• No results found

1967-1969 report of the Discrete Mathematics Group

N/A
N/A
Protected

Academic year: 2021

Share "1967-1969 report of the Discrete Mathematics Group"

Copied!
27
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Citation for published version (APA):

van Lint, J. H. (1969). 1967-1969 report of the Discrete Mathematics Group. (EUT report. WSK, Dept. of Mathematics and Computing Science; Vol. 69-WSK-04). Technische Hogeschool Eindhoven.

Document status and date: Published: 01/01/1969

Document Version:

Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website.

• The final author version and the galley proof are versions of the publication after peer review.

• The final published version features the final layout of the paper including the volume, issue and page numbers.

Link to publication

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

• You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement:

www.tue.nl/taverne

Take down policy

If you believe that this document breaches copyright please contact us at:

openaccess@tue.nl

providing details and we will investigate your claim.

(2)

1967 - 1969

Report of the Discrete Mathematics Group

by

J .H. van Lint

T.H. Report

69-WSK-04

(3)

§

o.

Introduction

The purpose of this report is to present a number of results found in the years 1967-1968 and 1968-1969 by members of the Discrete Mathematics Group and by some of the students who took the course on discrete mathemat-ics. Although everything presented here is original work it is not all new (which in most cases was only discovered after the work was completed).

In

cases where similar results are known to us they will be mentioned. This report contains only those results which have not been published separately as papers. The titles of the sections are:

1. The penny-weighing problem. 2. A perfect code over GF(3).

3. Computer search for perfect codes.

4. Nonexistence of a non-trivial binary perfect 4-error-correcting code.

(4)

~;, 1. '/')1(; PC;flrJ,y-w(;il';lLLIl{'; problem (l/.~; .Ni. Kr'uijer unel ,J .1/. van Lint)

Given a balance which can be used to determine whether two weights are equal, or which is heavier, and given a certain quantity of pemlies, of which at most one may be heavier or lighter than the standard weight, it is asked to determine with a minimum number of operations which penny, if any, is defective, and whether its weight is too large or too small. It is also required that the weighing program be completely predetermined, and thus not be affected by the results of the successive weighings.

Golay (1958) showed the connection of this problem with the theory of perfect single-error-correcting codes, the so-called Hamming codes. In fact, each penny may be in one of three possible states, too light, of correct weight, and too heavy, and its state is thus expressible by an element of the field of three elements, which field we shall denote by GF(3). The in-formation gathered from each weighing is also expressible by an element of GF(3). Finally, for the position of a penny at each weighing there are also three possibilities: the penny is on the right scale, on the left scale, or off the scales. These circumstances suggest an analogy with the transmission and reception of messages composed of the elements of GF (3), of which one at most may be received in error.

If we have k operations of weighing at our disposal to identify the defective penny and to decide whether it is lighter or heavier than the others, there is a solution if the number of pennies, which we denote by n,

zk 3

o1)eys the following restrictions: 3 ~ n ~ ] 2- That these bounds for n are necessary for the problem to be soluble has been proved by several per-sons (Dyson (1946), Smith (1947), Fine (1947), O'Beirne (1965)). I t follows that l-f

3k-~

-

3

< n

~

3

k ; 3

- k weighings are necessary and sufficient to solve the problem.

Suppose we have n pennies,

3k-~

-

3

< n

~

3

k;

3

and we have f oUild the weighing program we searched for. This program can be characterized by a matrix H (k rows, n columns) over GF(3), which elements are defined in the following way:

i) if h. _ 0 the j-th penny

TJ is not used in the i-th weighing,

.ll) i f h .. the j-th penny is

l J on the left scale in the i-th weighing,

iii) • £'

h .. ll.

lJ 2 the j-th penny is on the right scale in the i-th weighing.

(5)

a) each row of H has the same number of 1 's as 2's,

b) no 2 columns of H are linearly dependent over GF (3), in other words: If 2S. is a column of H, neither x nor - x occur among the other columns, and ~

(=

the columnvector consisting solely of OIS) is not a column of

H.

The result of the k weighings is described by a columnvector '!!.. with w. = 0

1

if the scales balance, w.

=

1 if the left scale is heavier and w.

=

2 if the

1 1

right scale is heavier. I f w

=

0 there is no defective penny. I f '!!..

I

Q

then w is the j-th column of H if the j-th penny is too heavy, and w is twice the

j-th column if the j-th penny is too light.

Definition: A matrix H with £ rows and m columns, which has the properties a) and b), shall be called a weighing-matrix, and denoted by H(£;m)o

Thus it is our goal to construct for each entire number k~ 2

3k-1 _ 3 ,;:: 3k - 3

each n with 2 < n,-" 2 a weighing-matrix H(k;n). Unless n our weighing-matrices H(k;n) will also have the following property: c) among the columns of H(k;n) there does not occur the columnvector 1

consisting of 1 's only and the columnvector

£

conSisting of 2's only. We shall now describe a method to construct, in a recursive manner, the

re-quired weighing-matrices H(k;n). Although independently discovered, this method resembles much a method described by C.A.B. Smith (1947). We start with the following matrices:

H(2;3)

(~

0

~)

(~

0 1

~)

2 1 2 H(3;5)

(~

1 2

D

0 1 1 2 2 1 HO;

6)

(~

0 1 2

D

2 0 1 1 0 2 2 1

(6)

(C

0 0 2

D

H(3i7) 2 2 2 0 1 1 0 1 2 0 2 1

(:

0 1 1 1 2 2

~)

H(3;8) 2 1 2 2 0 0

,.

1 2 1 2 0 2

(~

0 0 1 1 1 2 2

~)

H(3i9) 2 2 0 0 1 1 1 0 1 0 2 2 1 2

C

0 0 0 1 1 2 2

D

H(3i 1O )== 1 1 1 0 2 2 1 2 0 2 0 1 2 0 0

c

0 0 1 1 1 2 2 2

~)

H(3;11)== 1 2 1 1 2 2 0 0 1 1 1 1 2 1 2 0 2 0

H(3;12)

~

C

0 0 0 1 1 1 1 2 2 2

;)

0 2 2 0 0 1 2 0 1 1

.

2 1 2 0 2 0 1 2 0 1

We see that indeed all these matrices, except H(3;11), have property c), and that the first column of H(3;12) does not occur in

±

H(3;11), which property is also essential for our method. We distinguish between four cases:

I) If 3 k -1 _ 3 =0::: 3k - 9 , we write: n == 2g + h with g~

2

k -1 -

2

2 < n"" 2 2 ,2k-1 - 2

2

k-1 -

:2

We get H(k;n) as follows: h~ g

I

2 2

(~(~~;;~j

0

·

1 • • ~ e 0 0 1

·

:(~~; ;~i

2)

H(k;n)

·

H(k-1;g)

·

·

·

·

·

k

:2

k-1 -

:2

-zk-1

-2

n)

I f n = 2 ; 7 , we write: n == 2g + h + 3 with g ~ 2 ,h~ .:!. 2 g

f

2 k -1 -

:2

• We get H(k;n) as follows: 2

(7)

() •.•••• 0 1 •.••.• 1 . 2 •..•.• 2 . 0 1 2

2 0

H(k;n) H(k-1 ;h) H(k-1;g) H(k-1;g)

o 2 0 1

k

III) If n =

3

2-

5 ,

we get H(k;n) as follows:

2 ...•..•••• 2 . 1 2 2

o

1 2 H(k;n) = k - 1 ' k - 1 ' k-1 H(k-1 ;

3

-5).

H(k-1 ;

3

2

-3) .

H(k-1 ;

3

-2.)

2 2 0 1 2 k

IV) If n

3 ; 3 ,

we construct first a weighing-matrix A(k;n) as follows:

o ....

0 0 0 $ . 0 .

o .

1 1 • 2 2 • 0 1 2

2 0 1

k - 1 ' k - 1 ' . k-1 • •

A(k;n) = H(k-1;

3

2

-3) .

H(k-1 ;

3

2-

3) .

H(k-1 ;

3

2

-3) . .

2 0

By interchanging the first and the (3k-1 - 2)-th column of A(k;n) we get a weighing-matrix H(k;n) whose first column does not occur in

i.

H(k;n-1).

k

Moreover, i t is clear that only H(k; 3 2- 5) does not have the property c). These last two remarks justify our method.

(8)

§ 2. A perfect code over GF(3) (R.S.M. Kruijer and J.R. van Lint)

In Peterson

(1961)

it is stated that there are probably no perfect codes except the binary repetition codes, perfect single-error-correcting codes and the Golay (23,12) code. We shall describe the construction of a perfect 2-error-correcting code over GF(3). Although we have learned in the meantime that the existence of this code is well known (to others!) we have not seen the description given below in the literature. In Berlekamp

(1968)

the code is described as a quadratic residue code

(po

307).

In the following we work over the field GF(3). We use ~ to denote the unit matrix of order k, J

k to denote the k

x

k matrix for which all entries are 1 and S to denote the cyclic matrix with first row (0 1 -1 -1 1).

5 Define G by 1

o

0 0 0 0 1 1 1 1 1 0 G := 0

I

S

0 5 5 0 0 and R by 1 1 H := 1 S -I 5 5 1 1 Then GHT = 0

.

Clearly the rows of G are independent and hence G is the generator matrix of an

(11,6)

code over GF(3) and H is parity check matrix for this code~ We re-mark that 0 0 0 0 0 0 GGT 0 0 -J 5 0 0

(9)

rphis implies that i f a '-' (a ,a ,a ,a ,a ,a.) then

- 1 2 3 4 5 6

- (.

~

a

i

)2

f

1 J.=2

i . e., all code-words §:. G have weight

t

1 (mod

3).

Clearly no code-word can

have weight 2 and in fact it is immediately clear that a linear combination of 2 rows of G produces a word of weight

5

or

6

and also that a linear com-bination of 3 rows has a weight> 3, and since this weight cannot be

4

it must also be at least

5.

Trivially a linear combination of more than

3

rows of G bas weight ~

4

and hence ~

5.

This implies that the minimum-weight and minimum distance are

5,

i.e, the code is 2-error-correcting. Since the num-ber of words is 36 and the volume of a sphere of radius 2 is 1 + 2(111) +

(11, 5 .

+

4

2) = 3 the code J.S perfect.

The weight-distribution of the code is:

one word of weight 0, 132 words of weight

5,

132 words of weight

6,

330 words of weight 8, 110 words of weight

9

and

24

words of weight 11.

An alternative description of the code is given by

G* := 1 1 1 1 1 1 1 1 1 1 1

o

0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0 0

o

1 1

o

1 1 1 1 1

o

0 1 0 1 1 0 0 1 0

o

1 0 0 1 1 0 1 0 0

o

o

o

and H* the matrix conSisting of the last 5 rows of G*. Once again G* and H* are generator-matrix and parity-check matrix of the perfect (11,6) code over

(10)

§

3.

Computer search for perfect codes (B. van Bree, J. Jansen, H. Willemsen) A necessary condition for the existence of a perfect w-error-correcting code of block-length n over GF(q) is that

By computer search we found that (3.1) has no other solutions th&~ the well-known ones (q

=

2,

n

=

2w + 1; q

=

2,

n

=

23,

w

=

3;

q

=

2,

n

=

90, w

=

2;

q

= 3,

n

=

11, w

=

2)

in the range w ~ 103, q ~

1cf,

n ~ 103 $ These results

were reported at the Oxford Symposium on "Computers in :Number Theorylt, August 1969, by J.H. van Lint. Here we shall give~more details about the program used.

First we remark that special multi-length arithmetic routines were con-structed for this purpose. Let

cx

= n - k. Define

pol(n,w) Then we have pol(n,w + 1) Define term(n,w) Then term(n, w + 1 )

(q-1)

x (n-w) x term(n,w) • Hence

pol(n,w+1) = (w+1) X pol(n,w) + term(n,w+1) •

The equation to be considered is

(3.6)

pol(n,w)

=

w! qCX

Program I: Let q and w be fixed. Consider pol(n,w) as a polynomial in the real variable n. Using the Newton-Raphson method determine the zero of

pol(n,w) - w! qCX (for increasing values of

cx)

which is greater than n (there is only one such zero). For each ex the previous value of n is taken as ini-tial value. I f n exceeds a given bound we start over again with the next value of w etc. Since the multi-length ari tL1!letic only works for integer's

(11)

the Newton-Raphson method gives an approximation for which a neighborhood must be checked for the presence of an actual zero.

yrogram II: For fixed n and w we find the minimal value of a for which pol(n,w)';:; qa. I f eqLlality holds a solution of

(3.1)

has been found. This program is simple since a too small value of a can be chosen as initial value and by increasing a until pol(n,w) .;:; qa the required value is found. The res t is analogous to program 1.

Remarks about the programs:

In

program I the number of length multi-plications is at least proportional to w2 and to log n whereas in program

max

II we have proportionality to w and n • There is only small dependence on max

q. It is clear that program I is not suitable for large values of w. Total computing time on

EL-X8

was

7800

sec.

(12)

~~ ~S:..! sign.Q.eln, n, ideln, if, ia.t',

k,w",

q, i, qmineei':; t;!!,functie; afg, deln; integer array

f,

af, wtac, M, Mv[-2:maxlengte], pol, term[O:wmax, -2:maxlengte};

~-~~ l~teprod(prod, f, g, i); valUe g; l~~~§Z! prod, f, g, i;

begin integer M, carry,; real hulp;

~ c:G_:eslSszmszmm ~

i := -2; m :=,fj carry t= OJ i := -1; prod != f X sigriOs); 'g;::o,abs(g);

g

prod :oJ O~ begtI:l i ::;'1 0; prod := OJ

m

:= 0; ~ klaar ~;

for i, := 0 step 1 until

m

do

.,...

-~!; hulp := f X g

+

carry;

~~;

carry

:=

entier(hulp/l000000); prod := hulp - carry X 1000000

if carry

+

0 then begin ~~

m

:=

m

+ 1; i :=

m;

prod := carry end; 1tD'~ klaar: i

:=

-2; prod

:a

mj

end inteprod;

(13)

1!

f X g "" -1 then

~ g := -gj intedif(sum, f, g, k); k := -1; teken := sum; g := -gj sum := teken; ~~~ klaar end; sum : == i f f "" 0 then g else f; min : == i f i

<

j then i else j;

...

-for k :== 0 step 1 until min do

...

-begin hulp := f + g + carry; ,

-

if hulp

>

999999

then begin hulp :"" hulp - 1000000; carry := 1 end else carry := OJ

~ 1IIIaIMmIGiIItiI:I~

-sum :== hulp end;

..."....""

if i "" j then begin m := i; goto verder end;

~ ~~ ~ ~

if i

>

j then

-

begin for k := min + 1 step 1 until i do

~~~' ~ ~

begin hulp

:=

f + carry;

-..,

if hulp

>

999999

then begin hulp

:=

hulp - 1000000; carry

:=

1 end else carry

:=

0;

~ ~IIZl:I~ DiIIrIDlIDG~

sum :== hulp end;

m

:== i

""""'''''''

begin for,k := min + 1 step 1 until j do

~~ ~

~ hulp := g + carry;

if hulp

>

999999

then begin hulp

:=

hulp - 1000000; carry

:=

1 end else car~J

:=

0;

Iti:lG:mO ~~ ~~

sum := hulp end; m. := j

~~J

verder: i f carry

+

0 ~::! ~~!l m := m

+

1; k:= m; sum := carry ~; k :"" -2; sum := m;

(14)

1!

f

x

g

=

-1 then

beg1;!.!; g := -g; intesum(dif, f, g, k); k := -1; teken := difj,g := -g; dif := teken; ~2:!:.9. klaar~;

if i

>

j then result := 1 else if i

<

j then result := -1 else

--

~

~--begin result :=

0;

-

for k := i step -1 until 0 do

-

--~~

f

+

g l..~ ~!! result :=

g

f

>

g~!.! ~,~l; ~ ready ~ ~~;

k :=

-2;

dif :=

OJ

k :=

-1;

dif :=

OJ

k := 0; dif :=

OJ

~ klaar .end;

--ready: k

:=

-1; dif

:=

if result

=

1 then f else-gj

--if result ,.. 1 then

~.' ~'

~ ~ k := 0 s~el? 1 until j ~

~ hulp := f - g.- carry;

if hulp

<

0 then begin hulp := hulp + 1000000; carry :=

lllIGiIiiilJ ~~

dif := hulp

~;

~ ~ :=j + 1 ~ 1 until i do

~ hulp := f - carry;

if hulp

<

0 then begin hulp

:=

hulp + 1000000; carry

:=

"""'"

-dif := hulp end; ,.",.,""" In :"" i end else

end else carry :=

OJ

---1 end else carry := 0;

(15)

---kJ.~ar:

~;

dif := hulp

!2!

k

:=

i ... 1 s~~1?luntil j do

~1;: hulp : ... g - carry;.

if hulp

<

0 then begin hulp := hulp ... 1000000; carry:= end else carry

:=

OJ

~ ~~ -~

dif

:=

hulp

m

!= j

!2!

k := i ~ -1 ~ 1

do

begin if dif .., 0 then

m

:=

m -

1 else begin k := -2; dif :=

m;

goto klaar end end;

~ ... ~~ ~ ~~ ~ --~

k := -2; dif

:=

0; end intedif;

(16)

for j :=

m

+ 1 step 1 until n do

----

~- ~ ~

~ inteprod(pol[j, ~], pol[j -

1,

k), j, k); term[j, -2] := term[j,

-1]

:= term[j,

0]

:=

0;

end end coe1';

for i

:=

j - 1 step -1 until 1 do

~- ~=- ~

~ inteprod(a[k], terro[i - 1, k], j - 1, k); intedif(a[k), terro[i, k), ark], k); inteprod( term[ i, kJ, ark], qmineen, k); inteprod( ark], pol(l - 1, kJ, j, k); intesum(pol[i, kJ, ark], terro[i, k], k)

inteprod(term[O,k],term[O,k],qmi~een,k);

It := term[O, -2]; for k

:=

-2 step 1 until It do pol[O, k] := term[O, k]

--

--~~ Newton(m, n, pol, 1', a1') .. ~ M, n; ~~

m,

n; integer array pol, 1', a1';

" "

-E..~~ 1!!~~ i, j, k;

1'(-2) :"" af(=2] :=.1'[-1] := af[~l] := 1'[0] := afrO] := 0;

for.i begin

--:= 0

- -

step 1 until

m -

1 do

...

inteprod(f[k],1'[k],n,k); intesum(1'[k],f[k],pol[i,k],k); inteprod(af[k],af[k],n,k); intesum(af[k),af[k],f[k),k) ,

tnteprod(1'[k), 1'[k],

n,

k); intesum(r[kL 1'[k], pol[m, kJ, 1<)

(17)

tenu[O, 0] := pol[O, 0] := qmineen := q - 1; M[O] := q; if wbegin

>

2 then coef(l, wbegin - l,term, pol, qmineen);

...

--for w := 2 step 1 until wbegin - 1 do

~ ~1I1lIl/QD' ~- ~

£e~~~ inteprod(wfac[k), wfac[k), w, k); inteprod(M[k], M[k), q X w, k) ~~;

for,w := wbegin step 1 until wmax do

~ ~ ~1IIl:a =1iI.U:i'

~ inteprod(wfac[k], w~ac[k],

w,

k); inteprod(M[k], M[k], q X w, k); inteprod(Mv[k], M[k], q, k); coef(w - 1, w, term, pol, qmineen); n :== w; i := w ;

NLCRj PRINTTEXT(fq

==~);

ABSFIXT(3, 0, q); PRINTTEXT({

w

~);

ABSFIXT(3, 0, w); NLCR;

for i :

=

i + 1 while n

<

nm.ax

do

~ ~ ~

begin intedif(pol[w, k], pol[w, k], Mv[k], k);

--

opn: Newton(w, n, pol, f, at); signdeln :== t[-l] X af[-l]; if' :== f[-2]; iaf := af[-2];

functie := t[if]Xl000000 + (if if ==

o

then Oelse t[if -1]);

--

(18)

end w ~~ q end end progend Wi',,,,,,,,,,,,,,,.,,,,,,, if f[-1]

>

0 then

"""""'

_.

begin agl: n:= n - 1; Newton(w, n, pol, f, af); if f(-l)

>

0 then goto agl end

'IElI1~ ~~ ~

else if f[-l)

<

0 then

~--

-n := -n + 1; Newton(w, n, pol, f, af); if f[-l]

<

°

~~~ ~~ ag2 ~~; begin ag2:

~-if f[-l) '"

°

then

--

--begin SPACE( 25); PRINTTEX:T(

{it

=:f.); ABSFIXT(

4,

0, n);

---

PRINTTEXT(~ k =:f.); ABSFIXT(4, 0, n - i)j NLCR

next:

intesun~pol[w, k], pol(w, k], Mv[k), k); inteprod(Mv[k], Mv[k], q, k) end alfa

(19)

~ q, qmineen, npluseen, iterm, irechterlid, n, ipol, alfa,

w,

irechterlidold, i, result; integer array rechterlid, term, pol, rechterlidnew[O : 25];

-=---procedure onderzoek(m, a, b, result); value mj integer!.'il, result; integer array a, b;

~"il"~~ """"""'" -= ... ~ ... :uaz ... ~

integer i;

-

result: =0; .

for i:=

m

step -1 until 0 do

~ ~~ ~ ~

begin if a[i)

+

b[i) then begin result:= if a[i1

<

b(i] then -1 else +1; goto klaar end end;

~~ ~~~ ~ Wi'/j\I;~~

Idaar:

end onderzoek;

E~::~ ~nteprod(m, prod, f, g); value gj ~ m, g; 1!;!teger ~ prod, fj

begin integer i, carr.yj real hulp;

~r;~= ~~'W:llr

for i := 0 step 1 until m do

~ ~""'1IIPI

~ hulp := f[i] X g ... carry; carry := entier(hulp/1QOOOOO); prod(i] := hulp - carry X 1000000 ~;

.!!

carry

,+

0 ~ ~ m := l'Il ... 1; prod[m) := carry ~

(20)

--

--for k

:=

0 step 1 until min do

~ ~ ~

begin hulp := f[k]

+

g[k] + carry;

--

if hulp

>

999999

then begin hulp := hulp - 1000000; carry:= end else carry := 0;

~ ~~ ~~ sum,[k] : ... hulp ~; if :I. "" j ~~ ~ m := i; ~ verder ~; if i

>

j then t:b1QlJ ~

beg:l.n for,k := min + 1 step 1 unt:I.l i do

~~~ ~ ~

begin ~ulp := f[k] + carry; ..

-

if hulp

>

999999

then begin hulp

....,.

-sum[k] := hulp

~; m:= i

end else

~~

begin fork : ... min

+

1 step 1 until j do

iI:l57~~ ~ ~ ~

begin hulp := g[k]

...

+ carry; . '

:= hulp - 1000000; carry := 1 ~ ~~ carry := 0;

if hulp

>

999999

then begin hulp := hulp - 1000000; carry:= end else carry

:=

0;

~ ~~ ~~ sum.[k] := hulp end; m:= j

-end;

-verder:

carry

+

0 then begin m := m + 1; sum[m] := carry end

- -

(21)

opnieuvr:

~ npluseen:= n +"; iterm := irechteriid := ipol := alfa := OJ rechterlid[O] := 1;

t~rm[O] := ~

x

qmine~n; pel(O) := 1

+

term[O); for If

~

begin

-:= 2

!!:!:R

1 until 1() do

inteprod( irechterlid, rechterlid, rechterlid, inteprod( iterm, term, term, npluseen -

w);

inteprod( iterm, term, term, qmineen); inteprod( ipol, pol, pol,

w);

intesum( ipol, 'pol, ipol,pol, itenn, term); if +rechterlid

<

ipol then

...

...".

w);

begin alfa:= alfa + 1; irechterlidold := irechterlidj

--

inteprod( irechterlid"rechterlidnew, rechterlid, q);

if irechterlid

<

+pOl th~n

...

--begin for i := 0 step 1 until irechterlid do rechterlid[i] := rechterlidnew[i]j

- -

...

~~ opnieuw end

end else

- -

for i := 0

...

step 1 until irechterlid do rechterlidnew[i] := rechterlid[i}; irechterlidold := irechterlld

end;

(22)

-end ...-end progend

-end end

for i := 0 step 1 until irechterlid do rechterlid[i] := rechterlidnew[i];

~ ~ ~ ~

inteprod(irechterlid, recht~rlidnew, rey~terlidJ q); if irechterlid

>

ipol then goto verder else gato opn

-

~~ ~~

end else if result ... -1 then

~ ~:mww wmu

verder: irechterlid:= irechterlido+~; alfa

:=

alfa - 1 end else

~~ for i : ... 0 ~ 1 ~.! lrechterlid

22

rechterlid[i] := rechterlidnew[i];

NLCR; PRIN'l'TEXT( ~ n ...

:i-);

ABSFIXT( 3, 0, n}; PRIN'lITEXT( ~ k ... t);

ABSFIXT(3, 0, n - alfa); PRINTTEXT(~

w ...

:i-);

ABSFIXT(3, 0, w);

PRIN'rTEXT(

t

q ...

:i-);

ABSFDCT( 3, 0, q)

(23)

§ 4. Nonexistence of a non-trivial binary perfect 4-error-correcting code (J.H. van Lint)

For binary perfect codes that correct an odd number of errors Shapiro and Slotnick (1959) indicated the following method for finding possible values of the block-length n. A necessary condition for the existence of a perfect e-error-correcting code over GF(2) is

(4.

1 )

e

P(n) :

=

~

(:r:-) =

2k •

. l

l=0

The expression e! Pen) is a polynomial in n of degree e with integer coeffi-cients. If e is odd this polynomial is divisible by (n + 1). This leads to a finite number of poss ibili ties (n + 1) = ex. 2t where ex Ie!. I t is not hard to work through a number of small values of e. The first case that is hard to solve using (4.1) alone is e

=

4. Recently it was shown, using the computer extensively, that a binary perfect 4-error-correcting code does not exist i f

n > 9 (cf. van Lint (1970)). We shall now give a short proof of this theorem. We use a theorem of Lloyd (1957).

Theorem (Lloyd): I f a binary perfect e-error-correctmg code C exists, with block-length n, then the polynomial

Pe(x).-.~ (_1)i(~=~)(Xi1)

l=O

where

(~) = x(x-1) ••. (x-i+1)/il

l

has e distinct integral zeros among 1,2, ... ,n-1. For e

=

4 we find

24P

(x)

4

The equation P ex) = 0 can be solved explicitly. The four -roots are given by

4

1-\-i.4) 2X

i = n + 1.:!:: (3n-7.:!::~6n2-30n+40)'2

(24)

Now remark that P (0) ==

4

4

L;

(x:)

and hence by (4.1) we have

. l l==O 4 II i=o _ k-1 x. == 302 • l

Hence at least three of the roots are powers of 2 which implies that there is a choice of the second

±

sign in (4.4) such that

l l

n + 1 + (3n-7+V6n2 -30n+40)'2> 2{n+1-(3n-LtV6n2-30n+40)"2} This implies (eliminating one of the square roots) that:

23n> 9V6n2 - 30n +40 > n2 - 25n + 64 ,

i.e.

n2 - 48n + 64 < 0 •

Hence n must be less than

47.

The computer search of

§

3

yielded no solu-tions of (4.1) with e == 4 and 9 < n < 1000. Hence we have proved:

Theorem: For block-length n > 9 a binary perfect 4-error-correcting code does not exis t.

(25)

§

5.

Minimal weight of binary group codes (T. van den Hooven)

We consider linear codes over the binary alphabet. 1et n be the block-length of a code, k the dimension of the code and d the minimal distance of the code-words. We define

W(n,k)

.-

maximum of d over all linear codes with fixed n,k, N(k,d)

.-

minimum of n over all linear codes with fixed k,d, K(n,d) :== maximum of k over all linear codes with fixed n,d.

We have checked a number of results which can be found in the literature (references: Galabi and Myrvaagnes (1964), Hatcher (1964), PLM-report

(1966)). Using these results tables of W, N and K have been made for values of n and k up to

24.

In some of the references these tables are not complete but the cases that were still open have been decided since then (1. Galabi, private communication).

Using Hamming codes, the idea of subcodes and of adding a single parity-check, and trivial weight estimates the following properties can be found in

(5.

1 ) (5.2)

(5.3)

(5.4 ) (5.5) (5.6) (5.7) (5.S)

a straightforward way (cf. Galabi and Myrvaagnes (1964)): W(n,n) =: 1 , W(n,k) ~ Wen + 1,k) , W(n,k)~W(n-1,k-1) , W(n,k) + W(m,k) ~ W(n +m,k) ~ W(n,k) + m W(n,k) =: 2h if W(n-1,k) =: 2h - 1 for h =: 1,2, ••• , if n <

~-1

Using these inequalities and some known codes most of the entries in the tables can be checked readily. We shall only go into the ~nstances where we did not agree with published results.

Cay

III rlvLL-report (1966) on page 6 we find

"If N(k~d) =: 2h - 1 tfJen N(k,d + 1) =: 2h h=:1,2, ••. ". This is obviously wrong, e.g. N(4,S) =: 15, N(4,9) =: 19.

(26)

--I t is true that for odd d we have N(k,d + 1) '" N(k,d) + 1. This is achieved by adding a single parity-check symbol (cf. property 27 in Hatcher (1964)).

(b) In PLM (1966) page 7 and also in Hatcher (1964) (property 54) we find:

( k ) k-1

" N(k,d) ~ d 2 - 1 + 2 - 1 II •

k-1

2

Here II ~" should be replaced by ":;" It

the result is given correctly.

In the proof in Hatcher (1964)

(c) In PML (1966) page 8 the upper-right formula should read " K(N(k,d),d) '" k 11 •

(d) In PML (1966) on page 8 the formula

"Ken ,d) +K(n

,[d2+1J)~K(n

+n ,d) It

1 2 1 2

holds only if n :;" n . This can be seen from the proof which is

sug-1 2

gested in Hatcher (1964), property 51. There are two misprints in the following proof of property 52:

"K(n_d,[d;1]) + 1 :;"K(n,d) It

It is interesting to remark that these two inequalities can be combined if n ~ 2d. We find:

K(n,d) '" 1 + K(n_d,[d;1]) if n~2d,

and since n - d

~

2[d ; 1] this formula can be iterated. This yields a method for finding K(n,d) for all pairs (n,d) with n ~ 2d.

(27)

lteferences

BerlekamP9 E .R. (1968), "Algebraic Coding Theory", McGraw-Hill Inc., New York.

Calabi, L. and E. Myrvaagnes (1964), "On the Minimal Weight of Binary Group Codes", IEEE Trans. Inform. Theory, IT 1 0, 385 - 3870

Dyson, F.J. (1946), "The Problem of the Pennies", Math. Gaz • .2Q, 231- 234.

Fine, N.J. (1947), "Solution of Advanced Problem 4203", Am. Math. Monthly

SA., 489-491.

Golay, M.J.E. (1949), "Notes on the Penny-weighing Problem, Lossless Symbol Coding with Nonprimes, etc.", IEEE Trans. Inform. Theory, l t i ,

103 - 109.

Hatcher, T. (1964), "On Minimal Distance, Shortest Length and Greatest Num-ber of Elements for Binary Group Codes", Parke Mathematical Labs.,

Carlisle, Mass., Tech. Mem. No.6.

Lint, J.H. van (1970), "On the Nonexistence of Certain Perfect Codes", Proceedings of the Symposium on Computers in Number Theory, Oxford 1969.

Lloyd, S.P. (1957), "Binary Block Coding", Bell System Tech. J. 36, 517-535.

o

'Beirne , T.H. (1965), "Puzzles and Paradoxes", Oxford University Press, London.

Parke Mathematical Labs. (1966), "Mathematical Research on Coding Theory", Final Report AF (19) 628 - 3826.

Peterson, W.W. (1961), "Error-Correcting Codes", The M.LT. Press, Cambridge, Mass.

Shapiro, H.S. and D.L. Slotnick (1959), "On the Mathematical Theory of Error-Correcting Codes", IBM J. Res. Develop.

i,

25- 34.

Referenties

GERELATEERDE DOCUMENTEN

Daarbij is het zo dat de eerste suppletie (Terschelling, 1993) geen groot, direct effect kon hebben doordat deze vlak buiten de hoogste dichtheden is aangebracht; dat het

8 Eupoecilia ambiguella, Grape berry moth Lepidoptera, Tortricidae Grapholita molesta, Oriental fruit moth Lepidoptera, Tortricidae Helicoverpa spp., budworm moths

Materialen en methoden 19 2.1 Alternatieven voor actualisatie van de grondwaterdynamiek 19 2.2 Uitwerking alternatieve karteringsmethoden 21 2.3 Gegevens 22 2.4

In de zomervakantie heeft de website groot onder- houd gehad. Er is nieuwe veilingsoftware geïnstal- leerd en de werkgroep bedankt Erik van den Hout voor zijn bijdrage en

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of

the static switches. This usually employs a high-frequency trans- former with magnetic core to obtain the necessa,ry isolat,ion between information electronics and power

If the middle part of the n-th line is not EB, and if catCnl = k, then 5 is the EXPRESSION string consisting of just one entry, viz. the category part of the n-th

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of