1 some computation problems in coding theory eric chen computer science group hkr

50
1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

Upload: shonda-lindsey

Post on 18-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

1

Some Computation Problems in

Coding Theory

Eric Chen

Computer Science GroupHKr

Page 2: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

2

2

Outline

• Information Transmission System

• Some definitions

• Goals of coding theory

• Computer search for QT codes and QT 2-weight codes

• Some computation problems

Page 3: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

3

3

Information Transmission System• Source encoding (remove redundancy)• Channel encoder ( add redundancy )• Channel decoder ( error detection/correction)• Source decoding

Information Sink

Receiver(Decoder)

Transmitter(Encoder)

CommunicationChannel

Information Source

Noisek-digit k-digitn-digit n-digit

Page 4: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

4

4

Source coding and channel coding• Coding theory

The study of methods for efficient and reliable data transmission

• Source codingRemove redundancy (data compression)

• Channel codingAdd redundancy for error

detection/correction

Page 5: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

5

5

• add additional information, or redundancy

to data

• added by sender, checked by receiver

• k data digits encoded to a codeword of n digits

• Code rate r = k / n

k nEncoded as

codeword

Channel Coding – Principle

Page 6: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

6

6

Binary linear block code

• A block of k digits u = u1u2 … uk. ui= 0 or 1 for a binary code

• Encoded into a codeword x = x1x2…xn.• The mapping u x

Generator matrix G k × n matrix• x = u G

Parity check matrix H (n-k) × n matrix • H xT = 0

Page 7: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

7

7

Definitions

• bit (binary digit) : 0 or 1

• Digit : an element of GF(q)

• Word : a sequence of digits or bits

• Binary code : a set of words over GF(2)Example

• C2 = {000, 011, 101, 110}

Page 8: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

8

8

Definitions

• (Hamming) weight of a word xwt (x) the number of non-zero digit in a word

• (Hamming) distance between two words

the number of positions where they differ• Example

Words v1 = 101, v2 = 110 (also called vectors)wt(v1)=2; wt(v2) =2d (v1, v2) = 2

Page 9: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

9

9

Definitions

• (Minimum) distance d of a code:The minimum distance between its

codewordsd = min weight of the non-zero codewords

• Minimum distance d determines the error detection or correction capabilityDetection d – 1 errorsCorrect (d – 1)/2 errors

Page 10: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

10

10

Example– repetition code

• Binary [m, 1, m] codek = 1, d = m

• Example [3, 1, 3] codeTwo codewords: 000, 111Each 0 000 Each 1 111Can detect 2 errors (for error detection)Can correct 1 error (for error correction)

Page 11: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

11

11

Example– repetition code

• Example [3, 1, 3] codeTwo codewords: 000, 1110 000 1 111Generator matrix

• G = [1 1 1]

Parity check matrix

101

011H

Page 12: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

12

12

4 Foundamental Parameters of a Linear Code

• Code dimension, k

• Block length, n

• Minimum distance, d

• Alphabet size, q

• A linear q-ary code is often written as an [n, k,

d]q code

q=2, called binary code, [n, k, d] code

• Code rate: r = k/n

Page 13: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

13

13

4 Foundamental Parameters of a Code

• An (n, M, d)q code:

Number of the codewords, M

Block length, n

Minimum distance, d

Alphabet size, q q is a prime power

• q=2, called binary code, (n, M, d) code

• Code rate: r = log M / n

Page 14: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

14

14

The Goals of Coding Theory

• A good q-ary (n, M, d) code has small n, large M and large d.

• The main coding theory problem is to optimize one of the parameters n, M, d for given values of the other two.

• NotationAq(n, d) is the largest M such that there

is an (n,M,d)q code.

Page 15: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

15

15

The Goals of Coding Theory

For linear q-ary codes:

• Given k, d, q. Find an [n, k, d]q code

that minimizes n

• Given n, d, q. Find an [n, k, d]q code

that maximizes k

• Given n, k, q. Find an [n, k, d]q code

that maximizes d

Page 16: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

16

16

Online Code Table

at http://www.codetables.de/

Page 17: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

17

17

Example

• Given n and k, maximize the distance ? n = 60, k = 19

the lower bound on distance is 18 the upper bound on distance is 20 if [60, 19] code exists with d = 19 or 20 ?

n = 81, k = 20Bound on distance is 26 – 30

Difficult to improve the boundQuasi-twisted codes proven to contain good

or optimal codes.

Page 18: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

18

18

Binary constant weight codes

• All codewords have a weight w

• A(n,d,w) is the maximum size of a

binary code with word length n,

minimum distance d, and constant

weight w.

• Closely related to combinatorial designs

• How to determine the A(n, d, w) ??

Page 19: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

19

19

Online Code Tables

• Bounds for binary constant weight

codes

http://www.win.tue.nl/~aeb/codes/Andw.html

• Erik Agrell's tables of binary block

codes

http://webfiles.portal.chalmers.se/s2/research/kit/bou

nds/

Page 20: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

20

20

Cyclic Code and Polynomial

• Every cyclic shift of a codeword is also a codeword   • Generator polynomial g(x) and generator matrix

operation modulo xn – 1.• Many famous cyclic codes

– BCH codes, Reed-Solomon codes

)(

)(

)(

1 xgx

xxg

xg

G

k

Page 21: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

21

21

Circulant Matrix• An nn cyclic or circulant matrix is defined as

• it is uniquely specified by a polynomial formed by the elements of its first row, a(x) = a0 + a1 x + a2 x2 + … + an-1 xn-1

• Operation modulo xn – 1

021

312

201

110

aaa

aaa

aaa

aaa

A nnn

nn

n

Page 22: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

22

22

Consta-cyclic Code

• Every consta-cyclic shift of a codeword is also a codeword   (a0, a1,…, an-1) (an-1 ,a0, a1,…, an-2)

• Generator polynomial g(x) and generator matrix

operation modulo xn – .

)(

)(

)(

1 xgx

xxg

xg

G

k

Page 23: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

23

23

Twistulant Matrix• An nn consta-cyclic or twistulant matrix is

defined as

• it is uniquely specified by a polynomial formed by the elements of its first row, a(x) = a0 + a1 x + a2 x2 + … + an-1 xn-1.

• Operation modulo xn - .

021

312

201

110

aaa

aaa

aaa

aaa

A nnn

nn

n

Page 24: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

24

24

Quasi-Cyclic Code• A generalization of cyclic codes

every cyclic shift of a codeword by p positions results in another codeword

Called quasi-cyclic (QC) code

• A generalization of consta-cyclic codesevery consta-cyclic shift of a codeword by p

positions results in another codewordCalled quasi-twisted (QT) code

• QC code is a special case of QT code with = 1.

Page 25: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

25

25

Quasi-Twisted Code• Generator matrix  of QT [ pm, k] code

where Gij is a twistulant matrix of order m

• t-generator QT code1-generator QT codes have been well studied

tptt

p

p

GGG

GGG

GGG

G

21

22221

11211

Page 26: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

26

26

1-generator QT codes

•1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ]

• Let g0(x), g1(x), …, gp-1(x) be the defining polynomials  

• k = m – degree( gcd(g0(x), g1(x), …, gp-1(x),

xm – 1 )) • It is called de-generated if k < m.

Page 27: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

27

27

Defining polynomials

• 1-generator QT [mp, k] code

G = [G0 G1 G2 … Gp-1 ] • defining polynomials: g0(x), g1(x), …, gp-1(x)  

• (g0(x), g1(x), …, gp-1(x) ) and (axjg0(x), g1(x), …, gp-1(x)) defines the equivalent QT code.a is any non-zero element in GF(q)j = 1, 2, …, m -1.

Page 28: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

28

28

Computer search for QT codes

•1-generator QT [mp, k] code

G = [G0 G1 G2 … Gp-1 ] • Find all candidate polynomials

Equivalent classes defined by axjg(x)

• Select p polynomials from non-equivalent polynomials

Page 29: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

29

29

Computer search example for QT codes

• Binary QC [60, 19, 18] code m = 20, k = 19, previously best known

d = 17• The number of non-equivalent

polynomials is 26271• To construct a QT [60, 19] code, it is

required to select 3 polynomials among 26271 Polynomials. The total number of combinations is 3 021 544 309 455.

Page 30: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

30

30

Computer search example for QT codes

• Binary QC [60, 19, 18] code – m = 20, k = 19. Previously best known d = 17

• My paper in IEEE IT 1994– g0(x) = 1 + x– Divide the candidate polynomials into groups

based on their weights– g1(x) and g2(x) are chosen from sets of polynomials

with weights 4 and 12, respectively.– Total # of combinations: 245 X 8509 = 2 084 705

• of 3 021 544 309 455 – So a binary QC [60, 19, 18] code was constructed.

Page 31: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

31

31

t-generator QT codes

• t-generator QT [mp, k] code

Where G are twistulants of order m.

• Most research has been focused on 1-generator QC or QT codes.

• Computer search becomes more time-consuming

tptt

p

p

GGG

GGG

GGG

G

21

22221

11211

Page 32: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

32

32

Two-Weight Codes

• A [n, k] code is a two-weight code if any non-zero codeword has a weight of w1 or w2.

• Notation: [n, k; w1, w2]q code

• Projective codeA code is said to be projective if any two of its

coordinates are linearly independent, or, if the minimum distance of its dual code is at least three.

Page 33: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

33

33

Why studying 2-weight codes

• Linear constant weight codes (simplex codes) are optimal many 2-weight codes are also optimal

• Related to strongly regular graphs

Page 34: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

34

34

Simplex Codes

• Simplex [(qt–1)/(q–1), t]q code

– equi-distance code, d = qt-1

– All non-zero codewords have the same weight, d = qt-1

• A λ-consta-cyclic simplex code can be defined by a generator polynomial g(x) = (xn–l)/h(x), – where n=(qt–1) /(q–1), and λ is a non-zero

element of GF(q) and has order of q–1

Page 35: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

35

35

QT form of a simplex code

• If the block length n = (qt – 1)/(q-1) is not a prime, n = ms.

• The simplex code can be put into a QT code with s blocks.

• If only taking p blocks (among s), a QT code can be constructed.– QT codes, QT 2-weight codes can be

constructed in this way.

Page 36: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

36

36

QT Simplex Codes

• If n=(qt–1) /(q–1) = mr, Simplex [(qt–1)/(q–1), t]q code can be put into QT from.

• Example:simplex [21, 3]4 coden = 21 = mp = 3 × 7, m = 3, p = r, q = 4. Let 0, 1, a, and b = 1 + a be elements of GF(4), λ=b. Then a λ-consta-cyclic matrix defined by

c(x) = 1+ bx + bx3 + bx4 + bx5 + ax6 +x7 + x8 + ax9 + x10 + ax11 + x13 +ax15 +bx16 +x17 + x18.

Page 37: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

37

37

Consta-Cyclic Simplex [21, 3]4 Code

twistulant generator matrix

Page 38: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

38

38

Quasi-Twisted Simplex [21, 3]4 Code

QT form of generator matrix

.

1001001101

1100001011

01110001011

1100100110

11110000101

1011100010

0111001001

0111100001

0101110001

0111001001

10111100001

11010111000

1011100100

1011110000

111010111000

0010111001

0010111100

001110101110

000101110

10001011110

010011101011

A

Page 39: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

39

39

Quasi-Twisted Simplex [21, 3]4 Code

QT form of generator matrix Representation by polynomials a1(x) = 1 +x, a2(x) = b + ax + x2 , a3(x)

= ax + bx2 , a4(x) = b + x + x2, a5(x) = b + ax + x2, a6(x) = b, a7(x) = a+ x. r = 7

Page 40: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

40

40

Weight Matrix

• Weight matrix for A(x) It is cyclic

• Example

Page 41: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

41

41

Computer Construction of QT 2-Weight Codes

• Given a simplex [mr, t]q code of composite length n =(qt–1) /(q–1) = mr

• Find the generator polynomial,

• Obtain A(x) and weight matrix

• To construct a QT 2-weight [mp, t; w1, w2] code, it is to find p columns such that the row sums of the selected columns give w1 or w2.

Page 42: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

42

42

Computer Construction of QT 2-Weight Codes

• Example – From simplex [21, 3]4 code with m=3

– A QT 2-weight [9, 3; 6, 8]4 code can be constructed by columns 1, 2, and 4.

Page 43: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

43

43

Results• A large amount of QT 2-weight codes have been

obtained.• Most codes have the same parameters as known codes.• They may not be equivalent

– Exmaple [154, 6; 99, 108]3 code• Gulliver constructed with m = 11, p =14

• Using the method above, m = 7, p =22

• They are not equivalent

• Some new codes are obtained

Page 44: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

44

44

Computer search for QT Codes

• Given a cyclic weight matrix of order s

• How to select p columns such that– Maximize the minimum row sums of p cols

0321

3012

2101

1210

...

...

...

...

...

dddd

dddd

dddd

dddd

D sss

ss

s

Page 45: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

45

45

Computer search for QT codes

• Given a cyclic weight matrix of order s

– The row sums for columns 0, 1, 3 are 8, 6, 6, 6, 8, 6, and 8, respectively

– Taking columns 0, 1, and 3 a QT [9, 3, 6]3 code

2213323

3221332

2322133

3232213

3323221

1332322

2133232

D

Page 46: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

46

46

Online Database on Codes

• A web database of binary quasi-cyclic codes

http://moodle.tec.hkr.se/~chen/research/codes/searchqc2.htm

see also: codetables http://www.codetables.de

• A Web database of two-weight codeshttp://moodle.tec.hkr.se/~chen/research/2-weight-

codes/search.php

Page 47: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

47

47

Computation Problems

• Improve lower bound on A(n, w, d)

• Improve lower bound on distance for given n, k, q

• Computer search for 2-weight codes

Page 48: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

48

48

Computation Problems

• Computer search for QT codes1-generator QT codes2-generator QT codest-generator QT codes from QT simplex codes

Page 49: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

49

49

Computation Problems

• Computer search for QT 2-weight codesQT 2-weight codes from QT simplex codes

Page 50: 1 Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr

50

50

Computation Problems• Computer search for QT 2-weight codes

Study on a binary cyclic matrix A Select p columns such that the corresponding row sums are of two values011000010100000000010001100001010000000001100110000101000000000010011000010100000000001001100001010000000000100110000101000000000010011000010100000000001001100001010000000000100110000101000000000010011000010100000000001001100001010000000000100110000101100000000010011000010010000000001001100001101000000000100110000010100000000010011000001010000000001001100000101000000000100110000010100000000010011100001010000000001001110000101000000000100