A tutorial on finite automata


Nondeterministic Finite Automata

The following definition rephrases all basic definitions given for deterministic finite automata in the nondeterministic case.

Definition

A nondeterministic finite automata is a quintuple <Q,I,delta,q0,F>; where:

The above definition states that a nondeterministic finite automaton can exhibit several different transition sequences for a given state and a given input.

An input string is accepted by a nondeterministic finite automaton if and only if at least one of the possible transition sequences, defined by the input, leads to a final state.

As language recognizer devices, nondeterministic automata are not more powerful than their deterministic counterpart, indeed they accept the same class of languages, that is to say they are equivalent. However, they are very often more convenient to use. In many cases, the most direct formalization of a problem is in terms of a nondeterministic automaton.

Examples

  1. Example 1: Two Consecutive 1's or 0's
  2. Example 2: Starting and Ending with an a

Back to Index