Samiksha Jaiswal (Editor)

Covering code

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Covering code in practice part 2


In coding theory, a covering code is a set of elements (called codewords) in a space, with the property that every element of the space is within a fixed distance of some codeword.

Contents

Definition

Let q 2 , n 1 , R 0 be integers. A code C Q n over an alphabet Q of size |Q| = q is called q-ary R-covering code of length n if for every word y Q n there is a codeword x C such that the Hamming distance d H ( x , y ) R . In other words, the spheres (or balls or rook-domains) of radius R with respect to the Hamming metric around the codewords of C have to exhaust the finite metric space Q n . The covering radius of a code C is the smallest R such that C is R-covering. Every perfect code is a covering code of minimal size.

Example

C = {0134,0223,1402,1431,1444,2123,2234,3002,3310,4010,4341} is a 5-ary 2-covering code of length 4.

Covering problem

The determination of the minimal size K q ( n , R ) of a q-ary R-covering code of length n is a very hard problem. In many cases, only upper and lower bounds are known with a large gap between them. Every construction of a covering code gives an upper bound on Kq(nR). Lower bounds include the sphere covering bound and Rodemich’s bounds K q ( n , 1 ) q n 1 / ( n 1 ) and K q ( n , n 2 ) q 2 / ( n 1 ) . The covering problem is closely related to the packing problem in Q n , i.e. the determination of the maximal size of a q-ary e-error correcting code of length n.

Football pools problem

A particular case is the football pools problem, based on football pool betting, where the aim is to predict the results of n football matches as a home win, draw or away win, or to at least predict n - 1 of them with multiple bets. Thus a ternary covering, K3(n,1), is sought.

If n = 1 2 ( 3 k 1 ) then 3n-k are needed, so for n = 4, k = 2, 9 are needed; for n = 13, k = 3, 59049 are needed. The best bounds known as of 2011 are

Applications

The standard work on covering codes lists the following applications.

  • Compression with distortion
  • Data compression
  • Decoding errors and erasures
  • Broadcasting in interconnection networks
  • Football pools
  • Write-once memories
  • Berlekamp-Gale game
  • Speech coding
  • Cellular telecommunications
  • Subset sums and Cayley graphs
  • References

    Covering code Wikipedia