You are previewing Codes and Automata.
O'Reilly logo
Codes and Automata

Book Description

This major revision of Berstel and Perrin's classic Theory of Codes has been rewritten with a more modern focus and a much broader coverage of the subject. The concept of unambiguous automata, which is intimately linked with that of codes, now plays a significant role throughout the book, reflecting developments of the last 20 years. This is complemented by a discussion of the connection between codes and automata, and new material from the field of symbolic dynamics. The authors have also explored links with more practical applications, including data compression and cryptography. The treatment remains self-contained: there is background material on discrete mathematics, algebra and theoretical computer science. The wealth of exercises and examples make it ideal for self-study or courses. In sum this is a comprehensive reference on the theory of variable-length codes and their relation to automata.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Contents
  5. Preface
  6. 1. Preliminaries
    1. 1.1 Notation
    2. 1.2 Monoids
    3. 1.3 Words
    4. 1.4 Automata
    5. 1.5 Transducers
    6. 1.6 Semirings and matrices
    7. 1.7 Formal series
    8. 1.8 Power series
    9. 1.9 Nonnegative matrices
    10. 1.10 Weighted automata
    11. 1.11 Probability distributions
    12. 1.12 Ideals in a monoid
    13. 1.13 Permutation groups
    14. 1.14 Notes
  7. 2. Codes
    1. 2.1 Definitions
    2. 2.2 Codes and free submonoids
    3. 2.3 A test for codes
    4. 2.4 Codes and Bernoulli distributions
    5. 2.5 Complete sets
    6. 2.6 Composition
    7. 2.7 Prefix graph of a code
    8. 2.8 Exercises
    9. 2.9 Notes
  8. 3. Prefix codes
    1. 3.1 Prefix codes
    2. 3.2 Automata
    3. 3.3 Maximal prefix codes
    4. 3.4 Operations on prefix codes
    5. 3.5 Semaphore codes
    6. 3.6 Synchronized codes
    7. 3.7 Recurrent events
    8. 3.8 Length distributions
    9. 3.9 Optimal prefix codes
    10. 3.10 Exercises
    11. 3.11 Notes
  9. 4. Automata
    1. 4.1 Unambiguous automata
    2. 4.2 Flower automaton
    3. 4.3 Decoders
    4. 4.4 Exercises
    5. 4.5 Notes
  10. 5. Deciphering delay
    1. 5.1 Deciphering delay
    2. 5.2 Maximal codes
    3. 5.3 Weakly prefix codes
    4. 5.4 Exercises
    5. 5.5 Notes
  11. 6. Bifix codes
    1. 6.1 Basic properties
    2. 6.2 Maximal bifix codes
    3. 6.3 Degree
    4. 6.4 Kernel
    5. 6.5 Finite maximal bifix codes
    6. 6.6 Completion
    7. 6.7 Exercises
    8. 6.8 Notes
  12. 7. Circular codes
    1. 7.1 Circular codes
    2. 7.2 Limited codes
    3. 7.3 Length distributions
    4. 7.4 Exercises
    5. 7.5 Notes
  13. 8. Factorizations of free monoids
    1. 8.1 Factorizations
    2. 8.2 Finite factorizations
    3. 8.3 Exercises
    4. 8.4 Notes
  14. 9. Unambiguous monoids of relations
    1. 9.1 Unambiguous monoids of relations
    2. 9.2 The Sch├╝tzenberger representations
    3. 9.3 Rank and minimal ideal
    4. 9.4 Very thin codes
    5. 9.5 Group and degree of a code
    6. 9.6 Interpretations
    7. 9.7 Exercises
    8. 9.8 Notes
  15. 10. Synchronization
    1. 10.1 Synchronizing pairs
    2. 10.2 Uniformly synchronized codes
    3. 10.3 Locally parsable codes and local automata
    4. 10.4 Road coloring
    5. 10.5 Exercises
    6. 10.6 Notes
  16. 11. Groups of codes
    1. 11.1 Groups and composition
    2. 11.2 Synchronization of semaphore codes
    3. 11.3 Group codes
    4. 11.4 Automata of bifix codes
    5. 11.5 Depth
    6. 11.6 Groups of finite bifix codes
    7. 11.7 Examples
    8. 11.8 Exercises
    9. 11.9 Notes
  17. 12. Factorizations of cyclic groups
    1. 12.1 Factorizations of cyclic groups
    2. 12.2 Bayonets
    3. 12.3 Hooks
    4. 12.4 Exercises
    5. 12.5 Notes
  18. 13. Densities
    1. 13.1 Probability
    2. 13.2 Densities
    3. 13.3 Entropy
    4. 13.4 Probabilities over a monoid
    5. 13.5 Strict contexts
    6. 13.6 Exercises
    7. 13.7 Notes
  19. 14. Polynomials of finite codes
    1. 14.1 Positive factorizations
    2. 14.2 The factorization theorem
    3. 14.3 Noncommutative polynomials
    4. 14.4 Proof of the factorization theorem
    5. 14.5 Applications
    6. 14.6 Commutative equivalence
    7. 14.7 Complete reducibility
    8. 14.8 Exercises
    9. 14.9 Notes
  20. Solutions of exercises
  21. Appendix: Research problems
  22. References
  23. Index of notation
  24. Index