1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 5 School of Innovation, Design and Engineering Mälardalen University 2012
Feb 24, 2016
1
CDT314
FABER
Formal Languages, Automata and Models of Computation
Lecture 5
School of Innovation, Design and Engineering Mälardalen University
2012
2
Content
- More Properties of Regular Languages (RL)- Standard Representations of RL- Elementary Questions about RL- Non-Regular Languages- The Pigeonhole Principle- The Pumping Lemma- Applications of the Pumping Lemma- NFA-DFA repetition
3
More Properties of
Regular Languages
Based on C Busch, RPI, Models of Computation
4
We have shown
Regular languages are closed under
Union
Concatenation
Star operation
Reverse
5
Namely, for regular languages and :1L 2L
21 LL
21LL
1L
Union
Concatenation
Star operation
Reverse RL1
RegularLanguages
6
We will show that
Regular languages are also closed under
Complement
Intersection
7
Namely, for regular languages and :1L 2L
1L
21 LL
Complement
Intersection
RegularLanguages
8
Complement
Theorem For regular language the complement is regular. L
L
ProofTake DFA that accepts and exchange:L
non-accepting states accepting states
LResulting DFA accepts
9
Examplea
b ba,
ba,
0q 1q 2q
)*( baLL
a
b ba,
ba,
0q 1q 2q
)))((( bababaaLL
10
Intersection
Theorem For regular languages and the intersection is regular. 21 LL
1L 2L
Proof Apply DeMorgan’s Law:
2121 LLLL
11
21 , LL regular
21 , LL regular
21 LL regular
21 LL regular
21 LL regular
12
Standard Representations of
Regular Languages
13
Regular Language Representations
DFA
NFA
RegularExpression
RegularGrammar
Regular Language
14
Elementary Questionsabout
Regular Languages
15
Membership Question
Question: Given regular languageand string how can we check if ?
L
Lw w
Answer: Take the DFA that acceptsand check if is accepted.
Lw
16
Lw
DFAw
Lw
DFAw
17
Take the DFA that accepts . Check if there is a path from the initial state to a final state.
L
Given regular languagehow can we checkif is empty: ?
L
L )( L
Question:
Answer:
Empty Language Question
18
DFA
L
L
DFA
19
Given regular languagehow can we checkif is finite?
L
L
Take the DFA that accepts .
Check if there is a walk with a cyclefrom the initial state to a final state.
L
Question:
Answer:
Finiteness Question
20
DFA
L is infinite
DFA
L is finite
21
Given regular languages and how can we check if ?
1L 2L21 LL
Question:
)()( 2121 LLLLFind ifAnswer:
Equality Question
22
)()( 2121 LLLL
21 LL 21 LLand
21 LL
1L2L 1L2L
21 LL 12 LL 2L 1L
23
)()( 2121 LLLL
21 LL 21 LLor
1L2L 1L2L
21 LL 12 LL
21 LL
24
Non-Regular Languages
25
Regular languages
ba * acb *
...etc
*)( bacb
Non-regular languages???
26
How can we prove that a languageis not regular?
L
Prove that there is no DFA that accepts L
Problem: this is not easy to prove.
Solution: the Pumping Lemma !
a
b
b
a a
b
}0:{ nbaL nn
27
The Pigeonhole Principle
28
The Pigeonhole Principle
29
pigeons
pigeonholes
4
3
30
A pigeonhole mustcontain at least two pigeons
31
...........
...........
pigeonsn
pigeonholesm mn
32
The Pigeonhole Principle
...........
pigeons
pigeonholes
n
mmn
There is a pigeonhole with at least 2 pigeons
33
The Pigeonhole Principleand DFAs
34
DFA with states 4
1q 2q 3qa
b
4q
b
b b
b
a a
35
1q 2q 3qa
b
4q
b
b
b
a a
a
In walks of strings:
aabaaa
no stateis repeated
36
In walks of strings:
1q 2q 3qa
b
4q
b
b
b
a a
a
...abbbabbabbabbabbbbaaaabb a state
is repeated
37
If the walk of string has length
1q 2q 3qa
b
4q
b
b
b
a a
a
w 4|| wthen a state is repeated
38
If in a walk of a string transitions states of DFAthen a state is repeated
Pigeonhole principle for any DFA:
w
39
In other words for a string transitions are pigeons
states are pigeonholesq
a
w
40
A string has length number of states w
A state must be repeated in the walk of wq
In general
...... ......
walk of w
q
41
The Pumping Lemmafor Regular Languages
see alsohttp://www.math.uu.se/~salling/Movies/Nonregularity.mov
42
Take an infinite regular language L
DFA that accepts L
nstates
43
Take string with w Lw
There is a walk with label w
.........
walk w
44
If string has length w1|| nmw
then, from the pigeonhole principle: a state is repeated in the walkq w
...... ......
walk w
( number of states)
q
n
45
Write zyxw
...... ......
x
y
z
q
46
myx ||Lengths:
1|| y
...... ......
x
y
z
q
(from pigeon principle, as q is the first repetition in sequence)
(there is a walk in the graph)
47
The string is accepted zxObservation:
...... ......
x
y
z
q
48
The string is accepted
zyyxObservation:
...... ......
x
y
z
q
49
The string is accepted
zyyyxObservation:
...... ......
x
y
z
q
50
The string
zyx iGenerally:
...,2,1,0i
...... ......
x
y
z
q
is accepted
51
The Pumping Lemma
Given an infinite regular language L there exists an integer such that m for any string with length Lw mw ||
we can write zyxw
with andmyx || 1|| y
such that: Lzyx i ...,2,1,0i
52
Applications of
the Pumping Lemma
53
Theorem
The language}0:{ nbaL nn
is not regular.
Proof
Use the Pumping Lemma!
54
Assume to the contrary,that is a regular language.L
Since is infinitewe can apply the Pumping Lemma.
L
}0:{ nbaL nn
55
Let be the integer in the Pumping Lemma
Pick a string such that: w Lw
mw ||with length
mmbaw e.g. pick
m
}0:{ nbaL nn
56
Write: zyxba mm
it must be that length
From the Pumping Lemma
1||,|| ymyx
Therefore:
1, kay k
babaaaaba mm ............
x y z
m m
57
From the Pumping Lemma: Lzyx i ...,2,1,0i
We can choose
mmbazyx
0i
We have:
1, kay k
Lbaw mkm
CONTRADICTION!
58
Therefore: Our assumption thatis a regular language is not true.
L
Conclusion
L is not a regular language.
END OF PROOF
59
Regular languages
ba * acb *
...etc
*)( bacb
Non-regular languages
}0:{ nba nn
60
Theorem The language
Proof
Use the Pumping Lemma!
is not regular.
*}:{ wwwL R },{ ba
61
*}:{ wwwL R
Assume to the contrary,that is a regular language.
Since is infinitewe can apply the Pumping Lemma.
L
L
62
mmmm abbaw pick
Pick a string such that: w Lw
mw ||length
Let be the integer in the Pumping Lemma.m
*}:{ wwwL R
63
Write zyxabba mmmm
it must be that lengthFrom the Pumping Lemma
ababbabaaaaabba mmmm ..................
x y z
m m m m
1||,|| ymyx
1, kay k
64
ababbabaaaaabba mmmm ..................
x y z
m m m m
1, kay k
We can choose 0i
CONTRADICTION!
So we get a’s on the left, while is on the right:
km m
65
Conclusion
L is not a regular language.
Our assumption thatis a regular language is not true.
Therefore:
END OF PROOF
L
66
Regular languages
ba * acb *
...etc
*)( bacb
Non-regular languages
}0:{ nba nn *}:{ wwwR
67
Theorem The language
is not regular.
Proof
Use the Pumping Lemma.
}0,:{ lncbaL lnln
68
Assume to the contrarythat is a regular language.L
Since is infinitewe can apply the Pumping Lemma.
L
}0,:{ lncbaL lnln
69
mmm cbaw 2Pick
Let be the integer in the Pumping Lemma.
Pick a string such that: w Lw
mw ||length
m
}0,:{ lncbaL lnln
70
Write zyxcba mmm 2
cccbcabaaaaacba mmm ..................2
x y z
m m m2
it must be that length
From the Pumping Lemma 1||,|| ymyx
1, kay k
71
From the Pumping Lemma
Lzyx i ...,2,1,0i
Thus:
Lcbazxzyx mmkm 20
Lzyx 0
mmm cbazyx 2We have:
1, kay k
72
Lcba mmkm 2Therefore:
Lcba mmkm 2
BUT:
CONTRADICTION!
}0,:{ lncbaL lnln
73
Conclusion
L is not a regular language.
LTherefore: Our assumption thatis a regular language is not true.
END OF PROOF
74
Regular languages
Non-regular languages
}0,:{ lncba lnln
*}:{ wwwR}0:{ nba nn
75
Theorem
The language
is not regular.
ProofUse the Pumping Lemma.
}0:{ ! naL n
nnn )1(21!
Factorial of n, (n!) is the product of all positive integers less than or equal to n. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120 The value of 0! is 1.
76
Assume to the contrarythat is a regular language.L
Since is infinitewe can apply the Pumping Lemma.
L
}0:{ ! naL n
77
!maw Pick
Pick a string such that: w
Lw mw ||length
Let be the integer in the Pumping Lemma.m
}0:{ ! naL n
78
Write zyxam !
From the Pumping Lemma
aaaaaaaaaaam ...............!
x y z
m mm !
it must be that length 1||,|| ymyx
mkay k 1,
79
From the Pumping Lemma:
Lzyx i ...,2,1,0i
Thus:
!mazyx
Lazyyxzyx km !2
Lzyx 2
We have:
mkay k 1,
80
La km !Therefore:
!! pkm
}0:{ ! naL nSince:
mk 1
mk 1There is p
81
However
)!1( m)1(! mm!! < mmm!! mm! mmkm !
for 1m
! ! ( 1)!m m k m< <
!! pkm for any p
82
La km !
Therefore: La km !
BUT:
CONTRADICTION!
}0:{ ! naL n mk 1and
83
ConclusionL is not a regular language.
Our assumption thatis a regular language is not true.
LTherefore:
END OF PROOF
84
Regular languages
Non-regular languages
}0:{ ! nan}0,:{ lncba lnln
*}:{ wwwR }0:{ nba nn
85
Theorem
The language
is not regular.
ProofUse the Pumping Lemma.
}:{ primeiaL i
86
Assume to the contrary,that is a regular language.L
Since is infinitewe can apply the Pumping Lemma.
L
}:{ primeiaL i
87
it must be that length 1||,|| ymyx
Lw mw ||length
From the Pumping Lemma:
Lzyx i ...,2,1,0i
The length of zxyw k 1
must be prime for each string of .
mk
L
88
Thus:
But, choosing
which is not prime!
CONTRADICTION!
))(1())((
)()(
)()( 1
ylengthkylengthkk
ylengthxyzlength
zxyylengthzxylengthk
kk
)( mk
Lw
( )length xyz k
89
ConclusionL is not a regular language.
Our assumption thatis a regular language is not true.
LTherefore:
END OF PROOF
90
Regular languages
Non-regular languages
}0:{ ! nan}0,:{ lncba lnln
*}:{ wwwR }0:{ nba nn
}:{ primeiaL i
91
Theorem
The language}0:{ nbaL nn
is not regular.
Proof
Use the Pumping Lemma!
For your exercise:An alternative variant of proof from slide 53.
92
Assume to the contrarythat is a regular language.L
Since is infinitewe can apply the Pumping Lemma.
L
}0:{ nbaL nn
93
Pick a string such that: w Lw
mw ||length
mmbaw Pick
Let be the integer in the Pumping Lemma.m
}0:{ nbaL nn
94
Write: zyxba mm
it must be that: length
From the Pumping Lemma
1||,|| ymyx
Therefore: babaaaaba mm ............
1, kay kx y z
m m
95
From the Pumping Lemma: Lzyx i
...,2,1,0i
Thus:
mmbazyx
Lbazyyxzyx mkm 2
Lzyx 2
We have: 1, kay k
96
Lba mkm Therefore:
}0:{ nbaL nnBUT:
Lba mkm
CONTRADICTION
97
Our assumption thatis a regular language is not true.
L
Conclusion: L is not a regular language.
Therefore:
END OF PROOF
98
Pumping Lemma, in short
99
Observation:Every language of finite size has to be regular.
(We can easily construct an NFA that accepts every string in the language, or a union of regular expressions)
Therefore, every non-regular languagehas to be of infinite size. (contains an infinite number of strings)
100
Suppose you want to prove thatAn infinite language is not regular
1. Assume the opposite: is regular
2. The pumping lemma should hold for
3. Use the pumping lemma to obtain a contradiction
L
L
L
4. Therefore, is not regular L
101
Explanation of Step 3: How to get a contradiction with pumping lemma
i. Find a particular string which satisfies the conditions of the pumping lemma
Lw
ii. Write xyzw
iii. Show that Lzxyw i for some 1i
iv. This gives a contradiction, since from pumping lemma Lzxyw i
102
Note: It suffices to show that only one stringgives a contradiction
Lw
You don’t need to obtaincontradiction for every Lw
103
Extra Examples on Regular Languages
104
FA RE
105
FA RE
or
106
NFA DFA
Subset ConstructionDelmängdkonstruktion
107
Convert an NFA to DFAusing the subset construction
108
Each state of the DFA is a set of states of the NFA.
Start by the initial state of the DFA which is the -closure of the initial state of the NFA (all the states you reach by -transitions from the initial state) .
CLOSE{0}={0, 1, 3}=S0
109
Determine the transition function of the DFA on all inputs. Begin with the initial state S0, and determine the transition on input a.
CLOSE{0} = {0, 1, 3} = S0
(S0, a) = CLOSE{1, 2}
110
The -closure of the set {1, 2} is {1, 2, 3}This is a new state in the DFA, call it S1.
CLOSE{0} = {0, 1, 3} = S0
(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
111
With the initial state S0, determine the transition on input b. CLOSE{0} = {0, 1, 3} = S0
(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
(S0, b) = CLOSE{3}
112
The -closure of the set {3} is {1, 3}. This is a new state in the DFA, call it S2.
CLOSE{0} = {0, 1, 3} = S0
(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
(S0, b) = CLOSE{3} = {1, 3} = S2
113
Determine the transition function of the DFA from state S1 oninputs a and b. On a there is no where to go in the NFA, so wecreate a “sink“(“trap”) state for DFA.(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
(S0, b) = CLOSE{3} = {1, 3} = S2
(S1, a) = CLOSE{} = = S3
114
Determine the transition function of the DFA from state S1 oninputs a and b. On b there is a transition to an existing state S2.(S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
(S0, b) = CLOSE{3} = {1, 3} = S2
(S1, a) = CLOSE{} = = S3
(S1, b) = CLOSE{3} = {1, 3} = S2
115
Determine the transition from state S2 on inputs a and b. (S0, a) = CLOSE{1, 2} = {1, 2, 3} = S1
(S0, b) = CLOSE{3} = {1, 3} = S2
(S1, a) = CLOSE{} = = S3
(S1, b) = CLOSE{3} = {1, 3} = S2
(S2, a) = CLOSE{} = = S3
(S2, b) = CLOSE{3} = {1, 3} = S2
116
Determining the transition from state S2 on inputs a and b is easy;from the empty set of states there are no transitions in the NFA. Inthe DFA this is represented by a transition from the empty setback to itself.
117
The final states of the DFA are determined from the final states of the NFA. State 3 was the only final state in the NFA. (Any set of NFA states containing a final state is a final state in the DFA.)
118
NFA DFA RESULT
State elimination
+10* 0*11
0*1
q0 q1 q2
01
q0 q2
01
(+10*)(0*1)*0*11
q0 q2
(+10*)(0*1)*0*11 + 01
Example 7Convert the following NFA to DFA.
s
p
0
ε0 ε
0
1
1
ε
0
rsrp
0 qrp
1
s
q, r, p
0
10
1
q
s
p
0
0
0
1
10
r
q0
q
1
q r p
0
1
0
1
Converting the NFA to DFA
p r sp r s
122
Application: Lex - lexical analyzer
Lex
RE NFA DFAMinimalDFA
The final states of the DFA are associated with actions.