SlideShare a Scribd company logo
UNIT - II
1. REGULAR EXPRESSIONS
 Regular expressions are shorthand notations to describe a language. They are used in
many programming languages and language tools like lex, vi editor etc. They are used as
powerful tools in search engines.
 Regular expressions (RE) are useful for representing certain sets of strings in an
algebraic fashion. RE describes the language accepted by finite state automata.
Definition:
Let ∑ be a given alphabet. Then
(i)  ,,and ‘a’ ∑ are all Regular expressions. These are called ‘Primitive
Regular expressions’
(ii) If r1 and r2 are regular expressions, so are r1+ r2, r1r2, r1* and (r1).
(iii) A string is a Regular expression, if and only if it can be derived from the
primitive Regular expressions by a finite number of the rules in (ii).
1.1 Language Associated with Regular Expressions:
Regular expressions can be used to describe some simple languages. If r is a regular expression,
we will let L(r) denote the language associated with r The language is defined as follows.
Definition:
The language L(r) denoted by any regular expression r is Defined by following rules.
1)  is a regular expression denoting the empty set.
2)  is a regular expression denoting the set{}
3) For every a∑, ‘a’ is a regular expression denoting set set {a}.
If r1 and r2 are regular expressions, then
4) L(r1+r2)=L(r1) ∪ L(r2)
5) L(r1.r2)=L(r1)L(r2)
6) L(r1
*
)=(L(r1))*
Computer Science & Engineering Formal Languages and Automata Theory
2
Example:
Exhibit the language L (a*.(a+b)) In set notation
L(a*.(a+b))=L(a*)L(a+b)=(L(a*))(L(a) ∪ L(b))
={,a,aa,aaa,…..-,a,b-=,a,aa,aaa,…..,b,ab,aab,…-
1.2 Precedence of Regular Expression Operators
(1) Kleene closure has higher precedence than concatenation operator.
(2) Concatenation has higher precedence than union operator.
1.3 Equivalence of Regular expressions:
 Two regular expressions are said to be equivalent if they denote the same language
Example: Consider the following regular expressions
r1=(1*011*)*(0+)+1*(0+) and r2=(1+01)*(0+)
Both r1 and r2 represent the same language i.e. the language over the alphabet {0,1} with no
pair of consecutive zeros. So r1 and r2 are said to be equal.
1.4 Algebraic Laws For Regular Expressions:
Let r1, r2 and r3 be three regular expressions.
1. Commmmtative law for union:
 The commutative law for union, say that we take the union of two languages in either
order. i.e. r1+r2=r2+r1
2 Associative laws for union:
 The association law for union says that we may take the union of three languages either
by taking the union of the first two initially or taking the union of the last two initially.
(r1+r2)+r3= r1+( r2+r3)
3. Associative law for concatenation:
(r1r2) r3= r1 (r2r3)
4. Distributive laws for concatenation:
 Concatenation is left distributive over union
i.e. r1 (r2+r3) = r1r2+ r1r3
 concatenation is right distributive over union
i.e. (r1+r2) r3=r1r3+ r2r3
5. Identities For union And Concatenation:
Computer Science & Engineering Formal Languages and Automata Theory
3
  is the identity for union operator
i.e. r1+ = +r1=r1
  is the identity for concatenation operator
i.e. r1=r1=r1
6. Annihilators for Union and Concatenation:
 Annihilator for an operator is a value such that when the operator is applied to the
Annihilator and other value, the result is the Annihilator.
 is the Annihilator for concatenation
i.e.  r1= r1 =
there is no Annihilator for union operator.
7. Idempotent law for Union:
 This law states that if we take the union of two identical expressions, we can replace
them by one copy of the expression.
i.e. r1 + r1=r1
8. Laws involving closure
 Let ‘r’ be a regular expression ,then
1. (r*) =r*
2.  *=
3. *
=
4. r+=r.r*=r*.r i.e. r+=rr*=r*r
5. r*=r++
6. r?= +r (Unary postfix operator ? means zero or one instance)
Computer Science & Engineering Formal Languages and Automata Theory
4
2. Construction of - NFA from a regular expression
Basis: Automata for , and ‘a’ are (a),(b) and (c) respectively.
a) Accepting  b) Accepting  c) Accepting a
Induction: Automata for P+Q, PQ and P* are (d), (e) and (f) respectively.
d) P+Q
e) PQ
f) P*
Example: Construct -NFA for the regular expression (a|b)*|c
Solution: using Thompson's Construction. First we construct the union of a and b:
Next we construct the Kleene Star of the previous union:
Computer Science & Engineering Formal Languages and Automata Theory
5
Finally we create the union between this and the next symbol c:
2.1 Construction of DFA from a regular expression:
This procedure can be explained easily with an example.
STEP 1: Augment the given regular expression with the symbol ‘# `
Ex: if (a|b)*abb is the given regular expression. After augmenting # the regular
expression becomes (a|b)*abb#
STEP 2: Give positions to each symbol in the regular expression including # symbol.
Ex: (a | b)*a b b #
1 2 3 4 5 6
STEP 3: Find Firstpos of the given regular expression. Firstpos is a set that contains the
positions of all the symbols which can be at the beginning of a valid word of the
regular expression.
Ex: The Firstpos (a|b)*a b b #) is {1,2,3} which are corresponding to the words given
1 2 3 4 5 6
Below
‘1’ is included in the Firstpos because of the word a b a b b # or a a b b #
1 2 3 4 5 6 1 3 4 5 6
‘2’ is included in the Firstpos because of the word b a b b #
Computer Science & Engineering Formal Languages and Automata Theory
6
2 3 4 5 6
‘3’ is included in the Firstpos because of the word a b b #
3 4 5 6
STEP 4 :Find following of each symbol. Followpos of a symbol is a set which contains the
positions of all the symbols which can follow the current symbol.
Ex: in the regular expression (a | b)* a b b #
1 2 3 4 5 6
Followpos(1)= {1,2,3}
Followpos(2)= {1,2,3}
Followpos(3)= {4}
Followpos(4)= {5}
Followpos(5)= {6}
Followpos(6)= 
STEP 5: construct Dstates the set of states of DFA, and Dtran,the transition table for DFA by the
procedure given below .the states in Dstates are sets of positions ;initially each state is
“unmarked” and state becomes “marked “just before we consider its outtransitions .the start
state of DFA is Firstpos( regular expression) which is computed in step 3 ,and the start state are
all those containing the position associated with the marker #.
PROCEDURE:
Initially the only unmarked state in Dstates is start state
While there is an unmarked state T in Dstates do begin
Mark T;
For each input symbol a do begin
Let U be the set of positions that are in followpos(P) for some position p in T ,such that the
symbol at position p is a ;
If U is not empty and is not in Dstates then
add U as an unmarked state to Dstates;
Dtran[ T,a]:=U
End end
Computer Science & Engineering Formal Languages and Automata Theory
7
Example:
Root for DFA of regular expression (a/b)* abb is {1,2,3} from step3 .
Let this set be A and consider input symbol a .positions 1 and 3 are for a ,so let B=followpos(1)
U followpos(3) = {1,2,3,4}. Since this set has not yet been seen,we set
Dtran[A.a]:=B and addB to Dstates.
When we consider input b,we note that of the positions in A ,only 2 si associated with b,so we
must consider the set followpos(2)={1,2,3}.Since this set has alredy been seen,we do not add it
to Dstates but we add the transition Dtran[A,b]:A.
Now consider B on input ‘a’ positions 1 and 3 are for ‘a’ in B so Dtran*B,a+=followpos(1)
U followpos(3)={1,2,3,4}=B
On input ‘b’ Dtran*B,b+=follow pos(2)  followpos(4)={1,2,3,4,5}
As this is the new state name it C and to Dstates .Dtran[B,b]=C.
Now we consider state C on input ‘ a’.
Dtran [C,a]=followpos(1)  followpos(3)={1,2,3,4}=B
Dtran [C,b]=followpos(2)  followpos(5)={1,2,3,6}
As this is the new state name it as D and add to Dstates.  Dtran[C,b]
Dtran [D,a]=followpos(1)  followpos(3)={1,2,3}  {4}={1,2,3,4}=B
Dtran [D,a]=followpos(2)= {1,2,3}=A
As D only contains positional number of end marker # it is the only final state.
Transition table: a b
A B A
B B C
C B D
*D B A
Computer Science & Engineering Formal Languages and Automata Theory
8
Transition Diagram:
3. Construction of regular expression from Finite Automata:
Arden’s theorem: Let P and Q be two regular expression over ∑. If ‘P’ does not contain  then
the equation in R=Q+RP has unique solution (i.e only one solution) given by R=QP*
Method for finding regular expression of Finite automata in transition diagram
representation using Arden’s theorem:
The following assumptions are made regarding the finite automata.
i. The finite automaton does not have  - moves.
ii. It has only one initial state, say q0.
iii. It’s states are q0,q1 ....qn
i) Qi is the regular expression representing the set of string accepted by the automata even
through qi is a final state.
ii)  ij denotes the regular expression representation the set of labels of edges from vi to vj
when there is no such edge  ij= .Consequently, we can get the following set of
equation in Q1, ….Qn
Q1= Q1 11+ Q2 21+….+ Qn n1+
Q2= Q1 12+ Q2 22+….+ Qn n2
……………………………………………..
……………………………………………..
Qn= Q1 1n+ Q2 2n+…..+ Qn nn
By repeatedly applying substitutions and Arden’s theorem we can express Ri in terms of  ij’s for
getting the set of strings recognized by the automata, we have to take union of all Ri’s
Corresponding to final states.
.
Computer Science & Engineering Formal Languages and Automata Theory
9
Pumping
lemma
Example1:
Derive a regular expression from the following given FA?
Sol:
q1= +q10................ (1)
q2=q11+q21...............(2)
q3=q20+q30+q31.......... (3)
(2)  q2=q11+q21
q2=q1
11*............(4)
(1)  q1= +q10 (Apply Arden’s theorem)
q1=0*
q1=0*
(4) q2=0*11*
q2=0*1*
4. Pumping lemma for Regular languages
Non Regular Lang Non Regular Lang
Note
(1) Pumping Lemma is used to prove non-regularity of language.
(2) Pumping Lemma uses pigeon hole principle to show that certain languages are not
Regular.
STATEMENT :Let ‘L’ be an infinite Regular language.then there exits some positive
integer ‘n’ such that any Z L with z ≥n can be decomposed as Z=uvw
With |uv| ≤n, and |v|≥1,such that z=uvi
w is also in L for all i=0,1,2,…….
Let us apply it on L={0n1n/n≥1-
Computer Science & Engineering Formal Languages and Automata Theory
10
Proof :
Assume L to be Regular and apply pumping lemma.
By pumping Lemma
There exists some n ≥ 0
We choose w=0n1n
Clearly wL and |w| ≥ n
 By pumping Lemma
Choose Z = uvw such that v≠ and |uv |≤n
But, since uv occurs at the beginning of the word and its total length can’t be more than n, it is
bound to have only 0’s in it.
Let |u|=a ,a,|v|=b and |uv|=a+b≤ n ,b≥0
Then z=0a 0b0n-a-b.1n
If we choose k=0,
UvkwL
U,wL
0n-b
1n
L
But for b>0 ,this is not true ,a contradiction .
Hence L is not a Regular Language.
Example:
1. Prove or disprove the regularity if the language {aibi | i>j}
Solution :
Let the given language is regular, So it must satisfy strong form of pumping lemma, and there
exists a DFA with ‘n’ states.
2n n
aaaa………….aaabbbb.......... bbb
u v w
Z1 Z2 Z3 (Z3 Is  )
Z1uvi wZ3  L
Computer Science & Engineering Formal Languages and Automata Theory
11
Choose |v| =d and i =3n.
a2n
b(n-d)+3nd
=a2n
b(3d+1) n - d
which has more number of the b’s than a’s .So the given language is not regular.
5. Closure Properties of Regular Languages
1.Regular languages are closed under union, concation and kleene closure.
2. Regular languages are closed under complementation.i.e .,if L1 is a Regular language and
L1  ∑*,then L1 =∑*-L1 is Regular language.
L1 


L1  L1
3. Regular languages are closed under intersection .
i.e., if L1 and L2 are Regular languages then L1  L2 is also a Regular language.
4. Regular languages are closed under difference.
i.e., if L and M are Regular languages then so is L-M
5. Regular languages are closed under Reversal operator.
6. Regular languages are closed under substitution.
7. Regular languages are closed under homomorphism and inverse homomorphism.
L1

More Related Content

PPTX
Regular expressions
PPTX
Unit2 Toc.pptx
DOCX
Regular Expression .docx
PPTX
fullunit2-220307090026 (1) theory of computation.pptx
PPTX
Regular expression
PPT
Regular expressions-Theory of computation
PDF
PPTX
theoryofautomataandformallanguagesunit21-161231042659.pptx
Regular expressions
Unit2 Toc.pptx
Regular Expression .docx
fullunit2-220307090026 (1) theory of computation.pptx
Regular expression
Regular expressions-Theory of computation
theoryofautomataandformallanguagesunit21-161231042659.pptx

Similar to UNIT_-_II.docx (20)

PDF
Chapter 3 REGULAR EXPRESSION.pdf
PPTX
Automata theory -RE to NFA-ε
PPT
Regular_Expresssions_pptsforreference.ppt
PPTX
13000120020_A.pptx
PPTX
Lec1.pptx
PPT
regular Expression definition equivalence
PPT
regular expression to automata toc flat,
PPT
re1.ppt reggular expression definition eq
PPT
regular expression smmlmmmmmmmmmmmmm.ppt
PDF
Automata_Theory_and_compiler_design_UNIT-1.pptx.pdf
DOCX
unit 2 part b.docx
PPT
4_Regular_Expressionssssssssssassssss.ppt
PPT
jhiu ghfpovypoqwytpboyvetpqotybpo8uvb[O8YBTE-8V
PPT
Regular expression with DFA
PPTX
Theory of Computation Unit 2
PDF
Regular Expression to Non-Deterministic Finite Automata Converter
PPTX
AUTOMATA AUTOMATA Automata4Chapter3.pptx
PDF
RegularExpressions.pdf
PPT
2_6 Optimization of DFA Based Pattern Matchers.ppt
PDF
Unit ii
Chapter 3 REGULAR EXPRESSION.pdf
Automata theory -RE to NFA-ε
Regular_Expresssions_pptsforreference.ppt
13000120020_A.pptx
Lec1.pptx
regular Expression definition equivalence
regular expression to automata toc flat,
re1.ppt reggular expression definition eq
regular expression smmlmmmmmmmmmmmmm.ppt
Automata_Theory_and_compiler_design_UNIT-1.pptx.pdf
unit 2 part b.docx
4_Regular_Expressionssssssssssassssss.ppt
jhiu ghfpovypoqwytpboyvetpqotybpo8uvb[O8YBTE-8V
Regular expression with DFA
Theory of Computation Unit 2
Regular Expression to Non-Deterministic Finite Automata Converter
AUTOMATA AUTOMATA Automata4Chapter3.pptx
RegularExpressions.pdf
2_6 Optimization of DFA Based Pattern Matchers.ppt
Unit ii
Ad

Recently uploaded (20)

PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PPTX
Unit 4 Computer Architecture Multicore Processor.pptx
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
HVAC Specification 2024 according to central public works department
PDF
Indian roads congress 037 - 2012 Flexible pavement
PPTX
Introduction to Building Materials
PPTX
Computer Architecture Input Output Memory.pptx
PPTX
Virtual and Augmented Reality in Current Scenario
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PPTX
20th Century Theater, Methods, History.pptx
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
IGGE1 Understanding the Self1234567891011
PDF
My India Quiz Book_20210205121199924.pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PPTX
History, Philosophy and sociology of education (1).pptx
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
Share_Module_2_Power_conflict_and_negotiation.pptx
Unit 4 Computer Architecture Multicore Processor.pptx
TNA_Presentation-1-Final(SAVE)) (1).pptx
Introduction to pro and eukaryotes and differences.pptx
HVAC Specification 2024 according to central public works department
Indian roads congress 037 - 2012 Flexible pavement
Introduction to Building Materials
Computer Architecture Input Output Memory.pptx
Virtual and Augmented Reality in Current Scenario
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
20th Century Theater, Methods, History.pptx
Paper A Mock Exam 9_ Attempt review.pdf.
IGGE1 Understanding the Self1234567891011
My India Quiz Book_20210205121199924.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
History, Philosophy and sociology of education (1).pptx
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
LDMMIA Reiki Yoga Finals Review Spring Summer
Ad

UNIT_-_II.docx

  • 1. UNIT - II 1. REGULAR EXPRESSIONS  Regular expressions are shorthand notations to describe a language. They are used in many programming languages and language tools like lex, vi editor etc. They are used as powerful tools in search engines.  Regular expressions (RE) are useful for representing certain sets of strings in an algebraic fashion. RE describes the language accepted by finite state automata. Definition: Let ∑ be a given alphabet. Then (i)  ,,and ‘a’ ∑ are all Regular expressions. These are called ‘Primitive Regular expressions’ (ii) If r1 and r2 are regular expressions, so are r1+ r2, r1r2, r1* and (r1). (iii) A string is a Regular expression, if and only if it can be derived from the primitive Regular expressions by a finite number of the rules in (ii). 1.1 Language Associated with Regular Expressions: Regular expressions can be used to describe some simple languages. If r is a regular expression, we will let L(r) denote the language associated with r The language is defined as follows. Definition: The language L(r) denoted by any regular expression r is Defined by following rules. 1)  is a regular expression denoting the empty set. 2)  is a regular expression denoting the set{} 3) For every a∑, ‘a’ is a regular expression denoting set set {a}. If r1 and r2 are regular expressions, then 4) L(r1+r2)=L(r1) ∪ L(r2) 5) L(r1.r2)=L(r1)L(r2) 6) L(r1 * )=(L(r1))*
  • 2. Computer Science & Engineering Formal Languages and Automata Theory 2 Example: Exhibit the language L (a*.(a+b)) In set notation L(a*.(a+b))=L(a*)L(a+b)=(L(a*))(L(a) ∪ L(b)) ={,a,aa,aaa,…..-,a,b-=,a,aa,aaa,…..,b,ab,aab,…- 1.2 Precedence of Regular Expression Operators (1) Kleene closure has higher precedence than concatenation operator. (2) Concatenation has higher precedence than union operator. 1.3 Equivalence of Regular expressions:  Two regular expressions are said to be equivalent if they denote the same language Example: Consider the following regular expressions r1=(1*011*)*(0+)+1*(0+) and r2=(1+01)*(0+) Both r1 and r2 represent the same language i.e. the language over the alphabet {0,1} with no pair of consecutive zeros. So r1 and r2 are said to be equal. 1.4 Algebraic Laws For Regular Expressions: Let r1, r2 and r3 be three regular expressions. 1. Commmmtative law for union:  The commutative law for union, say that we take the union of two languages in either order. i.e. r1+r2=r2+r1 2 Associative laws for union:  The association law for union says that we may take the union of three languages either by taking the union of the first two initially or taking the union of the last two initially. (r1+r2)+r3= r1+( r2+r3) 3. Associative law for concatenation: (r1r2) r3= r1 (r2r3) 4. Distributive laws for concatenation:  Concatenation is left distributive over union i.e. r1 (r2+r3) = r1r2+ r1r3  concatenation is right distributive over union i.e. (r1+r2) r3=r1r3+ r2r3 5. Identities For union And Concatenation:
  • 3. Computer Science & Engineering Formal Languages and Automata Theory 3   is the identity for union operator i.e. r1+ = +r1=r1   is the identity for concatenation operator i.e. r1=r1=r1 6. Annihilators for Union and Concatenation:  Annihilator for an operator is a value such that when the operator is applied to the Annihilator and other value, the result is the Annihilator.  is the Annihilator for concatenation i.e.  r1= r1 = there is no Annihilator for union operator. 7. Idempotent law for Union:  This law states that if we take the union of two identical expressions, we can replace them by one copy of the expression. i.e. r1 + r1=r1 8. Laws involving closure  Let ‘r’ be a regular expression ,then 1. (r*) =r* 2.  *= 3. * = 4. r+=r.r*=r*.r i.e. r+=rr*=r*r 5. r*=r++ 6. r?= +r (Unary postfix operator ? means zero or one instance)
  • 4. Computer Science & Engineering Formal Languages and Automata Theory 4 2. Construction of - NFA from a regular expression Basis: Automata for , and ‘a’ are (a),(b) and (c) respectively. a) Accepting  b) Accepting  c) Accepting a Induction: Automata for P+Q, PQ and P* are (d), (e) and (f) respectively. d) P+Q e) PQ f) P* Example: Construct -NFA for the regular expression (a|b)*|c Solution: using Thompson's Construction. First we construct the union of a and b: Next we construct the Kleene Star of the previous union:
  • 5. Computer Science & Engineering Formal Languages and Automata Theory 5 Finally we create the union between this and the next symbol c: 2.1 Construction of DFA from a regular expression: This procedure can be explained easily with an example. STEP 1: Augment the given regular expression with the symbol ‘# ` Ex: if (a|b)*abb is the given regular expression. After augmenting # the regular expression becomes (a|b)*abb# STEP 2: Give positions to each symbol in the regular expression including # symbol. Ex: (a | b)*a b b # 1 2 3 4 5 6 STEP 3: Find Firstpos of the given regular expression. Firstpos is a set that contains the positions of all the symbols which can be at the beginning of a valid word of the regular expression. Ex: The Firstpos (a|b)*a b b #) is {1,2,3} which are corresponding to the words given 1 2 3 4 5 6 Below ‘1’ is included in the Firstpos because of the word a b a b b # or a a b b # 1 2 3 4 5 6 1 3 4 5 6 ‘2’ is included in the Firstpos because of the word b a b b #
  • 6. Computer Science & Engineering Formal Languages and Automata Theory 6 2 3 4 5 6 ‘3’ is included in the Firstpos because of the word a b b # 3 4 5 6 STEP 4 :Find following of each symbol. Followpos of a symbol is a set which contains the positions of all the symbols which can follow the current symbol. Ex: in the regular expression (a | b)* a b b # 1 2 3 4 5 6 Followpos(1)= {1,2,3} Followpos(2)= {1,2,3} Followpos(3)= {4} Followpos(4)= {5} Followpos(5)= {6} Followpos(6)=  STEP 5: construct Dstates the set of states of DFA, and Dtran,the transition table for DFA by the procedure given below .the states in Dstates are sets of positions ;initially each state is “unmarked” and state becomes “marked “just before we consider its outtransitions .the start state of DFA is Firstpos( regular expression) which is computed in step 3 ,and the start state are all those containing the position associated with the marker #. PROCEDURE: Initially the only unmarked state in Dstates is start state While there is an unmarked state T in Dstates do begin Mark T; For each input symbol a do begin Let U be the set of positions that are in followpos(P) for some position p in T ,such that the symbol at position p is a ; If U is not empty and is not in Dstates then add U as an unmarked state to Dstates; Dtran[ T,a]:=U End end
  • 7. Computer Science & Engineering Formal Languages and Automata Theory 7 Example: Root for DFA of regular expression (a/b)* abb is {1,2,3} from step3 . Let this set be A and consider input symbol a .positions 1 and 3 are for a ,so let B=followpos(1) U followpos(3) = {1,2,3,4}. Since this set has not yet been seen,we set Dtran[A.a]:=B and addB to Dstates. When we consider input b,we note that of the positions in A ,only 2 si associated with b,so we must consider the set followpos(2)={1,2,3}.Since this set has alredy been seen,we do not add it to Dstates but we add the transition Dtran[A,b]:A. Now consider B on input ‘a’ positions 1 and 3 are for ‘a’ in B so Dtran*B,a+=followpos(1) U followpos(3)={1,2,3,4}=B On input ‘b’ Dtran*B,b+=follow pos(2)  followpos(4)={1,2,3,4,5} As this is the new state name it C and to Dstates .Dtran[B,b]=C. Now we consider state C on input ‘ a’. Dtran [C,a]=followpos(1)  followpos(3)={1,2,3,4}=B Dtran [C,b]=followpos(2)  followpos(5)={1,2,3,6} As this is the new state name it as D and add to Dstates.  Dtran[C,b] Dtran [D,a]=followpos(1)  followpos(3)={1,2,3}  {4}={1,2,3,4}=B Dtran [D,a]=followpos(2)= {1,2,3}=A As D only contains positional number of end marker # it is the only final state. Transition table: a b A B A B B C C B D *D B A
  • 8. Computer Science & Engineering Formal Languages and Automata Theory 8 Transition Diagram: 3. Construction of regular expression from Finite Automata: Arden’s theorem: Let P and Q be two regular expression over ∑. If ‘P’ does not contain  then the equation in R=Q+RP has unique solution (i.e only one solution) given by R=QP* Method for finding regular expression of Finite automata in transition diagram representation using Arden’s theorem: The following assumptions are made regarding the finite automata. i. The finite automaton does not have  - moves. ii. It has only one initial state, say q0. iii. It’s states are q0,q1 ....qn i) Qi is the regular expression representing the set of string accepted by the automata even through qi is a final state. ii)  ij denotes the regular expression representation the set of labels of edges from vi to vj when there is no such edge  ij= .Consequently, we can get the following set of equation in Q1, ….Qn Q1= Q1 11+ Q2 21+….+ Qn n1+ Q2= Q1 12+ Q2 22+….+ Qn n2 …………………………………………….. …………………………………………….. Qn= Q1 1n+ Q2 2n+…..+ Qn nn By repeatedly applying substitutions and Arden’s theorem we can express Ri in terms of  ij’s for getting the set of strings recognized by the automata, we have to take union of all Ri’s Corresponding to final states. .
  • 9. Computer Science & Engineering Formal Languages and Automata Theory 9 Pumping lemma Example1: Derive a regular expression from the following given FA? Sol: q1= +q10................ (1) q2=q11+q21...............(2) q3=q20+q30+q31.......... (3) (2)  q2=q11+q21 q2=q1 11*............(4) (1)  q1= +q10 (Apply Arden’s theorem) q1=0* q1=0* (4) q2=0*11* q2=0*1* 4. Pumping lemma for Regular languages Non Regular Lang Non Regular Lang Note (1) Pumping Lemma is used to prove non-regularity of language. (2) Pumping Lemma uses pigeon hole principle to show that certain languages are not Regular. STATEMENT :Let ‘L’ be an infinite Regular language.then there exits some positive integer ‘n’ such that any Z L with z ≥n can be decomposed as Z=uvw With |uv| ≤n, and |v|≥1,such that z=uvi w is also in L for all i=0,1,2,……. Let us apply it on L={0n1n/n≥1-
  • 10. Computer Science & Engineering Formal Languages and Automata Theory 10 Proof : Assume L to be Regular and apply pumping lemma. By pumping Lemma There exists some n ≥ 0 We choose w=0n1n Clearly wL and |w| ≥ n  By pumping Lemma Choose Z = uvw such that v≠ and |uv |≤n But, since uv occurs at the beginning of the word and its total length can’t be more than n, it is bound to have only 0’s in it. Let |u|=a ,a,|v|=b and |uv|=a+b≤ n ,b≥0 Then z=0a 0b0n-a-b.1n If we choose k=0, UvkwL U,wL 0n-b 1n L But for b>0 ,this is not true ,a contradiction . Hence L is not a Regular Language. Example: 1. Prove or disprove the regularity if the language {aibi | i>j} Solution : Let the given language is regular, So it must satisfy strong form of pumping lemma, and there exists a DFA with ‘n’ states. 2n n aaaa………….aaabbbb.......... bbb u v w Z1 Z2 Z3 (Z3 Is  ) Z1uvi wZ3  L
  • 11. Computer Science & Engineering Formal Languages and Automata Theory 11 Choose |v| =d and i =3n. a2n b(n-d)+3nd =a2n b(3d+1) n - d which has more number of the b’s than a’s .So the given language is not regular. 5. Closure Properties of Regular Languages 1.Regular languages are closed under union, concation and kleene closure. 2. Regular languages are closed under complementation.i.e .,if L1 is a Regular language and L1  ∑*,then L1 =∑*-L1 is Regular language. L1    L1  L1 3. Regular languages are closed under intersection . i.e., if L1 and L2 are Regular languages then L1  L2 is also a Regular language. 4. Regular languages are closed under difference. i.e., if L and M are Regular languages then so is L-M 5. Regular languages are closed under Reversal operator. 6. Regular languages are closed under substitution. 7. Regular languages are closed under homomorphism and inverse homomorphism. L1