Cover

Preface

Contents

Index

Glossary

Models

Rogues

Finite State Automata

(Contents)

  1. Huh???

    bullet

    What is an automaton?

    bullet

    What do the terms "finite" and "state" mean in the name "finite state automaton?"

    bullet

    Learning to use the finite state automaton animator

    bullet

    What are finite state automata good for?

    bullet

    Abstracting the essence of finite state automata

    bullet

    Formal definitions

    bullet

    Exercises

  2. Computing with Finite State Automata

    bullet

    Understanding how finite state automata can be used to solve problems

    bullet

    Real-world problems for which finite state automata are used

    bullet

    Finite state automata as pattern checkers (recognizers)

    bullet

    Exercises

  3. Problems that Cannot be Solved with Finite State Automata

    bullet

    Limitations on the power of finite state automata

    bullet

    Examples of problems not solvable by finite state automata

    bullet

    A way to tell whether a problem is solvable by a finite state automaton or not (the pumping lemma)

    bullet

    Exercise 1

    bullet

    Exercise 2

  4. Implementing a Finite State Automaton as a Program

    bullet

    Converting a finite state automaton to a program

    bullet

    Animated Examples

    bullet

    Exercises

  5. Nondeterministic Finite State Automata

    bullet

    What is nondeterminism?

    bullet

    Animated examples

    bullet

    Why in the world would we want a nondeterministic finite state automaton?

    bullet

    A real world example

    bullet

    How to show that nondeterministic and deterministic finite state automata can solve the exactly the same set of problems

    bullet

    Exercises

  6. Regular Expressions and Finite State Automata

    bullet

    What are regular expressions?

    bullet

    Why bother?

    bullet

    Animated examples

    bullet

    Animated exercises

    bullet

    How to see that regular expressions can be used to describe exactly the set of problems that finite state automata can solve

    bullet

    Why different approaches to the same topic are important

    bullet

    Exercises

  7. Regular Grammars and Finite State Automata

    bullet

    What does grammar have to do with the theory of computing?

    bullet

    What makes a grammar regular?

    bullet

    Animated examples

    bullet

    Animated exercises

    bullet

    How to show that regular grammars can produce exactly the same sets that finite state automata can recognize

    bullet

    Exercises