ABSTRACT

A code is used when there is a need to represent an item, such as an object, event, or abstract “thing,” in a form that is different from the item itself. This is usually the case when we communicate, store, or process information. In these cases, it is much easier to use a symbolic replacement for the item in question, especially when the item is large, distant, inaccessible, or abstract. You may still show a spoon to a waiter in a restaurant to indicate that you need another spoon, but it is much harder to refer to a lunar module, an equilateral triangle, or a regret directly. We therefore use symbols that no longer have an obvious connection to the items they refer too. For instance, the word consisting of the letters “s,” “p,” “o,” “o,” and “n” has nothing obviously similar to a spoon; in fact, different languages use different and often unrelated sequence of sounds or letters to encode the same item. The words themselves have great advantages over the items they stand for in that they can be moved, copied, transmitted, and manipulated much more easily. Such symbols are not limited to words in a human language; they can be arbitrary patterns on a wide variety of possible physical carriers. They can be sent in a letter, or over a ber optic cable with minimal cost in energy and time. For instance, information can be encoded by ink marks on paper, a lit candle in a window, ags on a ship, the color of trafc signs, the positions of abacus beads, base-pair sequences in DNA, interference patterns in holograms, rotating metal disks, or electrical voltage patterns in digital electronic circuits. But, however, arbitrary the encoding scheme is the main criterion for a code is that the codewords should be distinguishable and decodeable in a reliable way. In the simplest case, the relationship between the codewords and the encoded items are xed and deterministic. Alternatively, a code can be designed to resist variation (usually noise), either by detecting or by correcting any randomness in the mapping, or to match the properties of a particular communication channel, such as its channel capacity (MacKay, 2003). In summary, a code is a mapping of items to codewords.