0% found this document useful (0 votes)
15 views56 pages

Single Final State For Nfas: Costas Busch - Rpi 1

The document discusses how any NFA can be converted to an equivalent NFA with a single final state. It provides examples of converting basic NFAs to their equivalent forms with a single final state. The document also discusses how regular languages are closed under operations like union, concatenation, star, reversal, complement, and intersection. It shows how to construct NFAs for languages resulting from applying these operations to basic regular languages. Finally, it introduces regular expressions and how they describe regular languages.

Uploaded by

Rama Sushil
Copyright
© © All Rights Reserved
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)
15 views56 pages

Single Final State For Nfas: Costas Busch - Rpi 1

The document discusses how any NFA can be converted to an equivalent NFA with a single final state. It provides examples of converting basic NFAs to their equivalent forms with a single final state. The document also discusses how regular languages are closed under operations like union, concatenation, star, reversal, complement, and intersection. It shows how to construct NFAs for languages resulting from applying these operations to basic regular languages. Finally, it introduces regular expressions and how they describe regular languages.

Uploaded by

Rama Sushil
Copyright
© © All Rights Reserved
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/ 56

Single Final State for NFAs

Costas Busch - RPI 1


Any NFA can be converted

to an equivalent NFA

with a single final state

Costas Busch - RPI 2


Example
a
NFA
a b

a Equivalent NFA

a b

b 

Costas Busch - RPI 3
In General
NFA

Equivalent NFA

 Single
 final state
Costas Busch - RPI 4
Extreme Case

NFA without final state

Add a final state


Without transitions

Costas Busch - RPI 5


Properties of
Regular Languages

Costas Busch - RPI 6


For regular languages L1 and L2
we will prove that:

Union: L1  L2
Concatenation: L1L2
Star: L1 * Are regular
Languages
Reversal: R
L1
Complement: L1
Intersection: L1  L2
Costas Busch - RPI 7
We say: Regular languages are closed under

Union: L1  L2
Concatenation: L1L2
Star: L1 *
Reversal: R
L1
Complement: L1
Intersection: L1  L2
Costas Busch - RPI 8
Regular language L1 Regular language L2

L M1   L1 L M 2   L2

NFA M1 NFA M2

Single final state Single final state


Costas Busch - RPI 9
Example
M1
n0
a
n
L1  {a b} b

M2
a
L2   ba b

Costas Busch - RPI 10


Union
NFA for L1  L2
M1

 

 M2 

Costas Busch - RPI 11


Example
n
NFA for L1  L2  {a b}  {ba}
n
L1  {a b}
a
b
 

 L2  {ba} 
b a
Costas Busch - RPI 12
Concatenation

NFA for L1L2

M1 M2
 

Costas Busch - RPI 13


Example

n n
NFA for L1L2  {a b}{ba}  {a bba}

n
L1  {a b}
a L2  {ba}
b  b a 

Costas Busch - RPI 14


Star Operation
NFA for L1 *

  L1 *
M1
 


Costas Busch - RPI 15
Example

n w  w1w2  wk
NFA for L1*  {a b} * wi  L1

n
L1  {a b}
a
 b 


Costas Busch - RPI 16
Reverse
R
NFA for L1
L1 M1 M1

1. Reverse all transitions

2. Make initial state final state


and vice versa
Costas Busch - RPI 17
Example
M1
a
n
L1  {a b} b

M1
a
R n
L1  {ba } b

Costas Busch - RPI 18


Complement

L1 M1 L1 M1

1. Take the DFA that accepts L1

2. Make final states non-final,


and vice-versa
Costas Busch - RPI 19
Example
M1
a a, b
n b a, b
L1  {a b}

M1
n a a, b
L1  {a, b} * {a b}
b a, b

Costas Busch - RPI 20


Intersection
DeMorgan’s Law: L1  L2  L1  L2
L1 , L2 regular
L1 , L2 regular
L1  L2 regular
L1  L2 regular
L1  L2 regular
Costas Busch - RPI 21
Example

n
L1  {a b} regular
L1  L2  {ab}
L2  {ab, ba} regular regular

Costas Busch - RPI 22


Regular Expressions

Costas Busch - RPI 23


Regular Expressions
Regular expressions
describe regular languages

Example: (a  b  c) *

describes the language


 a, bc *    , a, bc, aa, abc, bca,...

Costas Busch - RPI 24


Recursive Definition
Primitive regular expressions: ,  , 

Given regular expressions r1 and r2

r1  r2
r1  r2
Are regular expressions
r1 *
 r1 
Costas Busch - RPI 25
Examples

A regular expression:  a  b  c  * (c  )

Not a regular expression:  a  b 

Costas Busch - RPI 26


Languages of Regular Expressions

L r  : language of regular expression r

Example
L (a  b  c) *    , a, bc, aa, abc, bca,...

Costas Busch - RPI 27


Definition

For primitive regular expressions:

L    

L      

L a    a
Costas Busch - RPI 28
Definition (continued)

For regular expressions r1 and r2

L r1  r2   L r1   L r2 

L r1  r2   L r1  L r2 

L r1 *   L r1   *

L  r1    L r1 
Costas Busch - RPI 29
Example
Regular expression:  a  b  a *
L  a  b   a *  L  a  b   L a *
 L a  b  L a *
  L a   L b    L a   *
   a   b    a  *
  a, b   , a, aa, aaa,...
  a, aa, aaa,..., b, ba, baa,...
Costas Busch - RPI 30
Example

Regular expression r   a  b  *  a  bb 

L r    a, bb, aa, abb, ba, bbb,...

Costas Busch - RPI 31


Example

Regular expression r   aa  *  bb  * b

L r   {a b
2n 2m
b : n, m  0}

Costas Busch - RPI 32


Example

Regular expression r  (0  1) * 00 (0  1) *

L(r ) = { all strings with at least


two consecutive 0 }

Costas Busch - RPI 33


Example

Regular expression r  (1  01) * (0   )

L(r ) = { all strings without


two consecutive 0 }

Costas Busch - RPI 34


Equivalent Regular Expressions

Definition:

Regular expressions r1 and r2

are equivalent if L(r1 )  L(r2 )

Costas Busch - RPI 35


Example
L = { all strings without
two consecutive 0 }

r1  (1  01) * (0   )
r2  (1* 011*) * (0   )  1* (0   )

r1 and r2
L(r1 )  L(r2 )  L
are equivalent
regular expr.
Costas Busch - RPI 36
Regular Expressions
and
Regular Languages

Costas Busch - RPI 37


Theorem

Languages
Generated by
Regular Expressions
 Regular
Languages

Costas Busch - RPI 38


Theorem - Part 1

Languages
Generated by  Regular
Languages
Regular Expressions

1. For any regular expression r


the language L(r ) is regular

Costas Busch - RPI 39


Theorem - Part 2

Languages
Generated by  Regular
Languages
Regular Expressions

2. For any regular language L there is


a regular expression r with L( r )  L

Costas Busch - RPI 40


Proof - Part 1

1. For any regular expression r


the language L(r ) is regular

Proof by induction on the size of r

Costas Busch - RPI 41


Induction Basis
Primitive Regular Expressions: ,  , 
NFAs

L( M1 )    L()

regular
L( M 2 )  {}  L( )
languages
a
L( M 3 )  {a}  L(a )

Costas Busch - RPI 42


Inductive Hypothesis

Assume
for regular expressions r1 and r2
that
L(r1 ) and L(r2 ) are regular languages

Costas Busch - RPI 43


Inductive Step
We will prove:
L r1  r2 

L r1  r2 
Are regular
Languages
L r1 *

L  r1  
Costas Busch - RPI 44
By definition of regular expressions:

L r1  r2   L r1   L r2 

L r1  r2   L r1  L r2 

L r1 *   L r1   *

L  r1    L r1 
Costas Busch - RPI 45
By inductive hypothesis we know:
L(r1 ) and L(r2 ) are regular languages

We also know:
Regular languages are closed under:
Union L r1   L r2 
Concatenation L r1  L r2 
Star  L r1   *
Costas Busch - RPI 46
Therefore:

L r1  r2   L r1   L r2 

Are regular
L r1  r2   L r1  L r2 
languages

L r1 *   L r1   *

Costas Busch - RPI 47


And trivially:

L((r1 )) is a regular language

Costas Busch - RPI 48


Proof – Part 2

2. For any regular language L there is


a regular expression r with L( r )  L

Proof by construction of regular expression

Costas Busch - RPI 49


Since L is regular take the
NFA M that accepts it

L( M )  L

Single final state


Costas Busch - RPI 50
From M construct the equivalent
Generalized Transition Graph
in which transition labels are regular expressions

Example:
M
a c a c
a, b ab
Costas Busch - RPI 51
b b
Another Example:
a
q0 q1 a, b q2
b

b b
a
q0 q1 a  b q2
b
Costas Busch - RPI 52
b b
Reducing the states:
a
q0 q1 a  b q2
b

bb * a b

q0 bb * (a  b) q2
Costas Busch - RPI 53
Resulting Regular Expression:

bb * a b

q0 bb * (a  b) q2

r  (bb * a ) * bb * (a  b)b *

L(r )  L( M )  L
Costas Busch - RPI 54
In General
Removing states: e
d c
qi q qj
a b

ae * d ce * b
ce * d
qi qj
ae * b
Costas Busch - RPI 55
The final transition graph:
r1 r4
r3
q0 qf
r2

The resulting regular expression:

r  r1 * r2 (r4  r3r1 * r2 ) *

L(r )  L( M )  L
Costas Busch - RPI 56

You might also like