Abstract
THE problem dealt with in this communication is that of generating an optimal code for the transmission of a long sequence of binary digits over a noisy channel. The channel is supposed to produce errors at random, p (< ½) being the probability that a particular digit is wrong, and q (= 1 − p) being the probability that it is right. The capacity of such a channel is where X = − (p log p + q log q) lies between 0 and 1, and all logarithms are referred to the base 2. Consequently, if it is desired to transmit B bits of information reliably, a total of N digits must be sent, where N > B/ (1 − X). One way of doing this is to begin by sending B message digits, and to follow them with C checking digits, where C = N (X + δ) and δ is a positive finite number. Then B/N = 1 − C/N = 1 − X − δ < 1 − X as required. The checking digits are made to depend on the message digits so as to enable the recipient, in spite of the transmission errors, to reconstruct the complete set of N digits with virtual certainty. The question is: can this be done with a number of checking digits which is close to the theoretical minimum ? In other words, is it possible to specify an actual coding procedure such that when N is sufficiently large δ can be made arbitrarily small ? It is possible, and I now describe such a procedure.
This is a preview of subscription content, access via your institution
Access options
Subscribe to this journal
Receive 51 print issues and online access
$199.00 per year
only $3.90 per issue
Rent or buy this article
Prices vary by article type
from$1.95
to$39.95
Prices may be subject to local taxes which are calculated during checkout
Similar content being viewed by others
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
LoNGUET-HIGGINS, H. Random Generation of Optimal Codes. Nature 213, 1160–1161 (1967). https://doi.org/10.1038/2131160a0
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1038/2131160a0
Comments
By submitting a comment you agree to abide by our Terms and Community Guidelines. If you find something abusive or that does not comply with our terms or guidelines please flag it as inappropriate.