0% found this document useful (0 votes)
172 views41 pages

Automata Theory and Logic: Regular Language & Regular Expression

Yes, the language L = {w | w has an even number of 1s} is regular. We can construct a deterministic finite automaton (DFA) that recognizes this language as follows: The DFA will have two states: q0 (even) and q1 (odd). It starts in state q0. On input 0, it remains in the same state. On input 1, it changes state - from q0 to q1 or from q1 to q0. It accepts if it is in state q0 after reading the entire input. This DFA precisely tracks whether the number of 1s seen so far is even or odd, and accepts if the final count is even. Since this

Uploaded by

log
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
172 views41 pages

Automata Theory and Logic: Regular Language & Regular Expression

Yes, the language L = {w | w has an even number of 1s} is regular. We can construct a deterministic finite automaton (DFA) that recognizes this language as follows: The DFA will have two states: q0 (even) and q1 (odd). It starts in state q0. On input 0, it remains in the same state. On input 1, it changes state - from q0 to q1 or from q1 to q0. It accepts if it is in state q0 after reading the entire input. This DFA precisely tracks whether the number of 1s seen so far is even or odd, and accepts if the final count is even. Since this

Uploaded by

log
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Automata Theory and Logic

Regular Language & Regular Expression

A T U TO R IAL
BY
A N I M ESH CHAT U RVEDI
AT
I N DI A N I N STITU TE OF T ECHN OLOGY I N DOR E ( I I T - I)
DFA, NFA, Regular Expression (RegEx)
and Regular Language (RegLang)
A DFA represent a Regular Expression language
Language of given Regular Expression?
Regular Expression Regular Language
(0 + 10∗)
(0∗ 10∗)
(0 + ε)(1 + ε)
(a + b)*

(a + b)* abb

(11)*

(aa)*(bb)*b

(aa + ab + ba +bb)*

https://www.tutorialspoint.com/automata_theory/regular_expressions.htm
Language of given Regular Expression?
Regular Expression Regular Language
(0 + 10∗) L = { 0, 1, 10, 100, 1000, 10000, … }
(0∗ 10∗) L = {1, 01, 10, 010, 0010, …}
(0 + ε)(1 + ε) L = {ε, 0, 1, 01}
(a + b)*

(a + b)* abb

(11)*

(aa)*(bb)*b

(aa + ab + ba +bb)*

https://www.tutorialspoint.com/automata_theory/regular_expressions.htm
Language of given Regular Expression?
Regular Expression Regular Language
(0 + 10∗) L = { 0, 1, 10, 100, 1000, 10000, … }
(0∗ 10∗) L = {1, 01, 10, 010, 0010, …}
(0 + ε)(1 + ε) L = {ε, 0, 1, 01}
(a + b)* Set of strings of a’s and b’s of any length including the null string. So L = { ε, a, b,
aa , ab , bb , ba, aaa…….}
(a + b)* abb Set of strings of a’s and b’s ending with the string abb. So L = {abb, aabb, babb,
aaabb, ababb, …………..}
(11)*

(aa)*(bb)*b

(aa + ab + ba +bb)*

https://www.tutorialspoint.com/automata_theory/regular_expressions.htm
Language of given Regular Expression?
Regular Expression Regular Language
(0 + 10∗) L = { 0, 1, 10, 100, 1000, 10000, … }
(0∗ 10∗) L = {1, 01, 10, 010, 0010, …}
(0 + ε)(1 + ε) L = {ε, 0, 1, 01}
(a + b)* Set of strings of a’s and b’s of any length including the null string. So L = { ε, a, b,
aa , ab , bb , ba, aaa…….}
(a + b)* abb Set of strings of a’s and b’s ending with the string abb. So L = {abb, aabb, babb,
aaabb, ababb, …………..}
(11)* Set consisting of even number of 1’s including empty string, So L= {ε, 11, 1111,
111111, ……….}
(aa)*(bb)*b Set of strings consisting of even number of a’s followed by odd number of b’s , so L = {b, aab, aabbb, aabbbbb, aaaab,
aaaabbb, …………..}
(aa + ab + ba +bb)* String of a’s and b’s of even length can be obtained by concatenating any
combination of the strings aa, ab, ba and bb including null, so L = {aa, ab, ba, bb, aaab, aaba, ………..}

https://www.tutorialspoint.com/automata_theory/regular_expressions.htm
Number of states for a given language
Definition of a language L with alphabet {a} is given as following
L = {ank | k > 0, and n is a positive integer constant}
What is the minimum number of states needed in a DFA to recognize L?

Computer Science GATE 2011


Number of states for a given language
Definition of a language L with alphabet {a} is given as following
L = {ank | k > 0, and n is a positive integer constant}
What is the minimum number of states needed in a DFA to recognize L?

n+1 states are needed in a DFA to recognize L

Let n = 3 and k=1


3+1 = 4 states

Computer Science GATE 2011


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0, 1} ∪ {x ∈ {0, 1}∗ | len(x) ≥ 3}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0, 1} ∪ {x ∈ {0, 1}∗ | len(x) ≥ 3}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0, 1} ∪ {x ∈ {0, 1}∗ | len(x) ≥ 3}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0, 1} ∪ {x ∈ {0, 1}∗ | len(x) ≥ 3}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0n | ∃k. n = 3k + 1}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0n | ∃k. n = 3k + 1}

Konrad Slind Notes on Computation Theory, September 21, 2010


Minimal DFA for a given language
Draw a minimal DFA which accepts the same language as a DFA with alphabet ∑ = {0, 1} is given
below {0n | ∃k. n = 3k + 1}

Konrad Slind Notes on Computation Theory, September 21, 2010


Convert NFA to DFA for a given RegEx
Construct DFA to accept 00(0+1)*

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegEx
Construct DFA to accept 00(0+1)*

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegEx
Construct DFA to accept (0+1)*11

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegEx
Construct DFA to accept (0+1)*11

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegEx
Construct DFA to accept 00(0+1)*11

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegEx
Construct DFA to accept 00(0+1)*11

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=ε

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=ε

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=Ǿ

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=Ǿ

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=(0+1)*

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Convert NFA to DFA for a given RegLang
Construct DFA to accept L(M)=(0+1)*

Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt


Regular Expression
What is the language accepted by the NFA for one literal {a} show below?
Assume ε is the empty string

Computer Science GATE 2012


Regular Expression
What is the language accepted by the NFA for one literal {a} show below?
Assume ε is the empty string

Language accepted by NFA is a+, so complement of this language is {є}

Computer Science GATE 2012


What is the DFA & Regular expression?
Example: the set of strings containing an even number of zeros and an even number of ones

Lexical Analysis by Prof. O. Nierstrasz 30


What is the DFA & Regular expression?
Example: the set of strings containing an even number of zeros and an even number of ones

Lexical Analysis by Prof. O. Nierstrasz 31


What is the DFA & Regular expression?
Example: the set of strings containing an even number of zeros and an even number of ones

The RE is (0011)*((0110)(0011)*(0110)(0011)*)*

Lexical Analysis by Prof. O. Nierstrasz 32


Draw NFA for given regular expressions
For the RE (a|b)*abb ?

Lexical Analysis by Prof. O. Nierstrasz 33


Draw NFA for given regular expressions
For the RE (a|b)*abb ?

Lexical Analysis by Prof. O. Nierstrasz 34


Draw NFA for given regular expressions
For the RE (a|b)*abb ?

State s0 has multiple transitions on a! It is a non-deterministic finite automaton

Lexical Analysis by Prof. O. Nierstrasz 35


A language is regular if it is recognized by
a deterministic finite automaton
Whether L = { w | w contains 001} is regular or not?
Check it by building an automaton accepts all and only those strings that contain 001

Steven Rudich: www.cs.cmu.edu/~rudich rudich0123456789 36


A language is regular if it is recognized by
a deterministic finite automaton
Whether L = { w | w contains 001} is regular or not?
Check it by building an automaton accepts all and only those strings that contain 001

1 0,1
0

0 0 1
q q0 q00 q001
1

Steven Rudich: www.cs.cmu.edu/~rudich rudich0123456789 37


A language is regular if it is recognized by
a deterministic finite automaton
Whether L = { w | w has an even number of 1s} is regular or not?
Check it by building an automaton accepts all and only those strings that has an even number
of 1s

Steven Rudich: www.cs.cmu.edu/~rudich rudich0123456789


A language is regular if it is recognized by
a deterministic finite automaton
Whether L = { w | w has an even number of 1s} is regular or not?
Check it by building an automaton accepts all and only those strings that has an even number
of 1s

0 0
1
q0 q1
1

Steven Rudich: www.cs.cmu.edu/~rudich rudich0123456789


References
https://www.tutorialspoint.com/automata_theory/regular_expressions.htm
Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University
http://www.cs.tau.ac.il/~orilahav/CompModelFall10/Compute2-print.pdf
Slide by: Dr. Harry H. Porter http://web.cecs.pdx.edu/~harry/compilers/slides/LexicalPart3.pdf
Slide by Dr. Ding-Zhu Du http://www.utdallas.edu/~dzdu/cs4384/lect7.ppt
Prof. Shunichi Toida http://www.cs.odu.edu/~toida/nerzic/390teched/regular/fa/nfa-2-dfa.html
Konrad Slind Notes on Computation Theory, September 21, 2010
Lexical Analysis by Prof. O. Nierstrasz
GATE (Graduate Aptitude Test of Engineering) jointly conducted by IIT’s

You might also like