(related to Chapter: Finite Automata (Finite Sequential Machines))
As an application of the Rabin-Scott Theorem we can design the following algorithm to change any given NFA $(C,\Sigma,\Delta,F,s_0)$ to a corresponding DFA $(C^\prime,\Sigma,\delta,F^\prime,s_0^\prime)$.
We want to apply this algorithm to one of the NFA shown in the examples of NFA:
This NFA accepts the language $L=\{10,101\}^*$. The table created by the algorithm is this:
$$\begin{array}{c|c|c|c} i&s_i^\prime&1&0\\ \hline 0&\{a\}&\{b\}&\{\emptyset\}\\ 1&\{b\}&\{\emptyset\}&\{a,c\}\\ 2&\{\emptyset\}&\{\emptyset\}&\{\emptyset\}\\ 3&\{a,c\}&\{a,b\}&\{\emptyset\}\\ 4&\{a,b\}&\{b\}&\{a,c\}\\ \end{array}$$
It is now clear that the rows of the table are labeled by the states of the constructed DFA. The number of these rows cannot (by the Rabin-Scott theorem) exceed $2^3=8$, which is the number of elements of the power set of the set of the states $\{a,b,c\}$ of the given NFA. The resulting DFA can be drawn as
Finally, we can re-label the nodes to make the drawing more concise, and we are done. We have found a DFA accepting exactly the same language as the given NFA.
Rabin and Scott were honored 1976 for their paper with the Turing award. They demonstrated that NFA and DFA provide an efficient model for the study of formal languages. Moreover, they stimulated the theoretical computer science by their ideas of determinism and non-determinism of finite automata. They wrote:
"A nondeterministic automaton is not a probabilistic machine but rather a machine with many choices in its moves. At each stage of its motion across a tape it will be at liberty to choose one of several new internal states. Of course, some sequence of choices will lead either to impossible situations from which no moves are possible or to final states not in the designated class $F.$ We disregard all such failures, however, and agree to let the machine accept a tape if there is at least one winning combination of choices of states leading to a designated final state."