Single Final State For Nfas: Costas Busch - Rpi 1
Single Final State For Nfas: Costas Busch - Rpi 1
to an equivalent NFA
a Equivalent NFA
a b
b
Costas Busch - RPI 3
In General
NFA
Equivalent NFA
Single
final state
Costas Busch - RPI 4
Extreme Case
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
M2
a
L2 ba b
M2
L2 {ba}
b a
Costas Busch - RPI 12
Concatenation
M1 M2
n n
NFA for L1L2 {a b}{ba} {a bba}
n
L1 {a b}
a L2 {ba}
b b a
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
M1
a
R n
L1 {ba } b
L1 M1 L1 M1
M1
n a a, b
L1 {a, b} * {a b}
b a, b
n
L1 {a b} regular
L1 L2 {ab}
L2 {ab, ba} regular regular
Example: (a b c) *
r1 r2
r1 r2
Are regular expressions
r1 *
r1
Costas Busch - RPI 25
Examples
Example
L (a b c) * , a, bc, aa, abc, bca,...
L
L
L a a
Costas Busch - RPI 28
Definition (continued)
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
Regular expression r aa * bb * b
L r {a b
2n 2m
b : n, m 0}
Regular expression r (0 1) * 00 (0 1) *
Definition:
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
Languages
Generated by
Regular Expressions
Regular
Languages
Languages
Generated by Regular
Languages
Regular Expressions
Languages
Generated by Regular
Languages
Regular Expressions
L( M1 ) L()
regular
L( M 2 ) {} L( )
languages
a
L( M 3 ) {a} L(a )
Assume
for regular expressions r1 and r2
that
L(r1 ) and L(r2 ) are regular languages
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 *
L( M ) L
Example:
M
a c a c
a, b ab
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
r r1 * r2 (r4 r3r1 * r2 ) *
L(r ) L( M ) L
Costas Busch - RPI 56