Skip to content

Lecture No. 16

Dated: 30-10-2024

Application of Non Deterministic Finite Automaton1

There is an important application of non deterministic finite automaton1 in artificial intelligence.

Imagine a maze as such where - is the initial state and + is the final state.

- 1 2 3
4 L 5 O
6 M 7 P
8 N 9 +

One is allowed to only move on the numeric tiles.
We can determine the number of ways someone can move from - to + using the following non deterministic finite automaton1

CS402_e_16_1.svg

It is shown that the shortest string2 which is accepted by the machine is \(aaaaaa\).

Note

  1. Every finite automaton3 can be considered to be a non deterministic finite automaton1 as well but the converse may not be the true.
  2. Every non deterministic finite automaton1 can be considered to be a transition graph4 as well but the converse may not be the true.

Non Deterministic Finite Automaton1 With Null String2 \(\Lambda\)

If \(\Lambda\) is allowed to be an edge in a non deterministic finite automaton1 then it is called non deterministic finite automaton1 with \(\Lambda\).
It is a collection of three things:

  1. Finite many states with one initial and some final states.
  2. Finite set5 of inputs, let's say, \(\Sigma =\{a, b, c\}\).
  3. There may be more than one transitions for a letter, including \(\Lambda\) or there may not be any transition at all.

Converting into Finite Automaton3 from Non Deterministic Finite Automaton1

Method 1

Since a non deterministic finite automaton1 is considered a transition graph,4 a corresponding regular epression6 can be constructed, using kleene's theorems.7
Similarly, a finite automaton3 can be constructed from that regular expression6 resulting into an equivalent non deterministic finite automaton.1

Method 2

For a non deterministic finite automaton,1 there may be states with no transitions, in correspondence to which we can make finite automaton3 with empty states.
We also have solution for states with multiple transitions.

Example

Following is ournon deterministic finite automaton1 which needs to be converted
CS402_e_16_2.svg

The finite automaton3 which is constructed
CS402_e_16_3.svg

References


  1. Read more about non deterministic finite automaton

  2. Read more about strings

  3. Read more about finite automaton

  4. Read more about transition graph

  5. Read more about sets

  6. Read more about regular expressions

  7. Read more about kleene's theorems