Limits of DFA & NDFA
Chapter 2
Limits of Deterministic Finite Automaton (DFA)
Non Deterministic Finite Automaton (NDFA)
Dr.Tarek Althami College of Science & Computer Engineering, Yanbu 2012-2013
Computation Theory
Regular languages
•A language L over the alphabet  is regular iff
(if and only if) there is a Deterministic Finite
Automaton that accepts L.
Limits of DFA & NDFA 2
Regular languages
Show that the language
L = {awa : w  {a,b}*}
is regular.
To do this, all we have to do is construct a DFA
that accepts this language
Limits of DFA & NDFA 3
L = {awa : w  {a,b}*}
This finite accepter accepts all and only the strings of the
language given above. But note that there are two arcs out of q1
labeled a. How does the FA know which path to take on an a?
It doesn’t; it has to magically guess right. Also, there are no
arcs out of q2. So this FA is nondeterministic.
q0
a
a,b
q1 q2
a
b
q3
Limits of DFA & NDFA 4
Nondeterminism
A finite automaton is deterministic if:
from every node there is exactly one arc labeled
for each character in the alphabet of the language
Limits of DFA & NDFA 5
L = {awa : w  {a,b}*}
q0
a
b
q1 q2
b
This is a deterministic version of the previous automaton;
there is exactly one arc out of each state labeled with each
symbol from .
q3
a,b
b
a
a
Limits of DFA & NDFA 6
Nondeterministic finite accepters
Actually, any nondeterministic FA can be
turned into a deterministic FA. That is why this
class of automata is called Deterministic Finite
Accepters.
Limits of DFA & NDFA 7
Deterministic finite accepters
L = {ambn : m, n  0}
Give a DFA that accepts this language
Limits of DFA & NDFA 8
L = {ambn : m, n  0}
What do we know about this language’s automaton?
• Will it accept the empty string? If so, how do we
represent that?
• Will it accept strings that begin with an a?
• Having begun with an a, seeing indefinitely many more
a’s are OK ; the automaton can loop here.
• Will it accept strings that begin with a b?
• Once it sees a b, the automaton now has to be on guard.
• As long as it continues to see b’s , it’s OK; loop.
• If the string ends here, accept.
• If it sees an a after seeing a b, reject.
Limits of DFA & NDFA 9
L = {ambn : m, n  0}
q0
a
a
q1 q2
b
b
a
b
Does this automaton correspond to (represent, accept) the above
language?
(Be careful!)
q3
q4
Limits of DFA & NDFA 10
L = {ambn : m, n  0}
q0
a
q1
b
a
b
Does this automaton correspond to (represent, accept) the above
language? Is it deterministic?
q2
a,b
Limits of DFA & NDFA 11
Some exercises
a
b
b
a
a,b
Use set notation to describe the language accepted by the
above DFA
q0 q1 q2
Limits of DFA & NDFA 12
Some exercises
L(M) = {anbm}, where n  0 and m  1
q0 q1 q2
a
b
b
a
a,b
Limits of DFA & NDFA 13
Limits of DFA & NDFA 14
For any alphabet , there exists a language that cannot be
recognized by any finite automaton (the set of languages ​​is
much larger than the one of automata)
Limits of DFA
Theorem
Example 1
 The language consisting of all palindromes over the
alphabet , cannot be accepted by any DFA. Therefore it
is not a regular language. If we take the alphabet = {a,
b}, some examples of palindromes are :
{a, b, aa, bb, aaa, aba, . . .}



Limits of DFA & NDFA 15
Example 2
 there exists no DFA which can determine if the arithmetic
expression parentheses are properly balanced
a + b ) / c * (a - d) False
a+ ( b / c * (a - d) + g) True
Example 3
 there exists no DFA having the language L (M) = anbn, n>=0
Limits of DFA
NDFA
q0
1
q1 q2
0,1
0

An NDFA can be non-deterministic by:
(1) having more than one edge with the same label originate from one
vertex: see state q1, which has two arcs labeled 0 emanating from it
(2) having states without an edge originating from it for some symbol: see
state q2, which has no edges labeled 0 or 1. (This may be interpreted
as a transition to the empty set.)
(3) having lambda-transitions: see state q0, which has an arc indicating
that a -move from q0 to q2 is possible
Limits of DFA & NDFA 16
NDFA
 A non-deterministic finite accepter (abbreviated NFA or
NDFA) is defined by the quintuple : M = (Q, , , q0, F)
• Q is a finite, nonempty set of states
•  is finite set of input symbols called alphabet
• : Q  (  {})  2Q is the transition function
• q0  Q is the initial state
• F  Q is a set of final or “accepting” states
Limits of DFA & NDFA 17
NDFA
Differences between a DFA and an NDFA:
(1) in an NDFA, the range of  is in the powerset of Q
(instead of just Q), so that from the current state,
upon reading a symbol:
(a) more than one state might be the next state of the
NDFA
(b) no state may be defined as the next state of the
NDFA
(2) -moves are possible; that is, a transition from one
state to another may occur without reading a symbol
from the input string.
Limits of DFA & NDFA 18
NDFA
 The extended transition function for an NDFA is
defined so that * (qi, w) contains qj iff there is a
walk in the transition graph from qi to qj labeled
w.
 The language L accepted by an NDFA
M = (Q, , , q0, F) is defined as
L(M) = {w  * : δ* (q0, w)  F  }
That is, the language consists of all strings w for
which there is a walk labeled w from the start
state to a final state in the transition graph.
Limits of DFA & NDFA 19
NDFA = DFA
 One kind of automaton is more powerful than
another if it can accept and reject some kinds
of languages that the other cannot.
 Two finite accepters are equivalent if both
accept the same language, that is,
L(M1) = L(M2)
 As mentioned previously, we can always find
an equivalent DFA for any given NDFA.
Therefore, NDFA’s are no more powerful than
DFA’s.
Limits of DFA & NDFA 20
NDFA  DFA
Theorem
Let L be the language accepted by a non-
deterministic finite accepter MN = (QN, , N,
q0, FN) . Then there exists a deterministic finite
accepter MD = (QD, , D, q0, FD) such that L =
L(MD).
.
Limits of DFA & NDFA 21
NDFA  DFA
 Convert the following NDFA into an equivalent
DFA
• Q = {1, 2, 3}
• ={a, b}
• = {(1, b, 2) (1, b, 3) (3, a, 1) (3, a, 2)}
• q0= {1}
• F= {3}
• The state transition diagram is :
Limits of DFA & NDFA
3
b a
1
2
a
b
22
NDFA  DFA
 The new transition function : Q  (  {})  2Q
 Our new DFA will have a state labeled ∅
 construction of the new DFA is based on the following
results:
• Q’ = P(Q)={∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
• ={a, b}
• q0= q0’={1}
• F= {{3}, {1, 3}, {2, 3}, {1, 2, 3}}
•  (∅, a) = ∅  (∅, b) = ∅
•  ({1}, a) = ∅  ({1}, b) = {2, 3}
•  ({2}, a) = ∅  ({2}, b) = ∅
•  ({3}, a) = {1, 2}  ({3},b) = ∅
•  ({1, 2}, a) = ∅  ({1, 2}, b) = {2, 3}
•  ({1, 3}, a) = {1, 2}  ({1, 3}, b) = {2, 3}
•  ({2, 3}, a) = {1, 2}  ({2, 3}, b) = ∅
•  ({1, 2, 3}, a) = {1, 2}  ({1, 2, 3}, b) = {2, 3}
Limits of DFA & NDFA
3
b a
1
2
a
b
23
NDFA  DFA
Limits of DFA & NDFA
{3}
b
{∅}
a b
{2,3}
{1,3} {1,2,3}
{2}
{1, 2}
{1}
a a a
a
a
a
b
b
b
b
b
a b
 If we eliminate the states which can not
be achieved, we obtain the following DFA
{∅}
{2,3} {1, 2}
{1}
a a
a
b
b
b
a b
 It is easier to see that the
language the automaton accepts is
L(M)={b (a b)n / n ∈ N }
24
Conclusion
Limits of DFA & NDFA 25
 Finite automaton can recognize in a program key
words, identifiers and numbers, but not arithmetic
expressions parentheses and Begin-End blocks. In the
next chapters we will define more powerful machines to
recognize a wider range of languages.

More Related Content

PDF
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
PPT
C++ Language
PPT
Toc CFG cfl properties
PPT
PPTX
Backus Naur and Chomsky Normal Forms
PPTX
NLP_KASHK:POS Tagging
PDF
Video Browser Showdown (VBS) 2012-2019
PPT
BCA_Semester-II-Discrete Mathematics_unit-iv Graph theory
C++ Language
Toc CFG cfl properties
Backus Naur and Chomsky Normal Forms
NLP_KASHK:POS Tagging
Video Browser Showdown (VBS) 2012-2019

What's hot (8)

PPTX
Switch Case in C Programming
PPT
Lesson 03
PPTX
C Language (All Concept)
PDF
C++ Programming
PDF
Algorithmic problem sloving
PPT
Pattern matching
PPT
Presentation on graphs
PPTX
NLP_KASHK:Finite-State Morphological Parsing
Switch Case in C Programming
Lesson 03
C Language (All Concept)
C++ Programming
Algorithmic problem sloving
Pattern matching
Presentation on graphs
NLP_KASHK:Finite-State Morphological Parsing
Ad

Similar to Chapter 2 limits of DFA NDFA.ppt (20)

PPTX
Theory of computation Unit 1 Lecute 2.pptx
PPTX
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
PPTX
chapter 1 automata and complexity theory lecture note.pptx
PPTX
FiniteAutomata_anim.pptx
PPTX
FiniteAutomata_anim.pptx
PPTX
Week 3 - to FiniteAutomata DrJunaid.pptx
PPT
Lecture 1 CSE 322 LPU By 5th SEM .ppt Good
PPT
CSE-322 lecture1 notes
PPTX
FiniteAutomata_anim.pptx
PPTX
TCS MUBAI UNIVERSITY ATHARVA COLLEGE OF ENGINEERING.pptx
PPT
Finite Automata
PDF
TCS GOLDEN NOTES THEORY OF COMPUTATION .pdf
PDF
deterministicfiniteautomatondfa-181008145215 (1).pdf
PDF
Automata theory
PPTX
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
PPTX
Chapter-twoChapter-three automata and complexity theory .pptx
PPTX
03-FiniteAutomata.pptx
PPTX
INTRODUTION Formal Language and Automatic Theory.pptx
PDF
Nondeterministic Finite Automata
Theory of computation Unit 1 Lecute 2.pptx
AUTOMATA THEORY AUTOMATA THEORYAutomata3Chapter2.pptx
chapter 1 automata and complexity theory lecture note.pptx
FiniteAutomata_anim.pptx
FiniteAutomata_anim.pptx
Week 3 - to FiniteAutomata DrJunaid.pptx
Lecture 1 CSE 322 LPU By 5th SEM .ppt Good
CSE-322 lecture1 notes
FiniteAutomata_anim.pptx
TCS MUBAI UNIVERSITY ATHARVA COLLEGE OF ENGINEERING.pptx
Finite Automata
TCS GOLDEN NOTES THEORY OF COMPUTATION .pdf
deterministicfiniteautomatondfa-181008145215 (1).pdf
Automata theory
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Chapter-twoChapter-three automata and complexity theory .pptx
03-FiniteAutomata.pptx
INTRODUTION Formal Language and Automatic Theory.pptx
Nondeterministic Finite Automata
Ad

Recently uploaded (20)

PPTX
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
PDF
Computer organization and architecuture Digital Notes....pdf
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PDF
Design of Material Handling Equipment Lecture Note
PPTX
Petroleum Refining & Petrochemicals.pptx
PDF
Unit1 - AIML Chapter 1 concept and ethics
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
Amdahl’s law is explained in the above power point presentations
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
LOW POWER CLASS AB SI POWER AMPLIFIER FOR WIRELESS MEDICAL SENSOR NETWORK
PPTX
ai_satellite_crop_management_20250815030350.pptx
PDF
Cryptography and Network Security-Module-I.pdf
PPTX
wireless networks, mobile computing.pptx
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PDF
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
PPTX
Principal presentation for NAAC (1).pptx
PPTX
Feature types and data preprocessing steps
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
Computer organization and architecuture Digital Notes....pdf
distributed database system" (DDBS) is often used to refer to both the distri...
Design of Material Handling Equipment Lecture Note
Petroleum Refining & Petrochemicals.pptx
Unit1 - AIML Chapter 1 concept and ethics
Information Storage and Retrieval Techniques Unit III
Exploratory_Data_Analysis_Fundamentals.pdf
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Amdahl’s law is explained in the above power point presentations
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
LOW POWER CLASS AB SI POWER AMPLIFIER FOR WIRELESS MEDICAL SENSOR NETWORK
ai_satellite_crop_management_20250815030350.pptx
Cryptography and Network Security-Module-I.pdf
wireless networks, mobile computing.pptx
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
Prof. Dr. KAYIHURA A. SILAS MUNYANEZA, PhD..pdf
Principal presentation for NAAC (1).pptx
Feature types and data preprocessing steps
"Array and Linked List in Data Structures with Types, Operations, Implementat...

Chapter 2 limits of DFA NDFA.ppt

  • 1. Limits of DFA & NDFA Chapter 2 Limits of Deterministic Finite Automaton (DFA) Non Deterministic Finite Automaton (NDFA) Dr.Tarek Althami College of Science & Computer Engineering, Yanbu 2012-2013 Computation Theory
  • 2. Regular languages •A language L over the alphabet  is regular iff (if and only if) there is a Deterministic Finite Automaton that accepts L. Limits of DFA & NDFA 2
  • 3. Regular languages Show that the language L = {awa : w  {a,b}*} is regular. To do this, all we have to do is construct a DFA that accepts this language Limits of DFA & NDFA 3
  • 4. L = {awa : w  {a,b}*} This finite accepter accepts all and only the strings of the language given above. But note that there are two arcs out of q1 labeled a. How does the FA know which path to take on an a? It doesn’t; it has to magically guess right. Also, there are no arcs out of q2. So this FA is nondeterministic. q0 a a,b q1 q2 a b q3 Limits of DFA & NDFA 4
  • 5. Nondeterminism A finite automaton is deterministic if: from every node there is exactly one arc labeled for each character in the alphabet of the language Limits of DFA & NDFA 5
  • 6. L = {awa : w  {a,b}*} q0 a b q1 q2 b This is a deterministic version of the previous automaton; there is exactly one arc out of each state labeled with each symbol from . q3 a,b b a a Limits of DFA & NDFA 6
  • 7. Nondeterministic finite accepters Actually, any nondeterministic FA can be turned into a deterministic FA. That is why this class of automata is called Deterministic Finite Accepters. Limits of DFA & NDFA 7
  • 8. Deterministic finite accepters L = {ambn : m, n  0} Give a DFA that accepts this language Limits of DFA & NDFA 8
  • 9. L = {ambn : m, n  0} What do we know about this language’s automaton? • Will it accept the empty string? If so, how do we represent that? • Will it accept strings that begin with an a? • Having begun with an a, seeing indefinitely many more a’s are OK ; the automaton can loop here. • Will it accept strings that begin with a b? • Once it sees a b, the automaton now has to be on guard. • As long as it continues to see b’s , it’s OK; loop. • If the string ends here, accept. • If it sees an a after seeing a b, reject. Limits of DFA & NDFA 9
  • 10. L = {ambn : m, n  0} q0 a a q1 q2 b b a b Does this automaton correspond to (represent, accept) the above language? (Be careful!) q3 q4 Limits of DFA & NDFA 10
  • 11. L = {ambn : m, n  0} q0 a q1 b a b Does this automaton correspond to (represent, accept) the above language? Is it deterministic? q2 a,b Limits of DFA & NDFA 11
  • 12. Some exercises a b b a a,b Use set notation to describe the language accepted by the above DFA q0 q1 q2 Limits of DFA & NDFA 12
  • 13. Some exercises L(M) = {anbm}, where n  0 and m  1 q0 q1 q2 a b b a a,b Limits of DFA & NDFA 13
  • 14. Limits of DFA & NDFA 14 For any alphabet , there exists a language that cannot be recognized by any finite automaton (the set of languages ​​is much larger than the one of automata) Limits of DFA Theorem Example 1  The language consisting of all palindromes over the alphabet , cannot be accepted by any DFA. Therefore it is not a regular language. If we take the alphabet = {a, b}, some examples of palindromes are : {a, b, aa, bb, aaa, aba, . . .}   
  • 15. Limits of DFA & NDFA 15 Example 2  there exists no DFA which can determine if the arithmetic expression parentheses are properly balanced a + b ) / c * (a - d) False a+ ( b / c * (a - d) + g) True Example 3  there exists no DFA having the language L (M) = anbn, n>=0 Limits of DFA
  • 16. NDFA q0 1 q1 q2 0,1 0  An NDFA can be non-deterministic by: (1) having more than one edge with the same label originate from one vertex: see state q1, which has two arcs labeled 0 emanating from it (2) having states without an edge originating from it for some symbol: see state q2, which has no edges labeled 0 or 1. (This may be interpreted as a transition to the empty set.) (3) having lambda-transitions: see state q0, which has an arc indicating that a -move from q0 to q2 is possible Limits of DFA & NDFA 16
  • 17. NDFA  A non-deterministic finite accepter (abbreviated NFA or NDFA) is defined by the quintuple : M = (Q, , , q0, F) • Q is a finite, nonempty set of states •  is finite set of input symbols called alphabet • : Q  (  {})  2Q is the transition function • q0  Q is the initial state • F  Q is a set of final or “accepting” states Limits of DFA & NDFA 17
  • 18. NDFA Differences between a DFA and an NDFA: (1) in an NDFA, the range of  is in the powerset of Q (instead of just Q), so that from the current state, upon reading a symbol: (a) more than one state might be the next state of the NDFA (b) no state may be defined as the next state of the NDFA (2) -moves are possible; that is, a transition from one state to another may occur without reading a symbol from the input string. Limits of DFA & NDFA 18
  • 19. NDFA  The extended transition function for an NDFA is defined so that * (qi, w) contains qj iff there is a walk in the transition graph from qi to qj labeled w.  The language L accepted by an NDFA M = (Q, , , q0, F) is defined as L(M) = {w  * : δ* (q0, w)  F  } That is, the language consists of all strings w for which there is a walk labeled w from the start state to a final state in the transition graph. Limits of DFA & NDFA 19
  • 20. NDFA = DFA  One kind of automaton is more powerful than another if it can accept and reject some kinds of languages that the other cannot.  Two finite accepters are equivalent if both accept the same language, that is, L(M1) = L(M2)  As mentioned previously, we can always find an equivalent DFA for any given NDFA. Therefore, NDFA’s are no more powerful than DFA’s. Limits of DFA & NDFA 20
  • 21. NDFA  DFA Theorem Let L be the language accepted by a non- deterministic finite accepter MN = (QN, , N, q0, FN) . Then there exists a deterministic finite accepter MD = (QD, , D, q0, FD) such that L = L(MD). . Limits of DFA & NDFA 21
  • 22. NDFA  DFA  Convert the following NDFA into an equivalent DFA • Q = {1, 2, 3} • ={a, b} • = {(1, b, 2) (1, b, 3) (3, a, 1) (3, a, 2)} • q0= {1} • F= {3} • The state transition diagram is : Limits of DFA & NDFA 3 b a 1 2 a b 22
  • 23. NDFA  DFA  The new transition function : Q  (  {})  2Q  Our new DFA will have a state labeled ∅  construction of the new DFA is based on the following results: • Q’ = P(Q)={∅, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}} • ={a, b} • q0= q0’={1} • F= {{3}, {1, 3}, {2, 3}, {1, 2, 3}} •  (∅, a) = ∅  (∅, b) = ∅ •  ({1}, a) = ∅  ({1}, b) = {2, 3} •  ({2}, a) = ∅  ({2}, b) = ∅ •  ({3}, a) = {1, 2}  ({3},b) = ∅ •  ({1, 2}, a) = ∅  ({1, 2}, b) = {2, 3} •  ({1, 3}, a) = {1, 2}  ({1, 3}, b) = {2, 3} •  ({2, 3}, a) = {1, 2}  ({2, 3}, b) = ∅ •  ({1, 2, 3}, a) = {1, 2}  ({1, 2, 3}, b) = {2, 3} Limits of DFA & NDFA 3 b a 1 2 a b 23
  • 24. NDFA  DFA Limits of DFA & NDFA {3} b {∅} a b {2,3} {1,3} {1,2,3} {2} {1, 2} {1} a a a a a a b b b b b a b  If we eliminate the states which can not be achieved, we obtain the following DFA {∅} {2,3} {1, 2} {1} a a a b b b a b  It is easier to see that the language the automaton accepts is L(M)={b (a b)n / n ∈ N } 24
  • 25. Conclusion Limits of DFA & NDFA 25  Finite automaton can recognize in a program key words, identifiers and numbers, but not arithmetic expressions parentheses and Begin-End blocks. In the next chapters we will define more powerful machines to recognize a wider range of languages.