• Tidak ada hasil yang ditemukan

Codes and Combinatorial Structures

3.5 Decoding schemes

3.5.3 Permutation decoding

Permutation decoding was first developed by MacWilliams [79]. Itinvolves finding a set of permutations that preserve a code, called a PD-set. The method is described fully in MacWilliams and Sloane [80, Chapter 16] and, more recently, in Huffman [53, Section 8]. In this section we will give a brief, but complete, description of the method and in Chapter 10 we make extensive use of this method, and discuss some recent results. In particular we will look at codes defined by designs or graphs, where the automorphism group is known and large.

Definition 3.5.3 A PD-set for a code is a set S of automorphisms of the code which is such that, if the code can correct t errors, then every possible error vector of weight t or less can be moved by some member ofS out of the information positions.

That such a set will fully use the error-correction potential of the code follows from Theorem 3.5.4 quoted below. That such a set exists at all is clearly not always true. There is a bound on the minimum size that the set S may have, and we will quote the relevant result in Theorem 3.5.5. Using this algorithm, in Chapter 10, we obtain both computational and explicit permutation decoding sets for some codes from permutation primitive representations of some simple groups as well as codes obtained from the triangular graph T(n) and the codes from graphs on triples. In particular explicit permutation decoding sets for the binary codes of the triangular graphs and the codes from graphs on triples are found.

Theorem 3.5.4 (53] Let C be an rn, k, d]q t-error-correcting code. Suppose

9

is a check matrix forC in standard form, that is such that In - k is in the redundancy

positions. Let y

=

c

+

e be a vector, where c E C and e has weight less than or equal to t. Then the information symbols in y are correct if and only if the weight of the syndrome of y is less than or equal to t.

Proof: Suppose C has generator matrix

9

in standard form, that is

9 = [h I

A]

and that the encoding is done using g, that is the data set x

=

(Xl"," Xk) is encoded as

xg.

The information symbols are then the first k symbols, and the check matrix

0

is

0 =

[_AT

I

In -k ]. Suppose the information symbols of y are correct. Then OyT

=

OeT

=

eT, and thus wt(OyT)

:S

t.

Conversely, suppose that not all the information symbols are correct. Then if e

=

el . . .en, and e' = el . . .ek, e" = ek+l ... en, we assume that e' is not the zero vector. Now use the fact that for any vectors wt(x

+

y) 2: wt(x) - wt(y). Then

wt(9yT) wt(OeT)

=

wt( _ATe,T

+

e"T)

>

wt( _ATe,T) - wt(e"T)

wt(e'A) - wt(

e")

- wt(e'A)

+

wt(e') - wt(e') - wt(e") wt(e'Q) - wt(e) 2: d - t 2: t

+

1, since d 2: 2t

+

1 by Theorem 3.5.1. Hence the result . •

The algorithm for permutation decoding then is as follows: we have a t-error- correcting

rn,

k, d]q code C with check matrix

0

in standard form. Thus the generator matrix 9 for C that is used for encoding has

h

as the first k columns, and hence as the information symbols. Any k-tuple v is encoded as vg. Suppose Xis sent and y is received and at most

t

errors occur. Let S

=

{gl' ... ,gs} be the PD-set. Compute the syndromes O(ygi)T for i

=

1, ... ,s until an i is found such that the weight of this vector is

t

or less. Now look at the information symbols in this vector, and obtain the codeword c that has these information symbols (see [79]). Now decode y as cg;l. Note that this is valid since permutations of

the coordinate positions correspond to linear transformations of IFqn, so that if y

=

x

+

e, where x E C, then yg

=

xg

+

eg for any 9 E Sn, and if 9 E Aut(C), then xg E C.

The following result which can be found in [53] and originally from Gordon [46]

establishes a bound for the minimum size a PD-set can have:

Theorem 3.5.5 If S is a PD-set for a t-error-correcting [n, k, d]qcode C, and r = n - k, then

r

n rn -

1 r

rn - t

+ 11 111

ISI~

- - ... .. . .

r r-1 r-t+1

In Gordon [46] and Wolfman [96], small PD-sets for the binary Golay codes were found. In Chabanne [24] abelian codes, that is ideals in the group algebra of an abelian group, are looked at using Groebner bases, and the ideas of permutation decoding are generalized. Note that PD-sets need not be sought, in general, for codes with minimum weight 3 or 4, since correcting a single error is in fact simply done by using syndrome decoding, because in that case multiples of the columns of the check matrix will give the possible syndromes. Thus the syndrome of the received vector need only be compared with the columns of the check matrix, by looking for a multiple.

In general it is rather hard to find these PD-sets, and they need not even exist.

However, ifC is a single-error-correcting code, it is somewhat easier to find such sets. In fact we use the following observation which we state as a lemma:

Lemma 3.5.6 Suppose C is a [n, k, d]q t-error-correcting code, and let r

=

n - k.

LetT denote the set oft-tuples of elements of{I, 2" .. ,n} and£ be set oft-tuples of elements of the check positions {k+1,k+2, ... ,n}. Then a setS

=

{gI, ... ,gs}

of automorphisms will be a PD-set for C if

U

£g-l

=

T.

gES

Furthermore) for any 9 E Aut(C) the set g5

=

{ggl"'" ggs} will also be a PD- set.

Proof: Let

13

E

T.

Then

13

E

U

9ES £9-1 Hence there exists gi E 5 such that

13 =

£9;-\ so that

13

9; E £. For the second statement we proceed as follows: we need to show that any t-tuple

13

E

T

satisfies

13 =

ae-1 for some a E £ and

e E g5. If

13

9

=

I

=

a h-1 for some a E £ and h E 5, then

13 =

ah-19- 1

=

a(gh)-l,

as required. •

MacWilliams [79] developed a theory for finding PD-sets for cyclic codes. A [n,k, d]q code C is said to be cyclic if whenever c

=

CIC2· ..en E C then every cyclic shift of c is in C. Thus the mapping T E Sn defined by T : i I-t i

+

1 for i E {1, 2, ...,n}, is in the automorphism group of C, and Tn

=

1. Ifa message c is sent and

t

errors occur, then if e is the error vector and if there is a sequence of k zeros between two of the error positions, then Tj for some j will move the sequence of zeros into the information positions, and thus all the errors will occur in the check positions. Thus

<

T

>

will be a PD-set for C if k

< 'T.

As shown in [79], if q is a number prime to the length n, then the map p :i I-t qi is also an automorphism of the cyclic code and it is in the normalizer N of

<

T

>.

MacWilliams examines the cases where N contains a PD-set.

As an illustration of this ideas of MacWilliams we give in Chapter 10 a PD-set for the [15,4,

8h

code obtained through computations with Magma [11] from a primitive permutation representation of the simple alternating group A6 . In fact this code is the dual code of the well known Hamming code of length 15. Since this code is in fact a cyclic code, a PD-set for it was found in a Singer group.

For small

t,

PD-sets can be found computationally. Using Magma we have designed a programme (see Appendix C) which could be used to determine the PD-sets with small

t,

and

t :S

7. A list of these codes and corresponding PD-sets can be found at the website:

http://www.ces.clemson.edu/-keyj under the list of PD-sets.

In [60} Key found computationally some PD-sets for single-error-correcting codes of the Hermitian and Ree unitals on 28 points.

Other instances of PD-sets found through computations are given in [531, (see for example Huffman [53, Example 8.3]), where a PD-set of 14 elements for the [27, 12,8h extended binary Golay code is given.

Codes from Combinatorial