fundamentele informatica 1 i e
play

Fundamentele Informatica 1 (I&E) najaar 2015 - PowerPoint PPT Presentation

Fundamentele Informatica 1 (I&E) najaar 2015 http://www.liacs.leidenuniv.nl/~vlietrvan1/fi1ie/ Rudy van Vliet kamer 124 Snellius, tel. 071-527 5777 rvvliet(at)liacs(dot)nl college 2, vrijdag 30 oktober 2015 2.1 Finite Automata: Examples


  1. Fundamentele Informatica 1 (I&E) najaar 2015 http://www.liacs.leidenuniv.nl/~vlietrvan1/fi1ie/ Rudy van Vliet kamer 124 Snellius, tel. 071-527 5777 rvvliet(at)liacs(dot)nl college 2, vrijdag 30 oktober 2015 2.1 Finite Automata: Examples and Definitions 2.2 Accepting the Union, Intersection, or Difference of Two Languages 1

  2. reg. languages FA reg. grammar reg. expression determ. cf. languages DPDA cf. languages PDA cf. grammar re. languages TM unrestr. grammar 2

  3. Binary representations of 0,1,2,. . . ,10. . . 3

  4. Binary representations of 0,1,2,. . . ,10. . . Example 2.7. A finite automaton for accepting L 4 = { x ∈ { 0 , 1 } ∗ | x is binary representation of integer divisible by 3 } 4

  5. Example 2.9. A finite automaton for lexical analysis: accepting strings that consist of one or more consecutive ‘tokens’ in a programming language Possible tokens: identifier ; = if numeric literal 5

  6. Definition 2.11. A Finite Automaton A finite automaton (FA) is a 5-tuple ( Q, Σ , q 0 , A, δ ), where Q is a finite set of states Σ is a finite input alphabet q 0 ∈ Q is the initial state A ⊆ Q is the set of accepting states δ : . . . is the transition function Example. . . 6

  7. Definition 2.11. A Finite Automaton A finite automaton (FA) is a 5-tuple ( Q, Σ , q 0 , A, δ ), where Q is a finite set of states Σ is a finite input alphabet q 0 ∈ Q is the initial state A ⊆ Q is the set of accepting states δ : Q × Σ → Q is the transition function For any state q of Q and any symbol σ ∈ Σ, we interpret δ ( q, σ ) as the state to which the FA moves, if it is in state q and receives the input σ . 7

  8. Definition 2.12. The Extended Transition Function δ ∗ Where do we go to from state q , if we receive a string x ∈ Σ ∗ as input? Let M = ( Q, Σ , q 0 , A, δ ) be a finite automaton. We define the extended transition function δ ∗ : Q × Σ ∗ → Q as follows: 1. For every q ∈ Q , δ ∗ ( q, Λ) = q 2. For every q ∈ Q , every y ∈ Σ ∗ , and every σ ∈ Σ, δ ∗ ( q, yσ ) = . . . 8

  9. Definition 2.12. The Extended Transition Function δ ∗ Where do we go to from state q , if we receive a string x ∈ Σ ∗ as input? Let M = ( Q, Σ , q 0 , A, δ ) be a finite automaton. We define the extended transition function δ ∗ : Q × Σ ∗ → Q as follows: 1. For every q ∈ Q , δ ∗ ( q, Λ) = q 2. For every q ∈ Q , every y ∈ Σ ∗ , and every σ ∈ Σ, δ ∗ ( q, yσ ) = δ ( δ ∗ ( q, y ) , σ ) Recursive definition 9

  10. Definition 2.12. The Extended Transition Function δ ∗ Where do we go to from state q , if we receive a string x ∈ Σ ∗ as input? Let M = ( Q, Σ , q 0 , A, δ ) be a finite automaton. We define the extended transition function δ ∗ : Q × Σ ∗ → Q as follows: 1. For every q ∈ Q , δ ∗ ( q, Λ) = q 2. For every q ∈ Q , every y ∈ Σ ∗ , and every σ ∈ Σ, δ ∗ ( q, yσ ) = δ ( δ ∗ ( q, y ) , σ ) ✬✩ ✬✩ ✬✩ ✬✩ a c ♣ b p q r s ✲ ✲ ✲ ✲ ✫✪ ✫✪ ✫✪ ✫✪ δ ∗ ( p, abc ) = . . . 10

  11. Definition 2.13. Acceptance by a Finite Automaton Let M = ( Q, Σ , q 0 , A, δ ) be a finite automaton, and let x ∈ Σ ∗ . The string x is accepted by M if δ ∗ ( q 0 , x ) ∈ A and is rejected by M otherwise. The language accepted by M is the set L ( M ) = { x ∈ Σ ∗ | x is accepted by M } If L is a language over Σ, L is accepted by M if and only if L = L ( M ). M accepts L and nothing more! 11

  12. 2.2 Accepting the Union, Intersection, or Difference of Two Languages 12

  13. Example 2.16. Let L 1 = { x ∈ { a, b } ∗ | aa is not a substring of x } L 2 = { x ∈ { a, b } ∗ | x ends with ab } FAs for: L 1 , L 2 , L 1 ∪ L 2 13

  14. Theorem 2.15. Suppose M 1 = ( Q 1 , Σ , q 1 , A 1 , δ 1 ) and M 2 = ( Q 2 , Σ , q 2 , A 2 , δ 2 ) are finite automata accepting L 1 and L 2 , respectively. Let M be the FA ( Q, Σ , q 0 , A, δ ), where Q = Q 1 × Q 2 q 0 = ( q 1 , q 2 ) and the transition function δ is defined by the formula δ (( p, q ) , σ ) = ( δ 1 ( p, σ ) , δ 2 ( q, σ )) for every p ∈ Q 1 , every q ∈ Q 2 , and every σ ∈ Σ. Then 1. If A = { ( p, q ) | p ∈ A 1 or q ∈ A 2 } , M accepts the language L 1 ∪ L 2 . 2. If . . . M accepts the language L 1 ∩ L 2 . 3. If . . . M accepts the language L 1 − L 2 . 14

  15. Theorem 2.15. Suppose M 1 = ( Q 1 , Σ , q 1 , A 1 , δ 1 ) and M 2 = ( Q 2 , Σ , q 2 , A 2 , δ 2 ) are finite automata accepting L 1 and L 2 , respectively. Let M be the FA ( Q, Σ , q 0 , A, δ ), where Q = Q 1 × Q 2 q 0 = ( q 1 , q 2 ) and the transition function δ is defined by the formula δ (( p, q ) , σ ) = ( δ 1 ( p, σ ) , δ 2 ( q, σ )) for every p ∈ Q 1 , every q ∈ Q 2 , and every σ ∈ Σ. Then 1. If A = { ( p, q ) | p ∈ A 1 or q ∈ A 2 } , M accepts the language L 1 ∪ L 2 . 2. If A = { ( p, q ) | p ∈ A 1 and q ∈ A 2 } , M accepts the language L 1 ∩ L 2 . 3. If A = { ( p, q ) | p ∈ A 1 and q / ∈ A 2 } , M accepts the language L 1 − L 2 . 15

  16. Example 2.16. Let L 1 = { x ∈ { a, b } ∗ | aa is not a substring of x } L 2 = { x ∈ { a, b } ∗ | x ends with ab } FAs for: L 1 , L 2 , L 1 ∪ L 2 , L 1 ∩ L 2 , and L 1 − L 2 simplification possible 16

  17. Example 2.18. Let L 1 = { x ∈ { a, b } ∗ | x contains the substring ab } L 2 = { x ∈ { a, b } ∗ | x contains the substring bba } FAs for: L 1 , L 2 , and L 1 ∪ L 2 = { x ∈ { a, b } ∗ | x contains either ab or bba } (two versions) 17

  18. Corollary. For every finite language . . . 18

  19. Corollary. For every finite language L = { x 1 , x 2 , . . . , x n } for some n ≥ 0, we can construct an FA accepting L . Proof L = { x 1 } ∪ { x 2 } ∪ . . . ∪ { x n } 19

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