Book contents
- Frontmatter
- Contents
- Preface
- Chapter 1 Algorithms on Words
- Chapter 2 Structures for Indexes
- Chapter 3 Symbolic Natural Language Processing
- Chapter 4 Statistical Natural Language Processing
- Chapter 5 Inference of Network Expressions
- Chapter 6 Statistics on Words with Applications to Biological Sequences
- Chapter 7 Analytic Approach to Pattern Matching
- Chapter 8 Periodic Structures in Words
- Chapter 9 Counting, Coding, and Sampling with Words
- Chapter 10 Words in Number Theory
- References
- General Index
Chapter 9 - Counting, Coding, and Sampling with Words
Published online by Cambridge University Press: 05 June 2013
- Frontmatter
- Contents
- Preface
- Chapter 1 Algorithms on Words
- Chapter 2 Structures for Indexes
- Chapter 3 Symbolic Natural Language Processing
- Chapter 4 Statistical Natural Language Processing
- Chapter 5 Inference of Network Expressions
- Chapter 6 Statistics on Words with Applications to Biological Sequences
- Chapter 7 Analytic Approach to Pattern Matching
- Chapter 8 Periodic Structures in Words
- Chapter 9 Counting, Coding, and Sampling with Words
- Chapter 10 Words in Number Theory
- References
- General Index
Summary
Introduction
This chapter illustrates the use of words to derive enumeration results and algorithms for sampling and coding.
Given a family C of combinatorial structures, endowed with a size such that the subset Cn of objects of size n is finite, we consider three problems:
(i) Counting: determine for all n ≥ 0, the cardinal Card (Cn) of the set Cn of objects with size n.
(ii) Sampling: design an algorithm RandC that, for any n, produces a random object uniformly chosen in Cn: in other terms, the algorithm must satisfy P(RandC(n) = O) = 1/Card (Cn) for any object O ∊ Cn.
(iii) Optimal coding: construct a function φ that maps injectively objects of C on words of {0, 1}* in such a way that an object O of size n is coded by a word φ(O) of length roughly bounded above by log2 Card (Cn).
These three problems have in common an enumerative flavour, in the sense that they are immediately solved if a list of all objects of size n is available. However, since in general there is an exponential number of objects of size n in the families in which we are interested, this solution is in no way satisfying. For a wide class of so-called decomposable combinatorial structures, including nonambiguous algebraic languages, algorithms with polynomial complexity can be derived from the rather systematic recursive method. Our aim is to explore classes of structures for which an even tighter link exists between counting, sampling, and coding.
- Type
- Chapter
- Information
- Applied Combinatorics on Words , pp. 478 - 519Publisher: Cambridge University PressPrint publication year: 2005