Combinatorial Algorithms on Words refers to the collection of
manipulations of strings of symbols (words) - not necessarily from a
finite alphabet - that exploit the combinatorial properties of the
logical/physical input arrangement to achieve efficient computational
performances. The model of computation may be any of the established
serial paradigms (e.g. RAM's, Turing Machines), or one of the emerging
parallel models (e.g. PRAM, WRAM, Systolic Arrays, CCC). This book
focuses on some of the accomplishments of recent years in such disparate
areas as pattern matching, data compression, free groups, coding theory,
parallel and VLSI computation, and symbolic dynamics; these share a
common flavor, yet ltave not been examined together in the past. In
addition to being theoretically interest- ing, these studies have had
significant applications. It happens that these works have all too
frequently been carried out in isolation, with contributions addressing
similar issues scattered throughout a rather diverse body of literature.
We felt that it would be advantageous to both current and future
researchers to collect this work in a sin- gle reference. It should be
clear that the book's emphasis is on aspects of combinatorics and com-
plexity rather than logic, foundations, and decidability. In view of the
large body of research and the degree of unity already achieved by
studies in the theory of auto- mata and formal languages, we have
allocated very little space to them.