Presentation is loading. Please wait.

Presentation is loading. Please wait.

Non-regular languages

Similar presentations


Presentation on theme: "Non-regular languages"— Presentation transcript:

1 Non-regular languages
The Chinese University of Hong Kong Fall 2011 CSCI 3130: Automata theory and formal languages Non-regular languages Andrej Bogdanov

2 A non-regular language
An example We reason by contradiction: Suppose we have managed to construct a DFA M for L We argue something must be wrong with this DFA In particular, M must accept some strings outside L L = {0n1n: n ≥ 0} is not regular.

3 A non-regular language
imaginary DFA for L with n states M x What happens when we run M on input x = 0n+11n+1? M better accept, because x  L

4 A non-regular language
M x 0r1n+1 What happens when we run M on input x = 0n+11n+1? M better accept, because x  L But since M has n states, it must revisit at least one of its states while reading 0n+1

5 Pigeonhole 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.

6 A non-regular language
M x 0r1n+1 What happens when we run M on input x = 0n+11n+1? M better accept, because x  L2 But since M has n states, it must revisit at least one of its states while reading 0n+1 But then the DFA must contain a loop with 0s

7 A non-regular language
M 0r1n+1 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!

8 General 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 any number of times, keeps the input inside L an z a1 ak ak+1 an-1 an+1…am

9 Pumping lemma for regular languages
Pumping lemma: 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 u w

10 Arguing 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.

11 Proving 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 (say Donald) Donald choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) you choose z  L choose i you win if uviw  L 1 2

12 Arguing non-regularity
You need to give a strategy that, regardless of what the adversary does, always wins you the game Donald choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) you choose z  L choose i you win if uviw  L 1 2

13 Example L = {0n1n: n ≥ 0} Donald
choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) you choose z  L choose i you win if uviw  L 1 2 L = {0n1n: n ≥ 0} Donald you 1 choose n z = 0n1n 2 write z = uvw i = 2 uv2w = 0n+k1n  L u v w u v w

14 Example LDUP = {0n10n1: n ≥ 0} Donald you choose n z = 0n10n1
2 write z = uvw i = 2 uv2w = 0n+k10n1  L u v w u v w

15 Which of these are regular?
L1 = {x: x has same number of 0s and 1s} L2 = {x: x = 0n1m, n > m ≥ 0} L3 = {x: x has same number of patterns 01 and 10} L4 = {x: x has same number of patterns 01 and 10} L5 = {x: x has different number of 0s and 1s} S = {0, 1}

16 Example L1 = {x: x has same number of 0s and 1s} Donald you choose n
z = 0n1n 2 write z = uvw i = 2 uv2w = 0n+k1n  L3 u v w u v w

17 Example L2 = {x: x = 0m1n, m > n ≥ 0} Donald you choose n
z = 0n+11n 2 write z = uvw i = 0 uv0w = 0j+l1n+1  L2 u v w u w

18 Example L3 = {x: x has same number of 01s and 11s}
Donald you 1 choose n z = (01)n(11)n n = 1 z = 0111  L4 has too many 11s What we have in mind: n = 1 z = 011 n = 2 z = n = 3 z = z = (01)n1n has n 01s and n 11s

19 Example L3 = {x: x has same number of 01s and 11s} Donald you win!
choose n z = (01)n1n 2 write z = uvw i = 0 Taking out v will kill at least one 01, but it does not kill any 11s u v w u v w or so uv0w  L3

20 Example L4 = {x: x has same number of 01s and 01s} Donald you choose n
z = (01)n(10)n n = 1 z = 0110 n = 2 z = n = 3 z =

21 Example is regular! L4 = {x: x has same number of 01s and 10s} Donald
you 1 choose n z = (01)n(10)n 2 write z = uvw i = 2 i = 0 u v w 5 01 patterns 5 10 patterns u v w 6 01 patterns 6 10 patterns u w 4 01 patterns 4 10 patterns

22 Example L4 = {x: x has same number of 01s and 10s} one more 10
r0 r1 1 1 q0 one more 01 1 1 s0 s1 L4 = {x: x has same number of 01s and 10s}

23 there is an easier way! Example
L4 = {x: x has different number of 0s than 1s} Donald you 1 choose n z = ? there is an easier way! L1 = {x: x has same number of 0s and 1s} = L4 If L4 is regular, then L1 = L4 is also regular But L1 is not regular, so L4 cannot be regular

24 Extra example L5 = {1p: p is prime} Donald you choose n
z = 1p: p > n is prime 2 write z = uvw = 1a1b1c i = ? = a + c uviw = 1a1ib1c = 1(a+c)+ib = 1(a+c)+(a+c)b u = 1a v = 1b w = 1c = 1(a+c)(b+1) = 1composite  L5


Download ppt "Non-regular languages"

Similar presentations


Ads by Google