- Hamming bound
In
mathematics andcomputer science , in the field ofcoding theory , the Hamming bound is a limit on the parameters of an arbitraryblock code : it is also known as the sphere-packing bound or the volume bound from an interpretation in terms of packing balls in theHamming metric into the space of all possible words. It gives an important limitation on the efficiency with which anyerror correcting code can utilize the space in which its code words are embedded. A code which attains the Hamming bound is said to be a perfect code.Background on error correcting codes
An original message and an encoded version are both composed in an alphabet of "q" letters. Each
code word contains "n" letters. The original message (of length "m") is shorter than "n" letters. The message is converted into an "n"-letter code word by an encoding algorithm, transmitted over a noisy channel, and finally decoded by the receiver. The decoding process interprets a garbled code word as the valid code word "nearest" the "n"-letter received string.Mathematically, there are exactly "q""m" possible messages of length "m", and each such message can be regarded as a vector of length "m". The encoding scheme converts an "m"-dimensional vector into an "n"-dimensional vector. Exactly "q""m" valid code words are possible, but any one of "q""n" garbled code words can be received, because the noisy channel might distort one or more of the "n" letters while the code word is being transmitted.
Statement of the Bound
Let denote the maximum possible size of a -ary block code of length and minimum
Hamming distance (a -ary block code of length is a subset of the strings of where the alphabet set has elements).Then:
:
where
:
Proof
By definition of , if at most errors are made during transmission of a
codeword thenminimum distance decoding will decode it correctly (ie it decodes the received codeword as the codeword that was sent). Thus the code is said to be capable of correcting errors.For a given codeword , consider the ball of radius around . Each such ball is non-intersecting by the -error correcting property, and each ball contains
:
codewords since we may allow (or choose) up to of the components of a codeword to deviate (from the value of the corresponding component of the ball's centre) to one of possible other values (recall: the code is q-ary: it takes values in ).
Let be the total number of codewords in . Taking the union of the balls over all codewords we observe that the resulting set of codewords is contained in . Then since each ball is non-intersecting we may sum the number of elements in each to deduce:
:
Whence:
:
Perfect Codes
Codes that attain the Hamming bound are called perfect codes. Examples include binary repetition codes of odd length, codes that have only one codeword, and codes that use the whole of . These are often called "trivial" perfect codes.
In 1973 it was proved that any non-trivial perfect code over a prime-power alphabet has the parameters of a
Hamming code or aGolay code . [Hill (1988) p.102]A perfect code may be interpreted as one in which the balls of Hamming radius "t" centred on codewords exactly fill out the space. A quasi-pefect code is one in which the balls of Hamming radius "t" centred on codewords are disjoint and the balls of radius "t"+1 cover the space, possibly with some overlaps. [McWilliams and Sloane, p.19]
ee also
*
Singleton bound
*Gilbert-Varshamov bound
*Plotkin bound
*Johnson bound Notes
References
*
*
*
*
*External links
* [http://geilenkotten.homeunix.org/wikicoding/index.php/Main_Page A wiki dedicated to coding theory]
Wikimedia Foundation. 2010.