Beruflich Dokumente
Kultur Dokumente
DFAs are:
Some states (possibly including the start state) can be designated as final states.
Arcs between states represent state transitions -- each such arc is labeled with the symbol that
triggers the transition.
is a function implies that every vertex has an outgoing arc for each member
as
Q.
If a DFA M = (Q, , , q0, F) is used as a membership criterion, then the set of strings
accepted by M is a language. That is,
L(M) = {w
:
(q0, w) F}.
Languages that can be defined by dfas are called regular languages.
Due to nondeterminism, the same string may cause an nfa to end up in one of several different
states, some of which may be final while others are not. The string is accepted if any possible
ending state is a final state.
Example NFAs
, q0, F)
where
These are all the same as for a dfa except for the definition of
(q0, w)
DFA = NFA
Two acceptors are equivalent if the accept the same language.
A DFA is just a special case of an NFA that happens not to have any null transitions or multiple
transitions on the same symbol. So DFAs are not more powerful than NFAs.
For any NFA, we can construct an equivalent DFA (see below). So NFAs are not more powerful
than DFAs. DFAs and NFAs define the same class of languages -- the regular languages.
To translate an NFA into a DFA, the trick is to label each state in the DFA with a set of states
from the NFA. Each state in the DFA summarizes all the states that the NFA might be in. If the
NFA contains |Q| states, the resultant DFA could contain as many as |2 | states. (Usually far
fewer states will be needed.)