Skip to content

Lecture No. 15

Dated: 30-10-2024

Non Deterministic Finite Automaton

A non deterministic finite automaton is a transition graph1 with a unique initial state and single letter as label for transitions.
It is a collection of following things:

  • Finite many states with one initial and some final states.
  • Finite set2 of input letters \(\Sigma = \{a, b, c\}\).
  • Finite set2 of transitions. \(\Lambda\) is not a valid transition and there may be more than one transitions for a letter or no transitions at all.

It can be considered as an intermediate structure between finite automaton3 and transition graph1

Note

To remove a loop at a state, it is to be noted that the finite automaton3 may be converted to a non deterministic finite automaton, as a circuit.

The following finite automaton3
CS402_e_15_1.svg

can be converted into following non deterministic finite automaton.
CS402_e_15_2.svg

Converting a Finite Automaton3 into Equivalent Non Deterministic Finite Automaton

According to Kleene's Theorem,4 if a language is accepted by a finite automaton3 then there exists a transition graph1 which accepts that language as well.
Since the non deterministic finite automaton is also a transition graph1 so the language accepted by the finite automaton3 is also accepted by the non deterministic finite automaton, which makes them equivalent.

\[r = (a + b)^*b\]

Finite Automaton3

CS402_e_15_3.svg

Non Deterministic Finite Automaton

CS402_e_15_4.svg

References


  1. Read more about transition graph

  2. Read more about sets

  3. Read more about finite automaton

  4. Read more about Kleene's theorem