SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Resolution method in AI.pptx
Resolution method in AI.pptxResolution method in AI.pptx
Resolution method in AI.pptxAbdullah251975
 
Critical section problem in operating system.
Critical section problem in operating system.Critical section problem in operating system.
Critical section problem in operating system.MOHIT DADU
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardAnimesh Chaturvedi
 
0 1 knapsack using branch and bound
0 1 knapsack using branch and bound0 1 knapsack using branch and bound
0 1 knapsack using branch and boundAbhishek Singh
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)Naman Joshi
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Abhimanyu Mishra
 
Critical Section in Operating System
Critical Section in Operating SystemCritical Section in Operating System
Critical Section in Operating SystemMOHIT AGARWAL
 
2-Approximation Vertex Cover
2-Approximation Vertex Cover2-Approximation Vertex Cover
2-Approximation Vertex CoverKowshik Roy
 
NP Complete Problems
NP Complete ProblemsNP Complete Problems
NP Complete ProblemsNikhil Joshi
 
System call (Fork +Exec)
System call (Fork +Exec)System call (Fork +Exec)
System call (Fork +Exec)Amit Ghosh
 
Find Transitive closure of a Graph Using Warshall's Algorithm
Find Transitive closure of a Graph Using Warshall's AlgorithmFind Transitive closure of a Graph Using Warshall's Algorithm
Find Transitive closure of a Graph Using Warshall's AlgorithmSafayet Hossain
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cyclevarun arora
 
Travelling Salesman
Travelling SalesmanTravelling Salesman
Travelling SalesmanShuvojit Kar
 
Pumping lemma for regular language
Pumping lemma for regular languagePumping lemma for regular language
Pumping lemma for regular languagesadique_ghitm
 

Was ist angesagt? (20)

Resolution method in AI.pptx
Resolution method in AI.pptxResolution method in AI.pptx
Resolution method in AI.pptx
 
N queen problem
N queen problemN queen problem
N queen problem
 
Critical section problem in operating system.
Critical section problem in operating system.Critical section problem in operating system.
Critical section problem in operating system.
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
Pumping lemma (1)
Pumping lemma (1)Pumping lemma (1)
Pumping lemma (1)
 
0 1 knapsack using branch and bound
0 1 knapsack using branch and bound0 1 knapsack using branch and bound
0 1 knapsack using branch and bound
 
Finite automata(For college Seminars)
Finite automata(For college Seminars)Finite automata(For college Seminars)
Finite automata(For college Seminars)
 
Time and Space Complexity
Time and Space ComplexityTime and Space Complexity
Time and Space Complexity
 
Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4Theory of automata and formal languages Unit 4
Theory of automata and formal languages Unit 4
 
Critical Section in Operating System
Critical Section in Operating SystemCritical Section in Operating System
Critical Section in Operating System
 
Deadlock in database
Deadlock in databaseDeadlock in database
Deadlock in database
 
2-Approximation Vertex Cover
2-Approximation Vertex Cover2-Approximation Vertex Cover
2-Approximation Vertex Cover
 
NP Complete Problems
NP Complete ProblemsNP Complete Problems
NP Complete Problems
 
Quick sort
Quick sortQuick sort
Quick sort
 
System call (Fork +Exec)
System call (Fork +Exec)System call (Fork +Exec)
System call (Fork +Exec)
 
Find Transitive closure of a Graph Using Warshall's Algorithm
Find Transitive closure of a Graph Using Warshall's AlgorithmFind Transitive closure of a Graph Using Warshall's Algorithm
Find Transitive closure of a Graph Using Warshall's Algorithm
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
 
Travelling Salesman
Travelling SalesmanTravelling Salesman
Travelling Salesman
 
Automata theory -RE to NFA-ε
Automata theory -RE to  NFA-εAutomata theory -RE to  NFA-ε
Automata theory -RE to NFA-ε
 
Pumping lemma for regular language
Pumping lemma for regular languagePumping lemma for regular language
Pumping lemma for regular language
 

Ähnlich wie 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
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computationBipul Roy Bpl
 
Mod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxMod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxRaviAr5
 

Ähnlich wie 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
 
Regular expressions-Theory of computation
Regular expressions-Theory of computationRegular expressions-Theory of computation
Regular expressions-Theory of computation
 
Mod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptxMod 2_RegularExpressions.pptx
Mod 2_RegularExpressions.pptx
 
automata problems
automata problemsautomata problems
automata problems
 

Kürzlich hochgeladen

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxannathomasp01
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 

Kürzlich hochgeladen (20)

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

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...