Abstract

The finite automaton is one of the simplest and most fundamental computing models. You are almost certainly familiar with this model from your first course in the theory of computing, but if not, you may want to review the material in Sections 1.3–1.4. In this chapter we reexamine the theory of finite automata from a more advanced standpoint. In particular, we prove the very important Myhill–Nerode theorem in Section 3.9. We begin with some generalizations of the finite automaton model. Moore and Mealy machines In most introductory courses on automata theory, finite automata are viewed as language recognizers, not as computers of functions. A deterministic finite automaton (DFA), for example, takes a string as input and either accepts or rejects it. Of course, we can view a DFA as computing a function f : ∑ * → {0, 1}, where 0 represents rejection and 1 acceptance, but there are other ways to associate outputs with machines. In this section, we introduce two simple models of finite-state machines with output, called Moore and Mealy machines. A Moore machine has outputs associated with its states, while a Mealy machine has outputs associated with its transitions. We can use transition diagrams to represent both Moore and Mealy machines. In a Moore machine, a state labeled q/b indicates that when state q is entered, the output b is produced. In a Mealy machine, a transition labeled a/b indicates that when this transition is taken on input symbol a , the output b is produced.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call