cl
play

cl the Boolean algebra of languages regular expressions - PowerPoint PPT Presentation

https://app-ca.tophat.com/e/835603 NFA and regex cl the Boolean algebra of languages regular expressions Informatics 1 School of Informatics, University of Edinburgh 1 KISS DFA D eterministic F inite A utomaton Exactly one start


  1. https://app-ca.tophat.com/e/835603 NFA and regex cl • the Boolean algebra of languages • regular expressions Informatics 1 School of Informatics, University of Edinburgh 1

  2. KISS – DFA D eterministic F inite A utomaton Exactly one start state, and from each state, q , for each token, t , there is exactly one transition from s with label t 2

  3. Two examples 1 0 1 × 2 × 2 + 1 Even 0 1 binary 1 0 0 0 1 numbers 1 0 1 0 Input sequence is accepted if it ends with a zero. 1 0 1 Odd × 2 × 2 + 1 binary 0 1 0 1 0 0 1 numbers 1 0 1 0 Input sequence is accepted if it ends with a one. Informatics 1 School of Informatics, University of Edinburgh 3

  4. The complement of a regular language is regular 0 1 1 1 0 L 0 : even numbers = 0 mod 2 0 0 1 1 L 1 : odd numbers = 1 mod 2 0 0 0 Informatics 1 School of Informatics, University of Edinburgh 4

  5. Three examples Which 1 0 × 2 × 2 + 1 0 1 binary mod 3 0 1 numbers 1 2 0 0 0 1 are 1 2 0 1 0 accepted ? 2 1 2 1 1 0 0 0 1 0 1 0 0 1 2 1 2 1 2 1 0 1 0 Informatics 1 School of Informatics, University of Edinburgh 5

  6. The complement of a regular language is regular If A ⊆ Σ * is 1 0 0 1 recognised by M then A ̅ = Σ * \ A 1 2 0 is recognised by 1 0 M ̅ where M ̅ and M are 1 0 0 1 identical except that the accepting states 0 1 2 1 2 of M ̅ are the non- 1 0 accepting states of M and vice-versa Informatics 1 School of Informatics, University of Edinburgh 6

  7. By three or not by three? 1 0 0 1 divisible by three 1 2 0 1 0 1 0 0 1 not 0 1 2 1 2 divisible by three 1 0 Informatics 1 School of Informatics, University of Edinburgh 7

  8. The intersection of two regular languages is regular L 0 = 0 mod 3 1 0 0 1 L 1 = 1 mod 3 1 2 0 L 2 = 2 mod 3 1 0 Informatics 1 School of Informatics, University of Edinburgh 8

  9. The intersection of two regular languages is regular 1 0 1 1 0 divisible by 6 0 ≣ divisible by 2 and 1 0 0 1 divisible by 3 1 0 2 1 0 Informatics 1 School of Informatics, University of Edinburgh 9

  10. The intersection of two regular languages is regular Run both machines in 0 1 1 parallel? 1 0 Build one machine 0 that simulates two machines running in parallel! 1 0 0 1 Keep track of the 1 2 0 state of each 1 0 machine. Informatics 1 School of Informatics, University of Edinburgh 10

  11. The intersection of two regular languages is regular 0 1 1 1 0 0 1 0 0 1 1 2 1 0 Informatics 1 School of Informatics, University of Edinburgh 11

  12. 1 0 1 intersection of languages 0 1 run the two machines in parallel when a string is in both languages, 0 both are in an accepting state 0 0 1 1 1 0 0 2 1 12

  13. 1 0 1 intersection of languages 0 1 run the two machines in parallel when a string is in both languages, 0 both are in an accepting state 0 00 1 01 0 1 1 10 11 1 0 0 20 21 2 1 13

  14. 1 0 1 intersection of two regular languages 
 1 0 is regular 0 0 0 0 0 00 1 01 1 run two 1 1 1 machines 1 1 in 10 11 1 0 0 synchrony 0 0 0 0 20 21 2 1 1 1 14

  15. The regular languages A ⊆ Σ * form a Boolean Algebra • Since they are closed under intersection and complement. Informatics 1 School of Informatics, University of Edinburgh 15

  16. Are all languages A ⊆ Σ * regular? A finite machine can only do so much 
 • or rather, so little. Consider the language with two symbols Σ = {0,1}, 
 consisting of the all strings 
 that contain equal numbers of zeros and ones. How can we show that this language is not regular? 1 1 1 1 1 1 1 1 − 4 − 3 − 2 − 1 0 1 2 3 4 0 0 0 0 0 0 0 0 Informatics 1 School of Informatics, University of Edinburgh 16

  17. Are all languages A ⊆ Σ * regular? Consider the language with two symbols Σ = {0,1}, consisting of the all strings that contain equal numbers of zeros and ones. Suppose we have a DFA that recognises this language. Let s n be the state the machine reaches after an input of n zeros. If the machine is in state s n and we give it an input of n ones it will be in an accepting state. Informatics 1 School of Informatics, University of Edinburgh 17

  18. Are all languages A ⊆ Σ * regular? A = strings that contain equal numbers of zeros and ones. We have a DFA that recognises this language. s n is the state the machine after an input of n zeros. If the machine is in state s n and we give it an input of n ones it will be in an accepting state. If n ≠ m what can we say about s n and s m ? Informatics 1 School of Informatics, University of Edinburgh 18

  19. Are all languages A ⊆ Σ * regular? A = strings that contain equal numbers of zeros and ones. 
 We have a DFA that recognises this language. s n is the state the machine after an input of n zeros. If the machine is in state s n (after an input of n zeros), 
 and we give it an input of m ones 
 it will be in an accepting state iff m = n. Therefore, if n ≠ m then s n ≠ s m (why?) So our machine must have infinitely many states!! An FSM with n states cannot count beyond n-1. Informatics 1 School of Informatics, University of Edinburgh 19

  20. Which languages A ⊆ Σ * are regular? What kind of answer can we give to a question like this? If we have a machine 
 then the language it recognises is regular. For some languages, L , e.g. our #0s = #1s example, 
 we can argue that no FSM can recognise L . 
 But that is not a general argument. Instead of finding a property, 
 to characterise the regular languages, 
 we will find a set of rules that generate 
 the set of regular languages. Informatics 1 School of Informatics, University of Edinburgh 20

  21. Which languages A ⊆ Σ * are regular? We give a set of rules, 
 and show that they generate all regular languages. First we work with general NFA to show that the rules are 
 sound – any language generated by the rules is regular. Then we show that for any NFA, M , there is a DFA, P (M), that recognises the same language. So, any language generated by the rules is recognised by some DFA. Then we show that the rules are complete – any regular language is generated by the rules. Informatics 1 School of Informatics, University of Edinburgh 21

  22. finite state spaghetti A natural language is a set of finite sequences of words. A formal language is a set of finite sequences of symbols. A formal language is regular iff it is the language recognised by some Finite State Machine. 22

  23. KISS – start simple NFA any number of start states and accepting states Any NFA with no accepting states, 
 e.g. the NFA with no states, 
 recognises the empty language ∅ = {}. The NFA with one state - starting and accepting, 
 and no transitions recognises the empty string { ε }. The NFA with two states and one transition, 
 a start to stop recognises {"a"} Informatics 1 School of Informatics, University of Edinburgh 23

  24. KISS – the basic regular languages The following languages are regular • The empty language ∅ = {} • The language that includes only the empty string { ε }. • The language that includes only the one-letter string {"a"} Informatics 1 School of Informatics, University of Edinburgh 24

  25. NFA any number of start states and accepting states R S 25

  26. sequence RS R S ε ε 26

  27. alternation R|S R S 27

  28. iteration R* ε ε ε R 28

  29. rules for regular languages The following languages are regular • The empty language ∅ = {} • The language that includes only the empty string { ε }. • The language that includes only the one-letter string {"a"} If R and S are regular so are • R | S = R ∪ S • RS = { rs | r ∈ R and s ∈ S } • R* generated by rules • ε ∈ R* • if x ∈ R* and r ∈ R then xr ∈ R* Informatics 1 School of Informatics, University of Edinburgh 29

  30. patterns for regular languages regular expressions for sets of strings • "" empty language ∅ = {} • ε empty string { ε }. • a one-letter string {"a"} • R | S union R ∪ S • RS concatenation { rs | r ∈ R and s ∈ S } • R* iteration precedence: R|ST* = R|(S(T*)) Informatics 1 School of Informatics, University of Edinburgh 30

  31. A Decimal Number skip ε d + ⎮ − . S d d d d start end sta sta repetition alternative paths ((+|-)\d|\d)\d*( ε | . \d*\d) where \d is (0|1|2|3|4|5|6|7|8|9) 31

  32. alb a 1 0 1 alb a 0 1 1 alb a b 1 1 2 0 c alb b a 1 2 2 0 c b a 1 2 1 0 c d 32

  33. alb a (a|b)*a 1 0 1 alb a(a|b)* a 0 1 1 alb a b (a|b)*a(bc)* 1 1 2 0 c alb b a (a|b)*ab(cb)* 1 2 2 0 c b a a(da|bc)* 1 2 1 0 c d 33

  34. rules for regular languages The following equations hold for any sets of strings R,S,T • {} | S = • {} S = • ε S = • ε * = • {}* = • R (S | T) = • S R | T R = • S* S | ε = Informatics 1 School of Informatics, University of Edinburgh 34

  35. rules for regular languages The following equations hold for any sets of strings R,S,T • {} | S = {}|S = S • {} S = S {} = {} • ε S = S ε = S • ε * = ε • {}* = {} • R (S | T) = R S | R T • (S | T) R = S R | T R • S* = S* S | ε = S S* | ε Informatics 1 School of Informatics, University of Edinburgh 35

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend