Automata theory

Published:

Automata theory is the study of abstract machines and automata, as well as the computational problems that can be solved using them. It is a theory in theoretical computer science, under discrete mathematics (a subject of study in both mathematics and computer science). The word automata (the plural of automaton) comes from a Greek word, which means “self-acting”.

An automata is composed by automaton. The automaton can be represent by:

  • Its states: the available states that the automaton can be.
  • Its transitions: the transitions between states, defined by a transition function.

An automaton is formally defined by a 5-tuple (Q,Σ,δ,q0,F), where:

  • Q is a finite set of states.
  • Σ is a finite set of symbols, called the alphabet of the automaton.
  • δ is the transition function, that is, δ: Q × Σ → Q.
  • q0 is the start state, that is, the state of the automaton before any input has been processed, where q0∈ Q.
  • F is a set of states of Q (i.e. F⊆Q) called accept states.

Automata theory is closely related to formal language theory. An automaton is a finite representation of a formal language that may be an infinite set. Automata are often classified by the class of formal languages they can recognize, typically illustrated by the Chomsky hierarchy which describes the relations between various languages and kinds of formalized logic.

Automata play a major role in:

  • theory of computation
  • compiler construction
  • artificial intelligence
  • parsing
  • formal verification

Types of automaton

The following is an incomplete list of types of automata:

  • Nondeterministic/Deterministic Finite state machine (FSM): regular languages
  • Deterministic pushdown automaton (DPDA): deterministic context-free languages
  • Pushdown automaton (PDA): context-free languages
  • Linear bounded automaton (LBA): context-sensitive languages
  • Turing machine: recursively enumerable languages
  • Deterministic Büchi automaton: ω-limit languages
  • Nondeterministic Büchi automaton: ω-regular languages
  • Rabin automaton, Streett automaton, Parity automaton, Muller automaton: ω-regular languages

See also

Artificial Intelligence, Mathematical optimization

Material

  • http://scanftree.com/automata/

Books