NFAs  Nondeterministic Finite Automata
There are three differences between DFAs (deterministic finite
automata) and NFAs (nondeterministic finite automata):
1. Each state in an NFA can define more than one transition for any
given input.
2. NFAs can define empty transitions (transitions that can be taken
without using any input).
3. NFA states do not have to define transitions for every possible
input.
The transition function of a DFA takes a state and an element of
the alphabet and returns a state, but the transition function of an NFA
takes a state and either an element of the alphabet or nothing, and
returns an element of the powerset of the states of the NFA. As a
consequence of the above, there is usually more than one way to read
in a string with an NFA. The rules for acceptance and rejection of
strings are the same for an NFA as they are for a DFA: if the final
state is an accept state, the string is accepted; otherwise, it is
rejected. If the NFA is in a state that does not define a transition for
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
This is the end of the preview. Sign up
to
access the rest of the document.
 Spring '08
 Staff

Click to edit the document details