The theory of codes takes its origin in the theory of information
devised by Shannon in the 1950s. In the past thirty years, this theory has developed in several directions, one of which is the theory of entropy
, a branch of probability theory
. Another is the theory of error-correcting codes which is one of the beautiful applications of commutative algebra. This volume presents a comprehensive study of the theory of variable length codes, and provides a systematic exposition of the topic.
The theory of codes, as presented here, uses both combinatorial and algebraic methods. Due to the nature of the questions raised and solved, this theory is now clearly a part of theoretical computer science and is strongly related to combinatorics on words, automata theory, formal languages, and the theory of semigroups.
The object of the theory of codes is, from an elementary point of view, the study of the properties concerning factorizations of words into a sequence of words taken from a given set. Thus it is related to syntactic analysis, even though the connection seems loose at first glance. One of the basic techniques used in this book is constructing special automata that perform certain kinds of parsing.
The aim of the theory of codes is to give a structural description of the codes in a way that allows their construction. This is easily accomplished for prefix codes, as shown in Chapter II. The case of biprefix codes is already much more diffcult, and the complete structural description given in Chapter 3 is one of the highlights of the theory. However, the structure of general codes (neither prefix nor suffix) still remains unknown to a large extent. For example, no systematic method is known for constructing all finite codes. The result given in Chapter 8 about the factorization of the commutative polynomial of a code must be considered (despite the diffculty of its proof) as an intermediate step toward the understanding of codes.