Title: CSC 3130: Automata theory and formal languages
1Fall 2008
The Chinese University of Hong Kong
CSC 3130 Automata theory and formal languages
Limitations of finite automata
Andrej Bogdanov http//www.cse.cuhk.edu.hk/andrej
b/csc3130
2Many examples of regular languages
((0 1)0 (0 1)(0 1)(0 1))
all strings not containing pattern 010 followed
by 101
Is every language regular?
3Which are regular?
L1 0n1m n, m 0 L2 0n1n n 0
S 0, 1
S 1
L3 1n n is divisible by 3 L4 1n n is
prime
S 0, 1
L5 x x has same number of 0s and 1s L6 x
x has same number of patterns 01 and 10
4Which are regular?
01, so regular
L1 0n1m n, m 0
- How about
- Lets try to design a DFA for it it appears
that we need infinitely many states!
L2 0n1n n 0 e, 01, 0011, 000111,
5A non-regular language
- Theorem
- To prove this, we argue by contradiction
- Suppose we have managed to construct a DFA M for
L2 - We show something must be wrong with this DFA
- In particular, M must accept some strings not in
L2
The language L2 0n1n n 0 is not regular.
6A non-regular language
imaginary DFA for L2 with n states
M
x
- What happens when we run M on input x 0n11n1?
- M better accept, because x ? L2
7A non-regular language
0
M
x
0
0
0
0
0r1n1
- What happens when we run M on input x 0n11n1?
- M better accept, because x ? L2
- But since M has n states, it must revisit at
least one of its states while reading 0n1
8Pigeonhole principle
Suppose you are tossing n 1 balls into n bins.
Then two balls end up in the same bin.
- Here, balls are 0s, bins are states
If you have a DFA with n states and it reads n
1 consecutive 0s, then it must end up in the same
state twice.
9A non-regular language
0
M
x
0
0
0
0
0r1n1
- What happens when we run M on input x 0n11n1?
- M better accept, because x ? L2
- But since M has n states, it must revisit at
least one of its states while reading 0n1 - But then the DFA must contain a loop with 0s
10A non-regular language
0
M
0
0
0
0
0r1n1
- The DFA will then also accept strings that go
around the loop multiple times - But such strings have more 0s than 1s, so they
are not in L2!
11General method for showing non-regularity
- Every regular language L has a property
- For every sufficiently long input z in L, there
is a middle part in z that, even if repeated
several times, keeps the input inside L
an
z
a1
ak1
an-1
ak
an1am
12Pumping lemma for regular languages
- Theorem For every regular language L
There exists a number n such that for every
string z in L, we can write z u v w where ?
uv n ? v 1 ? For every i 0, the
string u vi w is in L.
v
z
w
u
13Proving non-regularity
- If L is regular, then
- So to prove L is not regular, it is enough to
show
There exists n such that for every z in L, we can
write z u v w where ?uv n, ?v 1 and ?
For every i 0, the string u vi w is in L.
For every n there exists z in L, such that for
every way of writing z u v w where?uv n
and ?v 1, the string u vi w is not in L for
some i 0.
14Proving non regularity
For every n there exists z in L, such that for
every way of writing z u v w where?uv n
and ?v 1, the string u vi w is not in L for
some i 0.
- This is a game between you and an imagined
adversary
adversary choose nwrite z uvw (uv n,v
1)
you choose z ? Lchoose iyou win if uviw ? L
1
2
15Proving non-regularity
- You need to give a strategy that, regardless of
what the adversary does, always wins you the game
adversary choose nwrite z uvw (uv n,v
1)
you choose z ? Lchoose iyou win if uviw ? L
1
2
16Example
adversary choose nwrite z uvw (uv n,v
1)
you choose z ? Lchoose iyou win if uviw ? L
1
2
adversary choose nwrite z uvw (uv n,v
1)
you z 0n11n1i 2 uviw 0j2kl1n1
0n1k1n1 ? L
1
2
u 0j, v 0k, w 0l1n1
j k l n 1
17More examples
L3 1n n is divisible by 3 L4 1n n is
prime
S 1
S 0, 1
L5 x x has same number of 0s and 1s L6 x
x has same number of patterns 01 and 10 L7 x
x has more 0s than 1s L8 x x has different
number of 0s and 1s