0% found this document useful (0 votes)
1K views

Example: Consider The Following TG

Here is an FA for the union of FA1 and FA2: b a z1 - z2 z3 + a,b a,b This FA has states z1, z2, z3. z1 is the initial state. z3 is the final state. The transitions are: z1 - b -> z2 z1 - a,b -> z1 z2 - a -> z3 z2 - a,b -> z2 z3 - a,b -> z3 This FA accepts the union of the languages of FA1 and FA2.

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views

Example: Consider The Following TG

Here is an FA for the union of FA1 and FA2: b a z1 - z2 z3 + a,b a,b This FA has states z1, z2, z3. z1 is the initial state. z3 is the final state. The transitions are: z1 - b -> z2 z1 - a,b -> z1 z2 - a -> z3 z2 - a,b -> z2 z3 - a,b -> z3 This FA accepts the union of the languages of FA1 and FA2.

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

Example

 Consider the following TG


b
b

1- 3+
aa
a
a

2- 4+
bb
To have single initial and single final state the
above TG can be reduced to the following
Example continued …

b
b

1 3
Λ aa Λ
- a +
Λ a Λ
2 4
bb
To obtain single transition edge between 1 and
3; 2 and 4, the above can be reduced to the
following
Example continued …
b

b+aa 3
1 Λ
Λ
- a +
Λ Λ
2 a+bb 4
To eliminate states 1,2,3 and 4, the above TG
can be reduced to the following TG
Λ(b+aa)b*Λ
- +
Λ(a+bb)a*Λ
Example continued …

(b+aa)b*

- +
(a+bb)a*
To connect the initial state with the final state by single
transition edge, the above TG can be reduced to the
following

- (b+aa)b*+(a+bb)a* +
Hence the required RE is (b+aa)b*+(a+bb)a*
Example

Consider the following TG, accepting EVEN-EVEN


language

aa,bb aa,bb
ab,ba
-+1 2
ab,ba
Example continued ...

It is to be noted that since the initial state of


this TG is final as well and there is no other final
state, so to obtain a TG with single initial and
single final state, an additional initial and a final
state are introduced as shown in the following
TG
Example continued ...

aa+bb aa+bb
ab+ba
3- Λ 1 2
ab+ba
Λ

4+
 To eliminate state 2, the above TG may be
reduced to the following
Example continued ...

aa+bb

3- Λ 1 (ab+ba)(aa+bb)*(ab+ba)

4+

To have single loop at state 1, the above TG


may be reduced to the following
Example continued ...

(aa+bb)+(ab+ba)(aa+bb)*(ab+ba)

3- Λ 1

4+

To eliminate state 1, the above TG may be


reduced to the following
Example continued ...

Λ(aa+bb+(ab+ba)(aa+bb)*(ab+ba))*Λ
3- 4+

Hence the required RE is (aa+bb+(ab+ba)


(aa+bb)*(ab+ba))*
Kleene’s Theorem Part III

Statement:
If the language can be expressed by a RE then
there exists an FA accepting the language.
A) As the regular expression is obtained applying
addition, concatenation and closure on the
letters of an alphabet and the Null string, so
while building the RE, sometimes, the
corresponding FA may be built easily, as shown
in the following examples
Example

 Consider the language, defined over Σ={a,b},


consisting of only b, then this language may
be accepted by the following FA
a,b

a b
1 - +

a, b
which shows that this FA helps in building an FA
accepting only one letter
Example

 Consider the language, defined over Σ={a,b},


consisting of only , then this language may
be accepted by the following FA
a, b

a, b
±
Kleene’s Theorem Part III
Continued …

B) As, if r1 and r2 are regular expressions then


their sum, concatenation and closure are also
regular expressions, so an FA can be built for
any regular expression if the methods can be
developed for building the FAs corresponding
to the sum, concatenation and closure of the
regular expressions along with their FAs. These
three methods are explained in the following
discussions
Kleene’s Theorem Part III
Continued …

 Method1 (Union of two FAs): Using


the FAs corresponding to r1 and r2 an FA
can be built, corresponding to r1+ r2. This
method can be developed considering the
following examples
Example

Let r1=(a+b)*b defines L1 and the FA1 be


a b b

X1 – +
X2

and r2 = (a+b )*aa(a+b )* defines L2 and FA2 be


b a,b
a
y2 a
y1- y3+
b
Sum of two FAs Continued …

Let FA3 be an FA corresponding to r1+ r2, then


the initial state of FA3 must correspond to the
initial state of FA1 or the initial state of FA2.
Since the language corresponding to r1+ r2 is
the union of corresponding languages L1 and L2,
consists of the strings belonging to L1or L2 or
both, therefore a final state of FA3 must
correspond to a final state of FA1 or FA2 or both.
Sum of two FAs Continued …

Since, in general, FA3 will be different from both


FA1 and FA2, so the labels of the states of FA3
may be supposed to be z1,z2, z3, …, where z1 is
supposed to be the initial state. Since z1
corresponds to the states x1 or y1, so there will
be two transitions separately for each letter read
at z1. It will give two possibilities of states either
z1 or different from z1. This process may be
expressed in the following transition table for all
possible states of FA3.
Example continued …
a b b

X1 – +
X2

b a a,b
a
y2 a
y1– y3+
b
New states after reading
Old states
a b

z1–(x1,y1) (x1,y2) z2 (x2,y1)  z3


Example continued …

New States after reading


Old States
a b

z2 (x1,y2) (x1,y3) z4 (x2,y1)  z3


z3+ (x2,y1) (x1,y2)  z2 (x2,y1)  z3
z4+ (x1,y3) (x1,y3)  z4 (x2,y3)  z5
z5+ (x2,y3) (x1,y3)  z4 (x2,y3)  z5
Example continued …

Z2
a a b
a
b
Z1- a b Z4 + Z5 +
b a

Z3+ b
RE corresponding to the above FA may be r1+r2
= (a+b)*b + (a+b )*aa(a+b )*
Task

Z2
a a b
a
b
Z1- a b Z4 + Z5 +
b a

Z3+ b

Build an FA equivalent to the previous FA


Example

Let r1=(a+b)*a and the corresponding FA1


be b a a

X1– X2+

b
also r2 = (a+b)((a+b)(a+b))* or
((a+b)(a+b))*(a+b) and FA2 be
a,b

y1- y2+
a,b
Example continued …

b a a
a,b

X1 – X2+ y1- y2+


a,b

New States after reading


Old States
a b

z1-(x1,y1) (x2,y2) z2 (x1,y2)  z3


Example continued …

New States after reading


Old States
a b

z2+(x2,y2) (x2,y1) z4 (x1,y1)  z1


z3+ (x1,y2) (x2,y1) z4 (x1,y1)  z1
z4+ (x2,y1) (x2,y2)  z2 (x1,y2)  z3
Example continued …

z1- z2+
b

b b a a

z3+ z4+
b
Example

Let r1=((a+b)(a+b))* and the


corresponding FA1 be
a,b
x1± x2
a,b

also r2 = (a+b)((a+b)(a+b))* or
((a+b)(a+b))*(a+b) and FA2 be
a,b

y1- y2+
a,b
Example continued …
a,b
x1± x2
a,b

a,b

y1- y2+
a,b

New States after reading


Old States
a b

z1±(x1,y1) (x2,y2) z2 (x2,y2)  z2


Example continued …

New States after reading


Old States
a b

z2+(x2,y2) (x1,y1) z1 (x1,y1)  z1


Example continued …

a,b

z1 ± z2+
a,b
Task

Build an FA corresponding to the union of


these two FAs i.e. FA1 U FA2 where a,b
b
FA1 x1 - a,b
x2 x3 +

x4 a,b

b a b
FA2 y1 - y2+
a
Kleene’s Theorem Part III
Continued …

 Method2 (Concatenation of two


FAs):
Using the FAs corresponding to r1 and r2,
an FA can be built, corresponding to r1r2.
This method can be developed
considering the following examples
Example

Let r1=(a+b)*b defines L1 and FA1 be


a b b

X1 – +
X2

a
and r2 = (a+b )*aa (a+b )* defines L2 and FA2 be

b a,b
a
y2 a
y1- y3+
b
Concatenation of two FAs
Continued …

Let FA3 be an FA corresponding to r1r2, then the


initial state of FA3 must correspond to the initial state
of FA1 and the final state of FA3 must correspond to
the final state of FA2.Since the language
corresponding to r1r2 is the concatenation of
corresponding languages L1 and L2, consists of the
strings obtained, concatenating the strings of L1 to
those of L2 , therefore the moment a final state of
first FA is entered, the possibility of the initial
state of second FA will be included as well.
Concatenation of two FAs
Continued …

Since, in general, FA3 will be different from both


FA1 and FA2, so the labels of the states of FA3
may be supposed to be z1,z2, z3, …, where z1
stands for the initial state. Since z1 corresponds to
the states x1, so there will be two transitions
separately for each letter read at z1. It will give
two possibilities of states which correspond to
either z1 or different from z1. This process may be
expressed in the following transition table for all
possible states of FA3
Example continued …
a b b

X1 – +
X2

b a a,b
a
y2 a
y1- y3+
b
New States after reading
Old States
a b

z1-x1 x1z1 (x2,y1) z2


Example continued …
New States after reading
Old States
a b

z2(x2,y1) (x1,y2)z3 (x2,y1) z2


z3(x1,y2) (x1,y3)z4 (x2,y1) z2
z4+(x1,y3) (x1,y3) z4 (x2,y1,y3) z5
z5+(x2,y1,y3) (x1,y2 ,y3) z6 (x2,y1,y3) z5
z6+(x1,y2,y3) (x1,y3) z4 (x2 ,y1,y3) z5
Example continued …

b
a
z2 z3
b

b a

a z4+
z1- a
a
b
b

z6+ z 5+ b
a
Assignment

1. As, if r1 and r2 are regular expressions then their sum,


concatenation and closure are also regular expressions,
so an FA can be built for any regular expression if the
methods can be developed for building the FAs
corresponding to the sum, concatenation and closure of
the regular expressions along with their FAs. We have
seen the two methods sum and concatenation, you have
to proved the closure with example.
2. Write a function (in any language) that takes two
parameters Regular expression and String. And it check
whether string generated by that regular expression.

You might also like