Jump to content

Perfect code

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Omicronpersei8 (talk | contribs) at 16:35, 17 June 2006 (Merge to Hamming bound). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Let C be an error-correcting code consisting of N codewords,in which each codeword consists of n letters taken from an alphabet A of length q, and every two distinct codewords differ in at least d=2e+1 places. Then C is said to be perfect if for every possible word w_0 of length n with letters in A, there is a unique code word w in C in which at most e letters of w differ from the corresponding letters of w_0.

It is straightforward to show that C is perfect if sum_(i==0)^e(n; i)(q-1)^i==(q^n)/N.

If C is a binary linear code, then q==2 and N==2^k, where k is the number of generators of C, in which case C is perfect if sum_(i==0)^e(n; i)==2^(n-k).

Hamming codes and the Golay code are examples of perfect codes.