Your SlideShare is downloading. ×

MELJUN CORTES Automata Theory (Automata5)

42

Published on

MELJUN CORTES Automata Theory (Automata5)

MELJUN CORTES Automata Theory (Automata5)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
42
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MELJUN P. CORTES, MBA,MPA,BSCS,ACS CSC 3130: Automata theory and formal languages Limitations of finite automata MELJUN CORTES
  • 2. Many examples of regular languages 0 q0 1 1 q1 0 ((0 + 1)0 + (0 + 1)(0 + 1)(0 + 1))* 0, 1 q0 1 q1 0 q2 1 q3 all strings not containing pattern 010 followed by 101 Is every language regular?
  • 3. Which are regular? L1 = {0n1m: n, m ≥ 0} Σ = {0, 1} L2 = {0n1n: n ≥ 0} L3 = {1n: n is divisible by 3} Σ = {1} L4 = {1n: n is prime} L5 = {x: x has same number of 0s and 1s} L6 = {x: x has same number of patterns 01 and 10} Σ = {0, 1}
  • 4. Which are regular? L1 = {0n1m: n, m ≥ 0} = 0*1*, so regular • How about: L2 = {0n1n: n ≥ 0} = {ε, 01, 0011, 000111, …} • Let’s try to design a DFA for it … it appears that we need infinitely many states!
  • 5. A non-regular language • Theorem The language L2 = {0n1n: n ≥ 0} is not regular. • 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
  • 6. A non-regular language imaginary DFA for L2 with n states x M • What happens when we run M on input x = 0n+11n+1? – M better accept, because x ∈ L2
  • 7. A non-regular language 0 x 0 0 0 M 0 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
  • 8. 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.
  • 9. A non-regular language 0 x 0 0 0 M 0 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
  • 10. A non-regular language 0 0 0 0 M 0 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!
  • 11. General method for showing non-regularity • Every regular language L has a property: an z a1 … ak ak+1 … an-1 an+1…am • 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
  • 12. Pumping 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. z … u v … w
  • 13. Proving non-regularity • If L is regular, then: 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. • So to prove L is not regular, it is enough to show: 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.
  • 14. 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 adversary 1 2 you choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) choose z ∈ L choose i you win if uviw ∉ L
  • 15. Proving non-regularity • You need to give a strategy that, regardless of what the adversary does, always wins you the game adversary 1 2 you choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) choose z ∈ L choose i you win if uviw ∉ L
  • 16. Example adversary you choose n 2 write z = uvw (|uv| ≤ n,|v| ≥ 1) 1 choose z ∈ L choose i you win if uviw ∉ L Σ = {0, 1} • L2 = {0n1n: n ≥ 0} adversary 1 2 you choose n write z = uvw (|uv| ≤ n,|v| ≥ 1) z = 0n+11n+1 i=2 u = 0, v = 0 , w = 01 j+k+l=n+1 j k l n+1 uviw ∉L = 0j+2k+l1n+1 = 0n+1+k1n+1
  • 17. More examples L3 = {1n: n is divisible by 3} Σ = {1} L4 = {1n: n is prime} 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} Σ = {0, 1}

×