• V. S. Alagar
  • K. Periyasamy
Part of the Texts in Computer Science book series (TCS)


An automaton is an abstract machine that performs a task according to a specified set of instructions. It captures the behavior of a computer through its ability to read input, perform a sequence of step-by-step operations, and produce an output. Each step in a computation sequence is called a state. Given an input string, the machine reads the first (leftmost) symbol in its initial state and the state of the machine changes. The machine reads the next symbol at the new state and changes its state again. This process continues until the last symbol of the string has been read. The final state is the state reached by the machine after reading the last symbol from the input string. The last state characterizes the input string with respect to the machine. In general, an automaton, by virtue of states, is a useful abstraction for characterizing the behavior of a broad class of software and hardware systems. An automaton itself can be classified based on different perspectives:
  • finite or infinite,

  • deterministic or nondeterministic,

  • accepter or transducer.


State Machine Finite State Machine Finite Automaton Parking Space Input String 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Alur R, Dill D (1991) The theory of timed automata. In: de Bakker JW, Huizing C, de Roever WP, Rozenberg G (eds) Real-time: theory in practice. LNCS, vol 600, pp 74–106 CrossRefGoogle Scholar
  2. 2.
    Boyer RS, Moore JS (1977) A fast string searching algorithm. Commun ACM 20:762–772 MATHCrossRefGoogle Scholar
  3. 3.
    Büchi JR (1989) Finite automata, their algebras and grammars: towards a theory of formal expressions. Springer, New York. Published posthumously MATHGoogle Scholar
  4. 4.
    Dima C (2001) Real-time automata. J Autom Lang Comb 6(1):3–23 MathSciNetMATHGoogle Scholar
  5. 5.
    Hopcroft J, Ullman J (1979) Introduction to automata theory, languages, and computation. Addison Wesley, Reading MATHGoogle Scholar
  6. 6.
    Knuth D, Morris JH Jr., Pratt V (1977) Fast pattern matching in strings. SIAM J Comput 6(2):323–350 MathSciNetMATHCrossRefGoogle Scholar
  7. 7.
    Martin J (2003) Introduction to languages and the theory of computation, 3rd edn. McGraw-Hill, New York Google Scholar
  8. 8.
    Mealy GH (1955) A method to synthesizing sequential circuits. Bell Syst Tech J 1045–1079 Google Scholar
  9. 9.
    Moore EF (1956) Gedanken-experiments on sequential machines. Automata studies. Ann Math Stud 34:129–153 Google Scholar
  10. 10.
    Rabin MO (1963) Probabilistic automata. Inf Control 6:230–245 MATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  1. 1.Dept. Computer Science and Software Eng.Concordia UniversityMontrealCanada
  2. 2.Computer Science DepartmentUniversity of Wisconsin-La CrosseLa CrosseUSA

Personalised recommendations