Course description:
The course will be an introduction to the theory of computation with a particular emphasis on formal languages and finite automata. Thus, instead of studying the wider class of partial recursive functions and corresponding recursive sets, we shall concentrate on regular languages and, if time permits, their infinite analogs. The theory of finite automata is of interest in linguistics, theoretical computer science and has found new and interesting applications in geometric and combinatorial group theory. We shall present a number of applications to group theory, including the study of normal forms in finitely generated groups and the word problem.
Tentative course plan
Combinatorics on words
Regular languages
Deterministic and non-deterministic finite automata
Finitely generated groups and normal forms
The word problem
Monadic second order logic of strings
Buchi automata
Rabin automata
Literature:
There is no required text for the course since the lectures will be based on multiple sources. However, for the material on regular languages and finite state automata, a number of textbooks are available. Since the basic theory is well-established, most books on basic automata will contain the equivalence of regular languages and languages recognised by finite state automata, the closure properties of regular languages, non-deterministic finite automata and the Myhill-Nerode Theorem.
Some suggested books:
Mark V. Lawson: Finite Automata
John Carroll, Darrell Long: Theory of Finite Automata With an Introduction to Formal Languages
Hopcroft, Motwani, Ullman: Introduction to Automata Theory, Languages, and Computation
Lewis, Papadimitriou: Elements of the Theory of Computation