If we feed in the string "1100" it accepts. If we feed in the string "0011" it rejects. It will reject any string with a zero in the third place from the end, such as "1011". This is because the transition table, unlike that of a DFA, switches the NFA to a set of states. This can include the empty set, as shown for q4. Whenever a state transition is to the empty set, there is no further movement of the NFA. This is not explicitly discussed in the text, but can be inferred from subsequent examples.
Example 1.27.
Theorem 1.28: A language is regular if and only if some regular expression describes it.
Proof --->
Lemma 1.29
Convert R into an NFA:
Examples 1.30 and 1.31.
Proof <---
Lemma 1.32
Definition 1.33: Generalized nondeterministic finite automaton.
For example, consider this DFA:
First we convert it to an equivalent GNFA by adding new start and accept states:
Next we "rip out" a state and condense its function into a regular expression:
Then we rip out another state:
Finally, we rip out the last state and replace the whole machine with the regular expression that the original DFA recognized:
notes02a.htm, this hand crafted HTML file created August 31, 1998.
Last updated May 14, 2011, by
Rick Wagner. Copyright © 1998-2011, all rights reserved.