Non-Deterministic
Finite Automata
HM2 samples
1.
Question ID 74: Examine the following DFA:
Identify in the list below the string that this automaton accepts.
Details
2.
Question ID 75: The finite automaton below:
accepts no word of length zero, no word of length one, and only two words of length two (01 and 10). There is a fairly simple recurrence
equation for the number N(k) of words of length k that this automaton accepts. Discover this recurrence and demonstrate your understanding
by identifying the correct value of N(k) for some particular k. Note: the recurrence does not have an easy-to-use closed form, so you will have
to compute the first few values by hand. You do not have to compute N(k) for any k greater than 14.
HM2 Samples
4.
Question ID 77: Which automata define the same language?
Note: (b) and (d) use transitions on strings. You may assume that there are nonaccepting intermediate states, not shown, that are in the
middle of these transitions, or just accept the extension to the conventional finite automaton that allows strings on transitions and, like
the conventional FA accepts strings that are the concatenation of labels along any path from the start state to an accepting state.
Details
5.
Question ID 78: Convert the following nondeterministic finite automaton:
to a DFA, including the dead state, if necessary. Which of the following sets of NFA states is not a state of the DFA that is accessible
from the start state of the DFA?
Formal Definition of DFA
A DFA consists of:
A set of states Q
A transition function δ : Q Q
One start state q0
One or more accepting states F Q
Alphabet
Language accepted by a DFA is the set of
strings such that DFA ends at an accepting state
string is c1c2…cn with ci
States are qi = δ(qi-1,ci ) for i=1…n
qn is an accepting state
Each
NFA and -NFA
Nondeterministic Finite Automata
Same
input may produce multiple paths
Allows transition with an empty string or
transition from one state to different states
given a character
1
q1
q2
q1
1
q2
q3
empty string transition
nondeterministic transition
The Language Accepted by a NFA
EXAMPLE
Another Example
Accept strings containing a 1 in the third
position from the back
0,1
1
1
2
0, 1
3
0,1
4
RECAP: How does NFA work?
Start in start state
Read a symbol, clone a machine for each
matching transition
If a symbol is read and there is no way to
exit from a state, then that machine dies
At end of input if any machine accepts
then accept
RECAP Definition: NFA
An NFA is defined by a 5-tuple, with
A set of states Q
A transition function δ : Q Σ P(Q)
One start state q0
One or more accepting states F Q
Alphabet
Notation: P(Q) is power set of Q
What is the difference from DFA?
RECAP Nondeterministic
Transition
The function δ : Q Σ P(Q) is the key
difference!
When
reading symbol `a’ while in state q, it
may go to one of the states in δ(q,a)Q.
Can δ(q,a) map to empty set?
RECAP Languages
Language accepted by a NFA is the set of
strings such that NFA ends at an accepting
state
string of language is c1c2…cn with ciΣ
(possibly with ε)
States are qi δ(qi-1,ci) for i=1…n
qn is an accepting state
Each
RECAP DFA = NFA
Theorem: For every language L accepted by an
NFA, there is a DFA that accepts L.
In other words, DFA and NFA are equivalent
computational models.
Proof idea: When keeping track of
nondeterministic computation of NFA N, use
many ‘fingers’ to point at the set of states of N
that can be reached on a given input string.
We can simulate this computation with a DFA M
with state space P(Q).
Proof of DNA=NFA
More formal proof: Let A be the language
recognized by the NFA N = (Q,Σ,δ,q0,F).
Define the DFA M = (Q’,Σ,δ’,q’0,F’) by
1.
2.
3.
4.
Q’ = P(Q)
δ’(R,a) = { qQ | qδ(r,a) for an rR }
q’0 = { q0 }
F’ = {RQ’ | R contains an accept state of N}
0,1
1
1
2
0, 1
3
0,1
4
How does NFA work?
Start in start state
If any transitions, clone a machine for
each transition
Read a symbol, clone a machine for each
matching transition
If a symbol is read and there is no way to
exit from a state, then that machine dies
At end of input if any machine accepts
then accept
Example
Accept strings containing either 101 or 11
as a substring
0,1
1
0,1
1
2
0,
3
1
4
Example: Read: 010110
How would this NFA work?
0,1
1
0,1
1
2
0,
3
1
4
Read: 010110
1
0
1
1
1
2
3
0
1
3
1
1
2
3
4
2
3
4
4
4
4
1
1
0
1
Definition: εNFA
An NFA is defined by a 5-tuple, with
A set of states Q
A transition function δ : Q Σε P(Q)
One start state q0
One or more accepting states F Q
Alphabet
Notation: Σε = Σ{ε}; P(Q) is power set of Q
What is the difference from DFA?
Nondeterministic Transition
The function δ : Q Σε P(Q) is the key
difference!
When
reading symbol `a’ while in state q, it
may go to one of the states in δ(q,a)Q.
ε in Σε allows empty-string transitions
Can δ(q,a) map to empty set?
Languages
Language accepted by a NFA is the set of
strings such that NFA ends at an accepting
state
string of language is c1c2…cn with ciΣε
(possibly with ε)
States are qi δ(qi-1,ci) for i=1…n
qn is an accepting state
Each
The Golden Chain
εNFA NFA DFA REGEX
EpsilonNFA NFA DFA
Regular Expressions
© Copyright 2026 Paperzz