Download - NFAs and DFAs
NFAs and DFAs
Sipser 1.2 (pages 47-63)
Last time…
CS 311Mount Holyoke College
3
NFA• A nondeterministic finite
automaton (NFA) is a 5-tuple (Q, Σ, δ, q0, F), where– Q is a finite set called the states– Σ is a finite set called the alphabet– δ: Q × Σε → P(Q) is the transition function– q0 Q∈ is the start state
– F Q ⊆ is a set of accept states
• In-class exercise:
CS 311Mount Holyoke College
4
NFA computation
• Let N=(Q, Σ, δ, q0, F) be a NFA and let
w be a string over the alphabet Σ• Then N accepts w if
– w can be written as w1w2w3…wm with each wi Σε∈
and– There exists a sequence of states
s0,s1,s2,…,sm exists in Q with the following conditions:1. s0=q0
2. si+1 δ(s∈ i,wi+1) for i = 0,…,m-1
3. sn F∈
One last operation
CS 311Mount Holyoke College
6
Kleene star operation
• Let A be a language. • The Kleene star operation is
A* = {x1x2…xk | k ≥ 0 and each xi A} ∈
Exercise• A = {w | w is a string of 0s and 1s containing an odd
number of 1s}• B = {w | w is a string of 0s and 1s containing an even
number of 1s}• C = {0,1}
• What are A*, B*, and C*?
CS 311Mount Holyoke College
7
Clay Knee?
Kleene pronounced his last name klay'nee. His son, Ken Kleene, wrote:
"As far as I am aware this pronunciation is incorrect in all known languages. I believe that this novel pronunciation was invented by my father." Dr. "Clay Knee" must have been a geek of the
first water, to be sure!- From http://visualbasic.about.com/od/usevb6/a/RegExVB6.htm
CS 311Mount Holyoke College
8
Kleene star
• Theorem: The class of languages recognized by NFAs is closed under the Kleene star operation.
CS 311Mount Holyoke College
9
If only…
… somebody would prove that the class of languages recognized by NFAs
and the class of languages recognized by
DFAs were equal…
CS 311Mount Holyoke College
10
Then…
• We’d have:– The class of regular languages is closed
under:• Concatenation• Kleene star
CS 311Mount Holyoke College
11
And…
a cute proof for closure under union!
CS 311Mount Holyoke College
12
We can be that somebody!
• Theorem: A language is regular if and only if there exists an NFA that recognizes it.
• Proof:(⇒)Let A be a regular language…
CS 311Mount Holyoke College
13
Then there exists a DFA M
• M is a 5-tuple (Q, Σ, δM, q0, F), where– Q is a finite set called the states– Σ is a finite set called the alphabet– δ: Q × Σ → Q is the transition function– q0 Q∈ is the start state
– F Q ⊆ is a set of accept states
CS 311Mount Holyoke College
14
We need to show there exists an NFA N
• N is a 5-tuple (Q, Σ, δN, q0, F), where– Q is a finite set called the states– Σ is a finite set called the alphabet– δ: Q × Σε → P(Q) is the transition
function– q0 Q∈ is the start state
– F Q ⊆ is a set of accept states
• Can we define N from M?
CS 311Mount Holyoke College
15
Now the other way!
• Theorem: A language is regular if and only if there exists an NFA that recognizes it.
• Proof:(⇒)Let A be a language accepted by NFA N = (Q, Σ, δ, q0, F)
CS 311Mount Holyoke College
16
Equivalent machines
• Definition: Two machines are equivalent if they recognize the same language
• Let’s prove:Theorem: Every NFA has an equivalent DFA.
CS 311Mount Holyoke College
17
Remember…
CS 311Mount Holyoke College
18
A simpler example
CS 311Mount Holyoke College
19
Removing choice
Proof:• Let A be a language accepted by NFA
N = (Q, Σ, δ, q0, F)
• We construct a DFA M=(Q’, Σ, δ’, q0’, F’) recognizing A– Q’ = P(Q)– For R Q'∈ and a Σ∈ ,
define δ'(R,a) = δ(r,a)∪
– q0’ = {q0}
– F’ = { R Q’ | R contains an accept state from F}∈
r R∈
CS 311Mount Holyoke College
20
Okay, but what about ε arrows?
CS 311Mount Holyoke College
21
Modifying our construction
Proof:• Let A be a language accepted by NFA
N = (Q, Σ, δ, q0, F)
• We construct a DFA M=(Q’, Σ, δ’, q0’, F’) recognizing A
– Q’ = P(Q)– For R Q'∈ and a Σ∈ ,
define δ'(R,a) = E(δ(r,a))∪
where E(R) = {q | q can be reached from R along 0 or more ε arrows}
– q0’ = E({q0})
– F’ = { R Q’ | R contains an accept state from F}∈
r R∈