non deterministic finite automata
play

Non-deterministic Finite Automata H. Geuvers and T. van Laarhoven - PowerPoint PPT Presentation

Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Non-deterministic Finite Automata H. Geuvers and T. van Laarhoven Institute for Computing and Information Sciences Intelligent Systems Radboud


  1. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Non-deterministic Finite Automata H. Geuvers and T. van Laarhoven Institute for Computing and Information Sciences – Intelligent Systems Radboud University Nijmegen Version: fall 2014 H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 1 / 18

  2. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Outline Non-deterministic Finite Automata Eliminating non-determinism H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 2 / 18

  3. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Previous Weeks Regular Expressions and Regular Languages rexp Σ ::= ∅ | λ | s | rexp Σ rexp Σ | rexp Σ + rexp Σ | rexp ∗ Σ with s ∈ Σ L ⊆ Σ ∗ is regular if L = L ( e ) for some regular expression e . Deterministic Finite Automata, DFA Proposition Closure under complement, union, intersection If L 1 , L 2 are accepted by some DFA, then so are • L 1 = Σ ∗ − L 1 • L 1 ∪ L 2 • L 1 ∩ L 2 . H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 3 / 18

  4. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Kleene’s Theorem (announced last lecture) Theorem The languages accepted by DFAs are exactly the regular languages We prove this by 1 If L = L ( M ) for some DFA M , then there is a regular expression e such that L = L ( e ) (Previous lecture) 2 If L = L ( e ), for some regular expression e , then there is a non-deterministic finite automaton with λ -steps (NFA λ ) M such that L = L ( M ). (This lecture) 3 For every NFA λ , M , there is a DFA M ′ such that L ( M ) = L ( M ′ ) (This lecture) H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 4 / 18

  5. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Non-deterministic finite automaton (NFA) a , b b b q 0 q 1 q 2 start δ ( q , a ) is not one state, but a set of states. δ a b δ a b { q 0 } { q 0 , q 1 } q 0 q 0 q 0 q 0 , q 1 in shorthand ∅ { q 2 } q 1 q 1 q 2 ∅ ∅ q 2 q 2 H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 6 / 18

  6. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Non-deterministic Finite Automata: NFA (formally) M is a NFA over Σ if M = ( Q , q 0 , δ, F ) with is a finite set of states Q q 0 ∈ Q is the initial state F ⊆ Q is a finite set of final states δ : Q × Σ → P Q is the transition function [ P Q denotes the collection of subsets of Q ] Reading function δ ∗ : Q × Σ ∗ → P Q (multi-step transition) δ ∗ ( q , λ ) { q } = { q ′ | q ′ ∈ δ ∗ ( p , w ) for some p ∈ δ ( q , a ) } δ ∗ ( q , aw ) = � = δ ∗ ( p , w ) p ∈ δ ( q , a ) [ � X i denotes the union of all the X i ] The language accepted by M , notation L ( M ), is: L ( M ) = { w ∈ Σ ∗ | ∃ q f ∈ F ( q f ∈ δ ∗ ( q 0 , w )) } H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 7 / 18

  7. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism For the union of languages we can put NFAs in parallel Example. Suppose we want to have an NFA for L 1 ∪ L 2 = { w | | w | a is even or | w | b ≥ 1 } First idea: put the two machines “non-deterministically” in parallel b b a , b a a start ev od b start 0 1 a a , b b a start ev0 od a b a 1 But this is wrong: The NFA accepts aaa . H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 8 / 18

  8. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Non-deterministic Finite Automata with silent steps: NFA λ We add λ -transitions or ‘silent steps’ to NFAs The correct union of M 1 and M 2 is: b b a ev od λ a start U a , b a λ b 0 1 In an NFA λ we allow δ ( q , λ ) = q ′ for q � = q ′ . That means δ : Q × (Σ ∪ { λ } ) → P Q H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 9 / 18

  9. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism NFA λ formally M is an NFA λ over Σ if M = ( Q , q 0 , δ, F ) with is a finite set of states Q q 0 ∈ Q is the initial state F ⊆ Q is a finite set of final states δ : Q × (Σ ∪ { λ } ) → P Q is the transition function The λ -closure of a state q , λ -closure( q ), is the set of states reachable with only λ -steps. Reading function δ ∗ : Q × Σ ∗ → P Q (multi-step transition) δ ∗ ( q , λ ) = λ -closure( q ) { q ′ | ∃ p ∈ λ -closure( q ) ∃ r ∈ δ ( p , a ) ( q ′ ∈ δ ∗ ( r , w )) } δ ∗ ( q , aw ) = � � = δ ∗ ( r , w ) p ∈ λ -closure( q ) r ∈ δ ( p , a ) The language accepted by M , notation L ( M ), is: L ( M ) = { w ∈ Σ ∗ | ∃ q f ∈ F ( q f ∈ δ ∗ ( q 0 , w )) } H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 10 / 18

  10. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Insulated machines A finite automaton M is called insulated if • q 0 has no in-going arrows • there is only one final state which has no out-going arrows Proposition. For any machine M one can find an insulated NFA λ M ′ such that M ′ accepts the same language Proof. By adding states and silent steps, for example a b b start 0 1 gives a b λ b λ q 0 q f start 0 1 λ H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 11 / 18

  11. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Toolkit for building an NFA λ from a regular expression For each regular expression, we construct an insulated NFA λ . M such that L ( M ) = L ( e ) e q 0 start ∅ q 0 start λ a start S F a (for a ∈ Σ) M 1 S1 F1 e = e 1 + e 2 λ λ with L ( M 1 ) = L ( e 1 ) start S F λ λ L ( M 2 ) = L ( e 2 ) M 2 S2 F2 H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 12 / 18

  12. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Toolkit (continued) e M such that L ( M ) = L ( e ) e = e 1 e 2 with M 1 M 2 L ( M 1 ) = L ( e 1 ) λ start S1 F1 S2 F2 L ( M 2 ) = L ( e 2 ) e = ( e 1 ) ∗ λ M 1 with λ λ start S S1 F1 F L ( M 1 ) = L ( e 1 ) λ H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 13 / 18

  13. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Regular languages accepted by a NFA λ Proposition. For every regular expression e there is an NFA λ M e such that L ( M e ) = L ( e ) . Proof. Apply the toolkit. M e can be found by induction on the structure of e : First do this for the simplest regular expressions. For a composed regular expression compose the automata. � Corollary. For every regular language L there is an NFA λ M that accepts L (so L ( M ) = L ). H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 14 / 18

  14. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Avoiding non-determinism We can transform any NFA (and NFA λ ) into a DFA that accepts the same language. Idea: • Keep track of all the states you can go to! • A combination of states is final if one of the members is final. Example: L = { w | | w | a is even or | w | b ≥ 1 } a a ev od,0 ev,0 od b a λ a a b b b start b U start U od,1 a a , b a λ b b a 0 1 ev,1 b H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 16 / 18

  15. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Eliminating non-determinism and λ -steps Let M be a NFA given by ( Q , q 0 , δ, F ) Define the DFA M + as ( Q + , q + 0 , δ + , F + ) where Q + = P Q = { q 0 } q 0 δ + ( H , a ) � for H ⊆ Q , = δ ( q , a ) , q ∈ H F + = { H ⊆ Q | H ∩ F � = ∅} Then M + is a DFA accepting the same language as M If M is an NFA λ , we take δ + ( H , a ) � � = λ -closure( δ ( p , a )) q ∈ H p ∈ λ -closure( q ) F + { H ⊆ Q | λ -closure( H ) ∩ F � = ∅} = H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 17 / 18

  16. Non-deterministic Finite Automata Radboud University Nijmegen Eliminating non-determinism Equivalence of DFA, NFA and NFA λ Conclusion. Every NFA λ (or NFA) M can be turned into a DFA M ′ accepting the same language. Corollary. For every regular language L there is a DFA M that accepts L (so L ( M ) = L ). Proof. Given a regular expression e , first construct an NFA λ M such that L ( M ) = L ( e ). Then change it into a DFA preserving the language that is accepted. � Rephrasing of Kleene’s Theorem: The class of regular languages is (equivalently) characterized as 1 The languages described by a regular expression 2 The languages accepted by a DFA 3 The languages accepted by an NFA 4 The languages accepted by a NFA λ H. Geuvers & T. van Laarhoven Version: fall 2014 Formal Languages, Grammars and Automata 18 / 18

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