Regular language and Regular expression

AnimeshChaturvedi 5,849 views 41 slides Feb 21, 2017
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

A Tutorial
By
Animesh Chaturvedi


Slide Content

Automata Theory and Logic
Regular Language & Regular Expression
A TUTORIAL
BY
ANIMESH CHATURVEDI
AT
INDIAN INSTITUTE OF TECHNOLOGY INDORE (IIT -I)

DFA, NFA, Regular Expression (RegEx)
and Regular Language (RegLang)
A DFA represent a Regular Expression language

RegularExpressionRegular Language
(0 + 10

)
(0

10

)
(0 + ε)(1 + ε)
(a + b)*
(a + b)* abb
(11)*
(aa)*(bb)*b
(aa + ab + ba+bb)*
Language of given Regular Expression?
https://www.tutorialspoint.com/automata_theory/regular_expressions.htm

RegularExpressionRegular 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)*
Language of given Regular Expression?
https://www.tutorialspoint.com/automata_theory/regular_expressions.htm

RegularExpressionRegular 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)*
Language of given Regular Expression?
https://www.tutorialspoint.com/automata_theory/regular_expressions.htm

RegularExpressionRegular 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, baand bb including null, so L = {aa, ab, ba, bb, aaab, aaba, ………..}
Language of given Regular Expression?
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 = {a
nk
| 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 = {a
nk
| k > 0, and n is a positive integer constant}
What is the minimum number of states needed in a DFA to recognize L?
n+1states 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 SlindNotes 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 SlindNotes 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 SlindNotes 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 SlindNotes 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
n
| ∃k. n = 3k + 1}
Konrad SlindNotes 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
n
| ∃k. n = 3k + 1}
Konrad SlindNotes 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
n
| ∃k. n = 3k + 1}
Konrad SlindNotes 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 acceptL(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 theDFA & Regularexpression?
30Lexical Analysis by Prof. O. Nierstrasz
Example:the set of strings containing an even number of zeros and an even number of ones

What is theDFA & Regularexpression?
31Lexical Analysis by Prof. O. Nierstrasz
Example:the set of strings containing an even number of zeros and an even number of ones

What is the DFA & Regular expression?
32Lexical Analysis by Prof. O. Nierstrasz
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)*)*

Draw NFA for givenregularexpressions
33Lexical Analysis by Prof. O. Nierstrasz
For the RE (a|b)*abb?

Draw NFA for given regular expressions
34Lexical Analysis by Prof. O. Nierstrasz
For the RE (a|b)*abb?

Draw NFA for given regular expressions
35
For the RE (a|b)*abb?
State s
0has multiple transitions on a! It is a non-deterministicfiniteautomaton
Lexical Analysis by Prof. O. Nierstrasz

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
Steven Rudich: www.cs.cmu.edu/~rudich rudich0123456789

37
q q
00
1 0
1
q
0 q
001
0
0 1
0,1
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

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
q
0
q
1
0
0
1
1
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

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 Toidahttp://www.cs.odu.edu/~toida/nerzic/390teched/regular/fa/nfa-2-dfa.html
Konrad SlindNotes on Computation Theory, September 21, 2010
Lexical Analysis by Prof. O. Nierstrasz
GATE (Graduate Aptitude Test of Engineering) jointly conducted by IIT’s