SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Theory of Computation
By Rushabh Wadkar
Topics to be covered
Regular expressions & Regular
Languages relationship
Reduction of states
Pumping Lemma
Day 5
Regular languages
● Any language that can be depicted(expressed) using a Finite State
machine is called a Regular language.
● A FSM can’t store any input variable, nor can it count.
● Hence any language that requires memory is not a regular language
Regular languages
Let us revise some examples:
● L= { 0n
1m
: m>=0,n>=1}
Regular languages
Let us revise some examples:
● L= { 0101n
U 0100 : n>=0}
Regular languages
Let us revise some examples:
● L= {an
U bn
U cn
: n>=0}
Regular languages and Regular Expressions
● A regular language can be described using regular expressions
consisting of the symbols such as alphabets in Σ.
● Additionally consisting of operators like ‘.’ | ‘+’ | ‘*’
● The symbols ‘(’ and ‘)’ can be used with regular expressions.
Regular languages and Regular Expressions
● + operator(union), has the least precedence.
● . operator(concatenation) has mid precedence.
● * operator(closure) has highest precedence.
However the expression enveloped by parentheses
obtains the highest precedence.
Let us try to understand the precedence of these operators:
Regular languages and Regular Expressions
A regular expression is recursively defined as follows:
1. Φ is a regular expression denoting an empty language.
2. ε-(epsilon) is a regular expression indicates the language containing an empty string.
3. a is a regular expression which indicates the language containing only {a}
4. If R is a regular expression denoting the language LR and S is a regular expression denoting
the language Ls, then
a. R+S is a regular expression corresponding to the language LR
U LS
.
b. R.S is a regular expression corresponding to the languageLR
. LS
.
c. R* is a regular expression corresponding to the language LR
.
5. The expressions obtained by applying any of the rules from 1 to 4 are regular expressions.
Regular languages and Regular Expressions
a* String consisting of any number of a’s(0 or more)
a
+ String consisting of at least of a’s
a+b String consisting of either one a or one b
(a+b)* Set of strings of a’s and b’s of any length(NULL included)
(a+b)*abb Set of strings of a’s and b’s, ending with abb
ab(a+b)* Set of strings of a’s and b’s, starting with ab
Regular languages and Regular Expressions
(a+b)*aa(a+b)* Set of strings of a’s and b’s, having substring aa
a*b*c* String consisting of any number of a’s(0 or more) followed by any
number of b’s(0 or more) followed by any number of c’s(0 or more)
a
+
b
+
c
+ String consisting of at least 1 a, followed by string having at least 1
b, followed by string having at least 1 c
aa*bb*cc* String consisting of at least 1 a, followed by string having at least 1
b, followed by string having at least 1 c
(a+b)*(a+bb) Set of strings of a’s and b’s ending with either a or bb
(aa)*(bb)*b Set of strings of even number of a’s followed by odd number of b’s
Regular languages and Regular Expressions
Regular Expression Problems
Q. Obtain a regular expression having a’s and b’s having length 2.
Strings of a’s and b’s having length 2: aa, bb, ab, ba
RE is: (aa+bb+ab+ba)
Regular Expression Problems
Q. Obtain a regular expression having a’s and b’s having length <=2.
Strings of a’s and b’s having length <=2:
ε + a + b + aa + bb + ab + ba
This can be written as: (ε + a + b)(ε + a + b)
RE is: (ε + a + b)2
Regular Expression Problems
Q. Obtain a regular expression having a’s and b’s having length <=10.
From the logic of the previous problem
RE is: (ε + a + b)10
Regular Expression Problems
Q. Obtain a regular expression having a’s and b’s having even length.
To obtain this we will use strings aa,bb,ab,ba zero
or more times.
RE is: (aa+bb+ab+ba)*
This can also be written as:
RE is: ((a+b)(a+b))*
Regular Expression Problems
Q. Obtain a regular expression having a’s and b’s having odd length.
From the previous example we know that the RE
for even length is ((a+b)(a+b))*
To this we just need to add 1 more symbol.
Hence,
RE is: (a+b)((a+b)(a+b))*
Regular Expression Problems
Q. Obtain a regular expression having alternate a’s and b’s.
To get alternate a’s and b’s we can use multiple
concatenations of ‘ab’ or ‘ba’.
Additionally to take care of the starting and ending
variable to be either a or b, we add (ε+a) and (ε+b)
In appropriate places.
RE is: (ε+b)(ab)*(ε+a)
To obtain a FA from a RE
We have seen examples of obtaining finite automata from a regular
expression. Now let us see this conversion from the other end.
Here we have the schematic
Representation of a Finite Automata(M)
accepting a regular Expression(R).
Where q is the initial and
f is the final state.
To obtain a FA from a RE
Let’s see the various cases for conversion.
To obtain a FA from a RE
Let’s see the various cases for conversion.
To obtain a FA from a RE
Let’s see the various cases for conversion.
Case 3: R=(R1
)* we can construct a NFA that accepts L((R1
)*) as shown in fig 2.6
To obtain a FA from a RE
Obtain an FSM for RE: a* + b* + c*
To obtain a FA from a RE
Adding the three graphs obtained for a*, b*, c*
To obtain a FA from a RE
Obtain a FSM for (a+b)*aa(a+b)*
To obtain a FA from a RE
We obtain FA for ‘aa’, and concatenate with (a+b)*
To obtain a FA from a RE
Finally obtained FSM is:
Pumping Lemma and Regular Languages
Pumping Lemma for Regular Languages
For any regular language L, there exists an integer n, such that for all
x ∈ L with |x| ≥ n, there exists u, v, w ∈ Σ*, such that x = uvw, and
(1) |uv| ≤ n
(2) |v| ≥ 1
(3) for all i ≥ 0: u vi
w ∈ L
Pumping Lemma and Regular Languages
Show that L = {w.wR
| w ∈(0,1)*} is not regular
Pumping Lemma and Regular Languages
Show that L = {ai
bj
| i>j } is not regular
Minimization of DFA
Suppose there is a DFA D = { Q, Σ, q0
, δ, F } which recognizes a language L.
Then the minimized DFA D’ = { Q’, Σ, q0
, δ’, F’ } can be constructed for language L as:
Step 1: We will divide Q (set of states) into two sets. One set will contain all final states and other set
will contain non-final states. This partition is called P0
.
Step 2: Initialize k = 1
Step 3: Find Pk
by partitioning the different sets of Pk-1
. In each set of Pk-1
, we will take all possible
pair of states. If two states of a set are distinguishable, we will split the sets into different sets in Pk
.
Step 4: Stop when Pk
= Pk-1
(No change in partition)
Step 5: All states of one set are merged into one. No. of states in minimized DFA will be equal to no.
of sets in Pk
.
Minimization of DFA
Step 1: P0
will have two sets of states.
One set will contain q1, q2, q4 which are
final states of DFA and another set will
contain remaining states.
So P0
= { { q1, q2, q4 }, { q0, q3, q5 } }.
Step 2. To calculate P1, we will check
whether sets of partition P0 can be partitioned or not:
i) For set { q1, q2, q4 } :
δ ( q1, 0 ) = δ ( q2, 0 ) = q2 and
δ ( q1, 1 ) = δ ( q2, 1 ) = q5.
So q1 and q2 are not distinguishable.
Similarly, δ ( q1, 0 ) = δ ( q4, 0 ) = q2 and
δ ( q1, 1 ) = δ ( q4, 1 ) = q5.
So q1 and q4 are not distinguishable.
Minimization of DFA
ii) For set { q0, q3, q5 } :
δ ( q0, 0 ) = q3 and δ ( q3, 0 ) = q0
δ ( q0, 1) = q1 and δ( q3, 1 ) = q4
So, q0 and q3 are not distinguishable.
δ ( q0, 0 ) = q3 and δ ( q5, 0 ) = q5 and
δ ( q0, 1 ) = q1 and δ ( q5, 1 ) = q5
Moves of q0 and q5 on input symbol 1 are q3 and q5
respectively which are in different set in partition P0. So, q0 and
q5 are distinguishable. So, set { q0, q3, q5 } will be partitioned
into { q0, q3 } and { q5 }. So,
P1 = { { q1, q2, q4 }, { q0, q3}, { q5 } }
Minimization of DFA
To calculate P2, we will check whether
sets of partition P1 can be partitioned or not:
iii)For set { q1, q2, q4 } :
δ ( q1, 0 ) = δ ( q2, 0 ) = q2 and
δ ( q1, 1 ) = δ ( q2, 1 ) = q5.
So q1 and q2 are not distinguishable.
Similarly, δ ( q1, 0 ) = δ ( q4, 0 ) = q2 and
δ ( q1, 1 ) = δ ( q4, 1 ) = q5.
So q1 and q4 are not distinguishable.
So, { q1, q2, q4 } set will not be partitioned in P2.
Minimization of DFA
iv)For set { q0, q3 } :
δ ( q0, 0 ) = q3 and δ ( q3, 0 ) = q0
δ ( q0, 1 ) = q1 and δ ( q3, 1 ) = q4
Moves of q0 and q3 on input symbol 0 are
q3 and q0 respectively which are in same set in
partition P1. Similarly, Moves of q0 and q3 on input
symbol 1 are q3 and q0 which are in same set in
partition P1. So, q0 and q3 are not distinguishable.
Minimization of DFA
v) For set { q5 }:
Since we have only one state in this set, it can’t be
further partitioned. So,
P2 = { { q1, q2, q4 }, { q0, q3 }, { q5 } }
Since, P1=P2. So, this is the final partition.
Partition P2 means that q1, q2 and q4 states are
merged into one. Similarly, q0 and q3 are merged into one.
End of Day 5
Thank you...
Pumping lemma
Extra Slides
Theory of Computation Regular Expressions, Minimisation & Pumping Lemma
Theory of Computation Regular Expressions, Minimisation & Pumping Lemma
Theory of Computation Regular Expressions, Minimisation & Pumping Lemma

Mais conteúdo relacionado

Mais procurados

Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplicationRespa Peter
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computationBipul Roy Bpl
 
NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automatadeepinderbedi
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16Kumar
 
5.3 dynamic programming
5.3 dynamic programming5.3 dynamic programming
5.3 dynamic programmingKrish_ver2
 
Regular Expression to Finite Automata
Regular Expression to Finite AutomataRegular Expression to Finite Automata
Regular Expression to Finite AutomataArchana Gopinath
 
Intermediate code generation1
Intermediate code generation1Intermediate code generation1
Intermediate code generation1Shashwat Shriparv
 
Chomsky classification of Language
Chomsky classification of LanguageChomsky classification of Language
Chomsky classification of LanguageDipankar Boruah
 
Intermediate code generation
Intermediate code generationIntermediate code generation
Intermediate code generationRamchandraRegmi
 
Three Address code
Three Address code Three Address code
Three Address code Pooja Dixit
 
Optimal binary search tree
Optimal binary search treeOptimal binary search tree
Optimal binary search treeKavya P
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplicationKiran K
 
Syntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address CodeSyntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address Codesanchi29
 

Mais procurados (20)

Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplication
 
Finite Automata
Finite AutomataFinite Automata
Finite Automata
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computation
 
NFA or Non deterministic finite automata
NFA or Non deterministic finite automataNFA or Non deterministic finite automata
NFA or Non deterministic finite automata
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
 
Optimal binary search tree dynamic programming
Optimal binary search tree   dynamic programmingOptimal binary search tree   dynamic programming
Optimal binary search tree dynamic programming
 
5.3 dynamic programming
5.3 dynamic programming5.3 dynamic programming
5.3 dynamic programming
 
Dynamic pgmming
Dynamic pgmmingDynamic pgmming
Dynamic pgmming
 
NFA to DFA
NFA to DFANFA to DFA
NFA to DFA
 
Regular Expression to Finite Automata
Regular Expression to Finite AutomataRegular Expression to Finite Automata
Regular Expression to Finite Automata
 
Theory of Computation Unit 5
Theory of Computation Unit 5Theory of Computation Unit 5
Theory of Computation Unit 5
 
Raster Scan display
Raster Scan displayRaster Scan display
Raster Scan display
 
Intermediate code generation1
Intermediate code generation1Intermediate code generation1
Intermediate code generation1
 
Chomsky classification of Language
Chomsky classification of LanguageChomsky classification of Language
Chomsky classification of Language
 
Intermediate code generation
Intermediate code generationIntermediate code generation
Intermediate code generation
 
Three Address code
Three Address code Three Address code
Three Address code
 
Optimal binary search tree
Optimal binary search treeOptimal binary search tree
Optimal binary search tree
 
Shift reduce parser
Shift reduce parserShift reduce parser
Shift reduce parser
 
Matrix chain multiplication
Matrix chain multiplicationMatrix chain multiplication
Matrix chain multiplication
 
Syntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address CodeSyntax-Directed Translation into Three Address Code
Syntax-Directed Translation into Three Address Code
 

Semelhante a Theory of Computation Regular Expressions, Minimisation & Pumping Lemma

Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Srimatre K
 
Regular expression with DFA
Regular expression with DFARegular expression with DFA
Regular expression with DFAMaulik Togadiya
 
Chapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdfChapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdfdawod yimer
 
Theory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsTheory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsRushabh2428
 
Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Srimatre K
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languagesparmeet834
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examplesankitamakin
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsRushabh2428
 
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...parmeet834
 
Mod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxMod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxRaviAr5
 

Semelhante a Theory of Computation Regular Expressions, Minimisation & Pumping Lemma (20)

UNIT_-_II.docx
UNIT_-_II.docxUNIT_-_II.docx
UNIT_-_II.docx
 
Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1Formal Languages and Automata Theory Unit 1
Formal Languages and Automata Theory Unit 1
 
Regular expression with DFA
Regular expression with DFARegular expression with DFA
Regular expression with DFA
 
Chapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdfChapter 3 REGULAR EXPRESSION.pdf
Chapter 3 REGULAR EXPRESSION.pdf
 
Lec1.pptx
Lec1.pptxLec1.pptx
Lec1.pptx
 
Theory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite AcceptorsTheory of Computation Basics of Finite Acceptors
Theory of Computation Basics of Finite Acceptors
 
Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2Formal Languages and Automata Theory unit 2
Formal Languages and Automata Theory unit 2
 
Lex analysis
Lex analysisLex analysis
Lex analysis
 
Flat unit 2
Flat unit 2Flat unit 2
Flat unit 2
 
Regular Languages
Regular LanguagesRegular Languages
Regular Languages
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Finite automata examples
Finite automata examplesFinite automata examples
Finite automata examples
 
Automata theory
Automata theoryAutomata theory
Automata theory
 
Theory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and ProblemsTheory of Computation FSM Conversions and Problems
Theory of Computation FSM Conversions and Problems
 
Unit2 Toc.pptx
Unit2 Toc.pptxUnit2 Toc.pptx
Unit2 Toc.pptx
 
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
CS 162 Fall 2015 Homework 1 Problems September 29, 2015 Timothy Johnson 1. Ex...
 
Hwsoln03 toc
Hwsoln03 tocHwsoln03 toc
Hwsoln03 toc
 
Mod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxMod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptx
 
automata problems
automata problemsautomata problems
automata problems
 
FLAT.pdf
FLAT.pdfFLAT.pdf
FLAT.pdf
 

Último

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 

Último (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Theory of Computation Regular Expressions, Minimisation & Pumping Lemma

  • 1. Theory of Computation By Rushabh Wadkar
  • 2. Topics to be covered Regular expressions & Regular Languages relationship Reduction of states Pumping Lemma Day 5
  • 3. Regular languages ● Any language that can be depicted(expressed) using a Finite State machine is called a Regular language. ● A FSM can’t store any input variable, nor can it count. ● Hence any language that requires memory is not a regular language
  • 4. Regular languages Let us revise some examples: ● L= { 0n 1m : m>=0,n>=1}
  • 5. Regular languages Let us revise some examples: ● L= { 0101n U 0100 : n>=0}
  • 6. Regular languages Let us revise some examples: ● L= {an U bn U cn : n>=0}
  • 7. Regular languages and Regular Expressions ● A regular language can be described using regular expressions consisting of the symbols such as alphabets in Σ. ● Additionally consisting of operators like ‘.’ | ‘+’ | ‘*’ ● The symbols ‘(’ and ‘)’ can be used with regular expressions.
  • 8. Regular languages and Regular Expressions ● + operator(union), has the least precedence. ● . operator(concatenation) has mid precedence. ● * operator(closure) has highest precedence. However the expression enveloped by parentheses obtains the highest precedence. Let us try to understand the precedence of these operators:
  • 9. Regular languages and Regular Expressions A regular expression is recursively defined as follows: 1. Φ is a regular expression denoting an empty language. 2. ε-(epsilon) is a regular expression indicates the language containing an empty string. 3. a is a regular expression which indicates the language containing only {a} 4. If R is a regular expression denoting the language LR and S is a regular expression denoting the language Ls, then a. R+S is a regular expression corresponding to the language LR U LS . b. R.S is a regular expression corresponding to the languageLR . LS . c. R* is a regular expression corresponding to the language LR . 5. The expressions obtained by applying any of the rules from 1 to 4 are regular expressions.
  • 10. Regular languages and Regular Expressions a* String consisting of any number of a’s(0 or more) a + String consisting of at least of a’s a+b String consisting of either one a or one b (a+b)* Set of strings of a’s and b’s of any length(NULL included) (a+b)*abb Set of strings of a’s and b’s, ending with abb ab(a+b)* Set of strings of a’s and b’s, starting with ab
  • 11. Regular languages and Regular Expressions (a+b)*aa(a+b)* Set of strings of a’s and b’s, having substring aa a*b*c* String consisting of any number of a’s(0 or more) followed by any number of b’s(0 or more) followed by any number of c’s(0 or more) a + b + c + String consisting of at least 1 a, followed by string having at least 1 b, followed by string having at least 1 c aa*bb*cc* String consisting of at least 1 a, followed by string having at least 1 b, followed by string having at least 1 c (a+b)*(a+bb) Set of strings of a’s and b’s ending with either a or bb (aa)*(bb)*b Set of strings of even number of a’s followed by odd number of b’s
  • 12. Regular languages and Regular Expressions
  • 13. Regular Expression Problems Q. Obtain a regular expression having a’s and b’s having length 2. Strings of a’s and b’s having length 2: aa, bb, ab, ba RE is: (aa+bb+ab+ba)
  • 14. Regular Expression Problems Q. Obtain a regular expression having a’s and b’s having length <=2. Strings of a’s and b’s having length <=2: ε + a + b + aa + bb + ab + ba This can be written as: (ε + a + b)(ε + a + b) RE is: (ε + a + b)2
  • 15. Regular Expression Problems Q. Obtain a regular expression having a’s and b’s having length <=10. From the logic of the previous problem RE is: (ε + a + b)10
  • 16. Regular Expression Problems Q. Obtain a regular expression having a’s and b’s having even length. To obtain this we will use strings aa,bb,ab,ba zero or more times. RE is: (aa+bb+ab+ba)* This can also be written as: RE is: ((a+b)(a+b))*
  • 17. Regular Expression Problems Q. Obtain a regular expression having a’s and b’s having odd length. From the previous example we know that the RE for even length is ((a+b)(a+b))* To this we just need to add 1 more symbol. Hence, RE is: (a+b)((a+b)(a+b))*
  • 18. Regular Expression Problems Q. Obtain a regular expression having alternate a’s and b’s. To get alternate a’s and b’s we can use multiple concatenations of ‘ab’ or ‘ba’. Additionally to take care of the starting and ending variable to be either a or b, we add (ε+a) and (ε+b) In appropriate places. RE is: (ε+b)(ab)*(ε+a)
  • 19. To obtain a FA from a RE We have seen examples of obtaining finite automata from a regular expression. Now let us see this conversion from the other end. Here we have the schematic Representation of a Finite Automata(M) accepting a regular Expression(R). Where q is the initial and f is the final state.
  • 20. To obtain a FA from a RE Let’s see the various cases for conversion.
  • 21. To obtain a FA from a RE Let’s see the various cases for conversion.
  • 22. To obtain a FA from a RE Let’s see the various cases for conversion. Case 3: R=(R1 )* we can construct a NFA that accepts L((R1 )*) as shown in fig 2.6
  • 23. To obtain a FA from a RE Obtain an FSM for RE: a* + b* + c*
  • 24. To obtain a FA from a RE Adding the three graphs obtained for a*, b*, c*
  • 25. To obtain a FA from a RE Obtain a FSM for (a+b)*aa(a+b)*
  • 26. To obtain a FA from a RE We obtain FA for ‘aa’, and concatenate with (a+b)*
  • 27. To obtain a FA from a RE Finally obtained FSM is:
  • 28. Pumping Lemma and Regular Languages Pumping Lemma for Regular Languages For any regular language L, there exists an integer n, such that for all x ∈ L with |x| ≥ n, there exists u, v, w ∈ Σ*, such that x = uvw, and (1) |uv| ≤ n (2) |v| ≥ 1 (3) for all i ≥ 0: u vi w ∈ L
  • 29. Pumping Lemma and Regular Languages Show that L = {w.wR | w ∈(0,1)*} is not regular
  • 30. Pumping Lemma and Regular Languages Show that L = {ai bj | i>j } is not regular
  • 31. Minimization of DFA Suppose there is a DFA D = { Q, Σ, q0 , δ, F } which recognizes a language L. Then the minimized DFA D’ = { Q’, Σ, q0 , δ’, F’ } can be constructed for language L as: Step 1: We will divide Q (set of states) into two sets. One set will contain all final states and other set will contain non-final states. This partition is called P0 . Step 2: Initialize k = 1 Step 3: Find Pk by partitioning the different sets of Pk-1 . In each set of Pk-1 , we will take all possible pair of states. If two states of a set are distinguishable, we will split the sets into different sets in Pk . Step 4: Stop when Pk = Pk-1 (No change in partition) Step 5: All states of one set are merged into one. No. of states in minimized DFA will be equal to no. of sets in Pk .
  • 32. Minimization of DFA Step 1: P0 will have two sets of states. One set will contain q1, q2, q4 which are final states of DFA and another set will contain remaining states. So P0 = { { q1, q2, q4 }, { q0, q3, q5 } }. Step 2. To calculate P1, we will check whether sets of partition P0 can be partitioned or not: i) For set { q1, q2, q4 } : δ ( q1, 0 ) = δ ( q2, 0 ) = q2 and δ ( q1, 1 ) = δ ( q2, 1 ) = q5. So q1 and q2 are not distinguishable. Similarly, δ ( q1, 0 ) = δ ( q4, 0 ) = q2 and δ ( q1, 1 ) = δ ( q4, 1 ) = q5. So q1 and q4 are not distinguishable.
  • 33. Minimization of DFA ii) For set { q0, q3, q5 } : δ ( q0, 0 ) = q3 and δ ( q3, 0 ) = q0 δ ( q0, 1) = q1 and δ( q3, 1 ) = q4 So, q0 and q3 are not distinguishable. δ ( q0, 0 ) = q3 and δ ( q5, 0 ) = q5 and δ ( q0, 1 ) = q1 and δ ( q5, 1 ) = q5 Moves of q0 and q5 on input symbol 1 are q3 and q5 respectively which are in different set in partition P0. So, q0 and q5 are distinguishable. So, set { q0, q3, q5 } will be partitioned into { q0, q3 } and { q5 }. So, P1 = { { q1, q2, q4 }, { q0, q3}, { q5 } }
  • 34. Minimization of DFA To calculate P2, we will check whether sets of partition P1 can be partitioned or not: iii)For set { q1, q2, q4 } : δ ( q1, 0 ) = δ ( q2, 0 ) = q2 and δ ( q1, 1 ) = δ ( q2, 1 ) = q5. So q1 and q2 are not distinguishable. Similarly, δ ( q1, 0 ) = δ ( q4, 0 ) = q2 and δ ( q1, 1 ) = δ ( q4, 1 ) = q5. So q1 and q4 are not distinguishable. So, { q1, q2, q4 } set will not be partitioned in P2.
  • 35. Minimization of DFA iv)For set { q0, q3 } : δ ( q0, 0 ) = q3 and δ ( q3, 0 ) = q0 δ ( q0, 1 ) = q1 and δ ( q3, 1 ) = q4 Moves of q0 and q3 on input symbol 0 are q3 and q0 respectively which are in same set in partition P1. Similarly, Moves of q0 and q3 on input symbol 1 are q3 and q0 which are in same set in partition P1. So, q0 and q3 are not distinguishable.
  • 36. Minimization of DFA v) For set { q5 }: Since we have only one state in this set, it can’t be further partitioned. So, P2 = { { q1, q2, q4 }, { q0, q3 }, { q5 } } Since, P1=P2. So, this is the final partition. Partition P2 means that q1, q2 and q4 states are merged into one. Similarly, q0 and q3 are merged into one.
  • 37. End of Day 5 Thank you...