SlideShare a Scribd company logo
1
Nondeterministic Finite
Automata
Nondeterminism
Subset Construction
2
Nondeterminism
A nondeterministic finite automaton
has the ability to be in several states at
once.
Transitions from a state on an input
symbol can be to any set of states.
3
Nondeterminism – (2)
Start in one start state.
Accept if any sequence of choices leads
to a final state.
Intuitively: the NFA always “guesses
right.”
4
Example: Moves on a
Chessboard
States = squares.
Inputs = r (move to an adjacent red
square) and b (move to an adjacent
black square).
Start state, final state are in opposite
corners.
5
Example: Chessboard – (2)
1 2
5
7 9
3
4
8
6
1
r b b
4
2 1
5
3
7
5
1
3
9
7
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
Accept, since final state reached
6
Formal NFA
A finite set of states, typically Q.
An input alphabet, typically Σ.
A transition function, typically δ.
A start state in Q, typically q0.
A set of final states F ⊆ Q.
7
Transition Function of an NFA
δ(q, a) is a set of states.
Extend to strings as follows:
Basis: δ(q, ε) = {q}
Induction: δ(q, wa) = the union over
all states p in δ(q, w) of δ(p, a)
8
Language of an NFA
A string w is accepted by an NFA if
δ(q0, w) contains at least one final
state.
The language of the NFA is the set of
strings it accepts.
9
Example: Language
of an NFA
For our chessboard NFA we saw that
rbb is accepted.
If the input consists of only b’s, the set
of accessible states alternates between
{5} and {1,3,7,9}, so only even-length,
nonempty strings of b’s are accepted.
What about strings with at least one r?
1 2
5
7 9
3
4
8
6
10
Equivalence of DFA’s, NFA’s
A DFA can be turned into an NFA that
accepts the same language.
If δD(q, a) = p, let the NFA have
δN(q, a) = {p}.
Then the NFA is always in a set
containing exactly one state – the state
the DFA is in after reading the same
input.
11
Equivalence – (2)
Surprisingly, for any NFA there is a DFA
that accepts the same language.
Proof is the subset construction.
The number of states of the DFA can
be exponential in the number of states
of the NFA.
Thus, NFA’s accept exactly the regular
languages.
12
Subset Construction
Given an NFA with states Q, inputs Σ,
transition function δN, state state q0, and
final states F, construct equivalent DFA
with:
 States 2Q (Set of subsets of Q).
 Inputs Σ.
 Start state {q0}.
 Final states = all those with a member of F.
13
Critical Point
The DFA states have names that are
sets of NFA states.
But as a DFA state, an expression like
{p,q} must be read as a single symbol,
not as a set.
Analogy: a class of objects whose
values are sets of objects of another
class.
14
Subset Construction – (2)
The transition function δD is defined by:
δD({q1,…,qk}, a) is the union over all i =
1,…,k of δN(qi, a).
Example: We’ll construct the DFA
equivalent of our “chessboard” NFA.
15
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1} {2,4} {5}
{2,4}
{5}
Alert: What we’re doing here is
the lazy form of DFA construction,
where we only construct a state
if we are forced to.
16
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
{2,4,6,8}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
17
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
* {1,3,7,9}
{2,4,6,8}
{2,4,6,8} {1,3,7,9}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
18
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
* {1,3,5,7,9}
* {1,3,7,9}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8}
{2,4,6,8} {1,3,7,9}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
19
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
* {1,3,5,7,9}
* {1,3,7,9}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8}
{2,4,6,8} {1,3,7,9}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
{2,4,6,8} {1,3,5,7,9}
20
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
* {1,3,5,7,9}
* {1,3,7,9} {2,4,6,8} {5}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8}
{2,4,6,8} {1,3,7,9}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
{2,4,6,8} {1,3,5,7,9}
21
Example: Subset Construction
r b
1 2,4 5
2 4,6 1,3,5
3 2,6 5
4 2,8 1,5,7
5 2,4,6,8 1,3,7,9
6 2,8 3,5,9
7 4,8 5
8 4,6 5,7,9
9 6,8 5
*
r b
{1}
* {1,3,5,7,9} {2,4,6,8} {1,3,5,7,9}
* {1,3,7,9} {2,4,6,8} {5}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8}
{2,4,6,8} {1,3,7,9}
{5}
{2,4} {2,4,6,8} {1,3,5,7}
{1,3,5,7}
{2,4} {5}
{2,4,6,8} {1,3,5,7,9}
22
Proof of Equivalence: Subset
Construction
The proof is almost a pun.
Show by induction on |w| that
δN(q0, w) = δD({q0}, w)
Basis: w = ε: δN(q0, ε) = δD({q0}, ε) =
{q0}.
23
Induction
Assume IH for strings shorter than w.
Let w = xa; IH holds for x.
Let δN(q0, x) = δD({q0}, x) = S.
Let T = the union over all states p in S of
δN(p, a).
Then δN(q0, w) = δD({q0}, w) = T.
 For NFA: the extension of δN.
 For DFA: definition of δD plus extension of δD.
• That is, δD(S, a) = T; then extend δD to w = xa.
24
NFA’s With ε-Transitions
We can allow state-to-state transitions
on ε input.
These transitions are done
spontaneously, without looking at the
input string.
A convenience at times, but still only
regular languages are accepted.
25
Example: ε-NFA
C
E F
A
B D
1
1 1
0
0
0
ε
ε ε
0 1 ε
A {E} {B} ∅
B ∅ {C} {D}
C ∅ {D} ∅
D ∅ ∅ ∅
E {F} ∅ {B, C}
F {D} ∅ ∅
*
26
Closure of States
CL(q) = set of states you can reach
from state q following only arcs labeled
ε.
Example: CL(A) = {A};
CL(E) = {B, C, D, E}.
Closure of a set of states = union of
the closure of each state.
C
E F
A
B D
1
1 1
0
0
0
ε
ε ε
27
Extended Delta
 Basis: (q, ε) = CL(q).
 Induction: (q, xa) is computed as
follows:
1. Start with (q, x) = S.
2. Take the union of CL(δ(p, a)) for all p in S.
 Intuition: (q, w) is the set of states
you can reach from q following a path
labeled w.
˄
δ
˄
δ
˄
δ
˄
δ
And notice that δ(q, a) is not
that set of states, for symbol a.
28
Example:
Extended Delta
 (A, ε) = CL(A) = {A}.
 (A, 0) = CL({E}) = {B, C, D, E}.
 (A, 01) = CL({C, D}) = {C, D}.
Language of an ε-NFA is the set of
strings w such that (q0, w) contains a
final state.
C
E F
A
B D
1
1 1
0
0
0
ε
ε ε
˄
δ
˄
δ
˄
δ
˄
δ
29
Equivalence of NFA, ε-NFA
Every NFA is an ε-NFA.
 It just has no transitions on ε.
Converse requires us to take an ε-NFA
and construct an NFA that accepts the
same language.
We do so by combining ε–transitions
with the next transition on a real input.
Warning: This treatment is a
bit different from that in the text.
30
Picture of ε-Transition Removal
Transitions
on ε
a
a
a
Transitions
on ε
31
Picture of ε-Transition Removal
Transitions
on ε
a
a
a
Transitions
on ε
Text goes
from here
To here, and performs
the subset construction
32
Picture of ε-Transition Removal
Transitions
on ε
a
a
a
Transitions
on ε
We’ll go
from here
To here, with no
subset construction
33
Equivalence – (2)
Start with an ε-NFA with states Q,
inputs Σ, start state q0, final states F,
and transition function δE.
Construct an “ordinary” NFA with states
Q, inputs Σ, start state q0, final states
F’, and transition function δN.
34
Equivalence – (3)
 Compute δN(q, a) as follows:
1. Let S = CL(q).
2. δN(q, a) is the union over all p in S of
δE(p, a).
 F’ = the set of states q such that
CL(q) contains a state of F.
 Intuition: δN incorporates ε–transitions
before using a but not after.
35
Equivalence – (4)
Prove by induction on |w| that
CL(δN(q0, w)) = E(q0, w).
Thus, the ε-NFA accepts w if and only if
the “ordinary” NFA does.
˄
δ
36
Example: ε-NFA-
to-NFA
0 1 ε
A {E} {B} ∅
B ∅ {C} {D}
C ∅ {D} ∅
D ∅ ∅ ∅
E {F} ∅ {B, C}
F {D} ∅ ∅
*
ε-NFA
0 1
A {E} {B}
B ∅ {C}
C ∅ {D}
D ∅ ∅
E {F} {C, D}
F {D} ∅
*
*
*
Since closure of
E includes B and
C; which have
transitions on 1
to C and D.
Since closures of
B and E include
final state D.
Interesting
closures: CL(B)
= {B,D}; CL(E)
= {B,C,D,E}
37
Summary
DFA’s, NFA’s, and ε–NFA’s all accept
exactly the same set of languages: the
regular languages.
The NFA types are easier to design and
may have exponentially fewer states
than a DFA.
But only a DFA can be implemented!

More Related Content

PDF
Formal Languages and Automata Theory Unit 1
PPTX
chapter 1 automata and complexity theory lecture note.pptx
PPT
Lecture 03 lexical analysis
PDF
NFA DFA Equivalence theorem
PDF
Lecture 17- F19.pdf
PDF
Lecture 6.1 - NFA to DFA toc and compiler design
PPT
Finite automata examples
Formal Languages and Automata Theory Unit 1
chapter 1 automata and complexity theory lecture note.pptx
Lecture 03 lexical analysis
NFA DFA Equivalence theorem
Lecture 17- F19.pdf
Lecture 6.1 - NFA to DFA toc and compiler design
Finite automata examples

Similar to Nondeterministic Finite Automata AFN.pdf (20)

PPT
Finite automata examples
PPTX
FiniteAutomata_anim.pptx
PPTX
FiniteAutomata_anim.pptx
PPTX
TCS MUBAI UNIVERSITY ATHARVA COLLEGE OF ENGINEERING.pptx
PPTX
03-FiniteAutomata.pptx
PDF
TOC 4 | Non-deterministic Finite Automata
PPTX
NFA Converted to DFA , Minimization of DFA , Transition Diagram
PPTX
Theory of computation Unit 1 Lecute 2.pptx
PPTX
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
PPTX
NFA to DFA Conversion Using Subset Construction Method
PPTX
Week 3 - to FiniteAutomata DrJunaid.pptx
PDF
TCS GOLDEN NOTES THEORY OF COMPUTATION .pdf
PDF
Theory of Computation FSM Conversions and Problems
PDF
PDF
Lecture4 lexical analysis2
PDF
Teori automata lengkap
PPTX
4-Regular expression to Deterministic Finite Automata (Direct method)-05-05-2...
PDF
Hwsoln03 toc
PDF
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
DOCX
Deterministic finite automata
Finite automata examples
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptx
TCS MUBAI UNIVERSITY ATHARVA COLLEGE OF ENGINEERING.pptx
03-FiniteAutomata.pptx
TOC 4 | Non-deterministic Finite Automata
NFA Converted to DFA , Minimization of DFA , Transition Diagram
Theory of computation Unit 1 Lecute 2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
NFA to DFA Conversion Using Subset Construction Method
Week 3 - to FiniteAutomata DrJunaid.pptx
TCS GOLDEN NOTES THEORY OF COMPUTATION .pdf
Theory of Computation FSM Conversions and Problems
Lecture4 lexical analysis2
Teori automata lengkap
4-Regular expression to Deterministic Finite Automata (Direct method)-05-05-2...
Hwsoln03 toc
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
Deterministic finite automata
Ad

Recently uploaded (20)

PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
PPT on Performance Review to get promotions
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Digital Logic Computer Design lecture notes
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Well-logging-methods_new................
Operating System & Kernel Study Guide-1 - converted.pdf
CH1 Production IntroductoryConcepts.pptx
Construction Project Organization Group 2.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Foundation to blockchain - A guide to Blockchain Tech
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Internet of Things (IOT) - A guide to understanding
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPT on Performance Review to get promotions
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Digital Logic Computer Design lecture notes
CYBER-CRIMES AND SECURITY A guide to understanding
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Well-logging-methods_new................
Ad

Nondeterministic Finite Automata AFN.pdf

  • 2. 2 Nondeterminism A nondeterministic finite automaton has the ability to be in several states at once. Transitions from a state on an input symbol can be to any set of states.
  • 3. 3 Nondeterminism – (2) Start in one start state. Accept if any sequence of choices leads to a final state. Intuitively: the NFA always “guesses right.”
  • 4. 4 Example: Moves on a Chessboard States = squares. Inputs = r (move to an adjacent red square) and b (move to an adjacent black square). Start state, final state are in opposite corners.
  • 5. 5 Example: Chessboard – (2) 1 2 5 7 9 3 4 8 6 1 r b b 4 2 1 5 3 7 5 1 3 9 7 r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * Accept, since final state reached
  • 6. 6 Formal NFA A finite set of states, typically Q. An input alphabet, typically Σ. A transition function, typically δ. A start state in Q, typically q0. A set of final states F ⊆ Q.
  • 7. 7 Transition Function of an NFA δ(q, a) is a set of states. Extend to strings as follows: Basis: δ(q, ε) = {q} Induction: δ(q, wa) = the union over all states p in δ(q, w) of δ(p, a)
  • 8. 8 Language of an NFA A string w is accepted by an NFA if δ(q0, w) contains at least one final state. The language of the NFA is the set of strings it accepts.
  • 9. 9 Example: Language of an NFA For our chessboard NFA we saw that rbb is accepted. If the input consists of only b’s, the set of accessible states alternates between {5} and {1,3,7,9}, so only even-length, nonempty strings of b’s are accepted. What about strings with at least one r? 1 2 5 7 9 3 4 8 6
  • 10. 10 Equivalence of DFA’s, NFA’s A DFA can be turned into an NFA that accepts the same language. If δD(q, a) = p, let the NFA have δN(q, a) = {p}. Then the NFA is always in a set containing exactly one state – the state the DFA is in after reading the same input.
  • 11. 11 Equivalence – (2) Surprisingly, for any NFA there is a DFA that accepts the same language. Proof is the subset construction. The number of states of the DFA can be exponential in the number of states of the NFA. Thus, NFA’s accept exactly the regular languages.
  • 12. 12 Subset Construction Given an NFA with states Q, inputs Σ, transition function δN, state state q0, and final states F, construct equivalent DFA with:  States 2Q (Set of subsets of Q).  Inputs Σ.  Start state {q0}.  Final states = all those with a member of F.
  • 13. 13 Critical Point The DFA states have names that are sets of NFA states. But as a DFA state, an expression like {p,q} must be read as a single symbol, not as a set. Analogy: a class of objects whose values are sets of objects of another class.
  • 14. 14 Subset Construction – (2) The transition function δD is defined by: δD({q1,…,qk}, a) is the union over all i = 1,…,k of δN(qi, a). Example: We’ll construct the DFA equivalent of our “chessboard” NFA.
  • 15. 15 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} {2,4} {5} {2,4} {5} Alert: What we’re doing here is the lazy form of DFA construction, where we only construct a state if we are forced to.
  • 16. 16 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} {2,4,6,8} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5}
  • 17. 17 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} * {1,3,7,9} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5}
  • 18. 18 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} * {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {1,3,5,7,9} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5}
  • 19. 19 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} * {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {1,3,5,7,9} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5} {2,4,6,8} {1,3,5,7,9}
  • 20. 20 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} * {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {5} {2,4,6,8} {1,3,5,7,9} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5} {2,4,6,8} {1,3,5,7,9}
  • 21. 21 Example: Subset Construction r b 1 2,4 5 2 4,6 1,3,5 3 2,6 5 4 2,8 1,5,7 5 2,4,6,8 1,3,7,9 6 2,8 3,5,9 7 4,8 5 8 4,6 5,7,9 9 6,8 5 * r b {1} * {1,3,5,7,9} {2,4,6,8} {1,3,5,7,9} * {1,3,7,9} {2,4,6,8} {5} {2,4,6,8} {1,3,5,7,9} {2,4,6,8} {2,4,6,8} {1,3,7,9} {5} {2,4} {2,4,6,8} {1,3,5,7} {1,3,5,7} {2,4} {5} {2,4,6,8} {1,3,5,7,9}
  • 22. 22 Proof of Equivalence: Subset Construction The proof is almost a pun. Show by induction on |w| that δN(q0, w) = δD({q0}, w) Basis: w = ε: δN(q0, ε) = δD({q0}, ε) = {q0}.
  • 23. 23 Induction Assume IH for strings shorter than w. Let w = xa; IH holds for x. Let δN(q0, x) = δD({q0}, x) = S. Let T = the union over all states p in S of δN(p, a). Then δN(q0, w) = δD({q0}, w) = T.  For NFA: the extension of δN.  For DFA: definition of δD plus extension of δD. • That is, δD(S, a) = T; then extend δD to w = xa.
  • 24. 24 NFA’s With ε-Transitions We can allow state-to-state transitions on ε input. These transitions are done spontaneously, without looking at the input string. A convenience at times, but still only regular languages are accepted.
  • 25. 25 Example: ε-NFA C E F A B D 1 1 1 0 0 0 ε ε ε 0 1 ε A {E} {B} ∅ B ∅ {C} {D} C ∅ {D} ∅ D ∅ ∅ ∅ E {F} ∅ {B, C} F {D} ∅ ∅ *
  • 26. 26 Closure of States CL(q) = set of states you can reach from state q following only arcs labeled ε. Example: CL(A) = {A}; CL(E) = {B, C, D, E}. Closure of a set of states = union of the closure of each state. C E F A B D 1 1 1 0 0 0 ε ε ε
  • 27. 27 Extended Delta  Basis: (q, ε) = CL(q).  Induction: (q, xa) is computed as follows: 1. Start with (q, x) = S. 2. Take the union of CL(δ(p, a)) for all p in S.  Intuition: (q, w) is the set of states you can reach from q following a path labeled w. ˄ δ ˄ δ ˄ δ ˄ δ And notice that δ(q, a) is not that set of states, for symbol a.
  • 28. 28 Example: Extended Delta  (A, ε) = CL(A) = {A}.  (A, 0) = CL({E}) = {B, C, D, E}.  (A, 01) = CL({C, D}) = {C, D}. Language of an ε-NFA is the set of strings w such that (q0, w) contains a final state. C E F A B D 1 1 1 0 0 0 ε ε ε ˄ δ ˄ δ ˄ δ ˄ δ
  • 29. 29 Equivalence of NFA, ε-NFA Every NFA is an ε-NFA.  It just has no transitions on ε. Converse requires us to take an ε-NFA and construct an NFA that accepts the same language. We do so by combining ε–transitions with the next transition on a real input. Warning: This treatment is a bit different from that in the text.
  • 30. 30 Picture of ε-Transition Removal Transitions on ε a a a Transitions on ε
  • 31. 31 Picture of ε-Transition Removal Transitions on ε a a a Transitions on ε Text goes from here To here, and performs the subset construction
  • 32. 32 Picture of ε-Transition Removal Transitions on ε a a a Transitions on ε We’ll go from here To here, with no subset construction
  • 33. 33 Equivalence – (2) Start with an ε-NFA with states Q, inputs Σ, start state q0, final states F, and transition function δE. Construct an “ordinary” NFA with states Q, inputs Σ, start state q0, final states F’, and transition function δN.
  • 34. 34 Equivalence – (3)  Compute δN(q, a) as follows: 1. Let S = CL(q). 2. δN(q, a) is the union over all p in S of δE(p, a).  F’ = the set of states q such that CL(q) contains a state of F.  Intuition: δN incorporates ε–transitions before using a but not after.
  • 35. 35 Equivalence – (4) Prove by induction on |w| that CL(δN(q0, w)) = E(q0, w). Thus, the ε-NFA accepts w if and only if the “ordinary” NFA does. ˄ δ
  • 36. 36 Example: ε-NFA- to-NFA 0 1 ε A {E} {B} ∅ B ∅ {C} {D} C ∅ {D} ∅ D ∅ ∅ ∅ E {F} ∅ {B, C} F {D} ∅ ∅ * ε-NFA 0 1 A {E} {B} B ∅ {C} C ∅ {D} D ∅ ∅ E {F} {C, D} F {D} ∅ * * * Since closure of E includes B and C; which have transitions on 1 to C and D. Since closures of B and E include final state D. Interesting closures: CL(B) = {B,D}; CL(E) = {B,C,D,E}
  • 37. 37 Summary DFA’s, NFA’s, and ε–NFA’s all accept exactly the same set of languages: the regular languages. The NFA types are easier to design and may have exponentially fewer states than a DFA. But only a DFA can be implemented!