Chapter: Finite Automata (Finite Sequential Machines)

Many technical machines (for instance an ATM) have a different number of states (e.g. off, idle, customer authentication, selecting transaction, transaction, out of service, etc.) and their complexity grows with the growing number of states. Finite automata are models helping to systematically describe such systems. These can be technical systems and machines (like an ATM), but, surprisingly, we can also use finite automata to solve theoretical problems in conjunction with formal languages, which will be shown to be very good models of computation.

The following example illustrates the concept of a finite automaton. The example has two states $a$ and $b$. The state $a$ is the starting state (denoted by an incoming arrow $\downarrow$). At the same time, the states $a$ and $b$ are end states (denoted by double circles). The automaton accepts strings which are decimal numbers, reads them digit by digit from left to right and ends at the state $a$ if and only if the number is divisible by $5$, otherwise the end state will be $b$.

dfa1

In this section, we will learn about different types of finite automata (FA), including: * FA without an output (so-called acceptors): * DFA - deterministic finite automata * NFA - non-deterministic finite automata * $\epsilon$-NFA - $\epsilon$ non-deterministic automata * FA with output (so-called transducers): * Moore Machine * Mealy Machine

Applications: 1 2 Examples: 1 2 3

  1. Theorem: Deterministic Finite Automata Describe Regular Languages
  2. Definition: Deterministic Finite Automaton (DFA)
  3. Definition: Epsilon Non-Deteriministic Finite Automaton ($\epsilon$-NFA)
  4. Definition: Non-deterministic Finite Automaton (NFA)
  5. Theorem: Reduction of $\epsilon$-NFA to NFA
  6. Theorem: Reduction of NFA to DFA (Rabin-Scott Theorem)

Thank you to the contributors under CC BY-SA 4.0!

Github:
bookofproofs


References

Bibliography

  1. Erk, Katrin; Priese, Lutz: "Theoretische Informatik", Springer Verlag, 2000, 2nd Edition
  2. Hoffmann, Dirk: "Theoretische Informatik, 3. Auflage", Hanser, 2015