2. n n
{a b : n 0}
Non-regular languages
R
{ww : w {a, b}*}
Regular languages
a *b b*c a
b c ( a b) *
etc...
3. How can we prove that a language L
is not regular?
Prove that there is no DFA that accepts L
Problem: this is not easy to prove
Solution: the Pumping Lemma !!!
4. • DFA with 4 states
b
b b
q1 a q2 b q3 b q4
a a
5. In walks of strings: a no state
aa is repeated
• aab
b
b b
q1 a q2 a q3 b q4
a a
6. In walks of strings: aabb a state
is repeated
bbaa
•
abbabb
abbbabbabb...
b
b b
q1 a q2 a q3 b q4
a a
7. In walks of strings: aabb a state
is repeated
bbaa
•
abbabb
abbbabbabb...
b
b b
q1 a q2 a q3 b q4
a a
8. If string w has length | w | 4:
•
Then the transitions of string w
are more than the states of the DFA
Thus, a state must be repeated
b
b b
q1 a q2 a q3 b q4
a a
9. In general, for any DFA:
String w has length number of states
A state q must be repeated in the walk of w
walk of w
...... q ......
Repeated state
12. Take string w with w L
There is a walk with label w:
.........
walk w
13. If string w has length | w | m number
of states
of DFA
then, from the pigeonhole principle:
a state q is repeated in the walk w
...... q ......
walk w
14. Let q be the first state repeated
...... q ......
walk w
23. The Pumping Lemma:
• Given a infinite regular language L
• there exists an integer m
• for any string w L with length | w | m
• we can write w xyz
• with |x y| m and | y| 1
i
• such that: xy z L i 0, 1, 2, ...
34. Theorem: The language
R {a, b}
L {ww : w *}
is not regular
Proof: Use the Pumping Lemma
35. R
L {ww : w *}
Assume for contradiction
that L is a regular language
Since L is infinite
we can apply the Pumping Lemma
36. R
L {ww : w *}
Let m be the integer in the Pumping Lemma
Pick a string w such that: w L and
length | w| m
m m m m
We pick w a b b a
37. m m m m
Write a b b a xyz
From the Pumping Lemma
it must be that length | x y | m, | y | 1
m m m m
xyz a...aa...a...ab...bb...ba...a
x y z
k
Thus: y a , k 1
38. m m m m k
xyz a b b a y a , k 1
From the Pumping Lemma: i
xy z L
i 0, 1, 2, ...
2
Thus: xy z L
39. m m m m k
xyz a b b a y a , k 1
2
From the Pumping Lemma: xy z L
m+k m m m
xy z = a...aa...aa...a...ab...bb...ba...a ∈ L
2
x y y z
m k m m m
Thus: a b b a L
40. m k m m m
a b b a L k 1
BUT: R
L {ww : w *}
m k m m m
a b b a L
CONTRADICTION!!!
41. Therefore: Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
43. Theorem: The language
n l n l
L {a b c : n, l 0}
is not regular
Proof: Use the Pumping Lemma
44. n l n l
L {a b c : n, l 0}
Assume for contradiction
that L is a regular language
Since L is infinite
we can apply the Pumping Lemma
45. n l n l
L {a b c : n, l 0}
Let m be the integer in the Pumping Lemma
Pick a string w such that: w L and
length | w| m
We pick w a b c m m 2m
46. m m 2m
Write a b c xyz
From the Pumping Lemma
it must be that length | x y | m, | y | 1
m m 2m
xyz a...aa...aa...ab...bc...cc...c
x y z
Thus: k
y a , k 1
47. m m 2m k
xyz a b c y a , k 1
From the Pumping Lemma: i
xy z L
i 0, 1, 2, ...
Thus: 0
xy z xz L
48. m m 2m k
xyz a b c y a , k 1
From the Pumping Lemma: xz L
m k m 2m
xz a...aa...ab...bc...cc...c L
x z
m k m 2m
Thus: a b c L
49. m k m 2m
a b c L k 1
BUT: n l n l
L {a b c : n, l 0}
m k m 2m
a b c L
CONTRADICTION!!!
50. Therefore: Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
52. Example
L ={ w | w =0n where n is a perfect square}
Let us assume that L is regular.
Use pumping Lemma
Let m be the corresponding no. for pumping
lemma.
w = 0square of m
|w| >= m
w = x y z where | x y| <= m; |y | >=1
53. Consider
x yy z it should be in L
|xyyz| must be a perfect square
but
|xyyz| = m2 + |y| <= m2 + m
< m2 + m +m+1
= (m+1)2
m2 < |xyyz |< (m+1)2
so length of the string x yyz can not be a
perfect square.
So it can not bea member of L. A
contradiction! Hence L is non regular
54. Theorem: The language n!
L {a : n 0}
is not regular
n! 1 2 (n 1) n
Proof: Use the Pumping Lemma
55. n!
L {a : n 0}
Assume for contradiction
that L is a regular language
Since L is infinite
we can apply the Pumping Lemma
56. n!
L {a : n 0}
Let m be the integer in the Pumping Lemma
Pick a string w such that: w L
length | w| m
m!
We pick w a
57. m!
Write a xyz
From the Pumping Lemma
it must be that length | x y | m, | y | 1
m m! m
m!
xyz a a...aa...aa...aa...aa...a
x y z
k
Thus: y a , 1 k m
58. m! k
xyz a y a , 1 k m
From the Pumping Lemma: i
xy z L
i 0, 1, 2, ...
Thus: 2
xy z L
59. m! k
xyz a y a , 1 k m
2
From the Pumping Lemma: xy z L
m k m! m
2
xy z a...aa...aa...aa...aa...aa...a L
x y y z
Thus: a m! k
L
60. m! k
a L 1 k m
Since: n!
L {a : n 0}
There must exist p such that:
m! k p!
61. However: m! k m! m for m 1
m! m!
m!m m!
m!(m 1)
(m 1)!
m! k (m 1)!
m! k p! for any p
62. m! k 1 k m
a L
n!
BUT: L {a : n 0}
m! k
a L
CONTRADICTION!!!
63. Therefore: Our assumption that L
is a regular language is not true
Conclusion: L is not a regular language
65. • State minimization problem
• There can be more than one DFA that
accepts the same language
Among these equivalent DFAs, it is often
useful to find the smallest, that is, the DFA
with the minimum possible number of states
This is especially important when DFAs are
used for designing computer hardware
circuits
68. Unreachable states
A DFA sometimes contains states that
cannot possibly be reached from the initial
state
These can easily be identified and they
can be removed without changing the
language accepted by the DFA
69.
70.
71.
72. Two states p and q of a dfa are
indistinguishable if
* (p, w) F implies * (q,w ) F
And
*(p, w) F implies * (q,w) F
for all w * .
If on the other hand there exists some
string w such that
*(p,w) F and *(q,w) F
Or vice versa, then p and q are said to be
distinguishable by a string w.
73. Procedure: mark
1- Remove all inaccessible states
2- Consider all pairs of states (p, q) .If
p F and q F or vice versa mark the pair
(p, q) as distinguishable.
3-Repeat the following step until no previously
unmarked pairs are marked.
For all pairs (p, q) and all a compute
(p,a)=pa and (q,a) = qa .If (pa, qq) are
distinguishable , mark (p, q) distinguishable.
74. Procedure Reduce
1- Use procedure mark to find all pairs of
distinguishable states.Then from this,
find the sets of all indistinguishable
states , say{qi,qj…qk},{ql, qm …qn} etc,
2-For each set {qi,qj…qk} of such
indistinguishable states, create a state
labeled ij..k for the new machine M’
3-For each transition rule of M of the form
- (qr, a) = qp find the sets to which qr
and qp belong.
75. If qp {ql, qm,…qn}
And qr (qi, qj,…qk} add to ’ a rule
’ (ij…k, a) = lm…n
4- The initial state q0’ is that state of M’
whose label includes the q0.initial state
of M
5- F’ is the set of all states whose label
contain I such that qi F