3 7 simplification of finite automata
play

3.7: Simplification of Finite Automata In this section, we: say what - PowerPoint PPT Presentation

3.7: Simplification of Finite Automata In this section, we: say what it means for a finite automaton to be simplified; study an algorithm for simplifying finite automata; and see how finite automata can be simplified in Forlan. 1 / 17 3.7:


  1. 3.7: Simplification of Finite Automata In this section, we: say what it means for a finite automaton to be simplified; study an algorithm for simplifying finite automata; and see how finite automata can be simplified in Forlan. 1 / 17

  2. 3.7: Simplification of Finite Automata In this section, we: say what it means for a finite automaton to be simplified; study an algorithm for simplifying finite automata; and see how finite automata can be simplified in Forlan. Suppose M is the finite automaton 0 1 2 0 % % Start A B C D E 0 What is odd about M ? 1 / 17

  3. 3.7: Simplification of Finite Automata In this section, we: say what it means for a finite automaton to be simplified; study an algorithm for simplifying finite automata; and see how finite automata can be simplified in Forlan. Suppose M is the finite automaton 0 1 2 0 % % Start A B C D E 0 What is odd about M ? First, there are no valid labeled paths from the start state to D and E, and so these states are redundant. 1 / 17

  4. 3.7: Simplification of Finite Automata In this section, we: say what it means for a finite automaton to be simplified; study an algorithm for simplifying finite automata; and see how finite automata can be simplified in Forlan. Suppose M is the finite automaton 0 1 2 0 % % Start A B C D E 0 What is odd about M ? First, there are no valid labeled paths from the start state to D and E, and so these states are redundant. Second, there are no valid labeled paths from C to an accepting state, and so it is also redundant. 1 / 17

  5. Useful States Suppose M is a finite automaton. We say that a state q ∈ Q M is: • reachable in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is s M , and the end state of lp is q ; 2 / 17

  6. Useful States Suppose M is a finite automaton. We say that a state q ∈ Q M is: • reachable in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is s M , and the end state of lp is q ; • live in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is q , and the end state of lp is in A M ; 2 / 17

  7. Useful States Suppose M is a finite automaton. We say that a state q ∈ Q M is: • reachable in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is s M , and the end state of lp is q ; • live in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is q , and the end state of lp is in A M ; • dead in M iff q is not live in M ; and 2 / 17

  8. Useful States Suppose M is a finite automaton. We say that a state q ∈ Q M is: • reachable in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is s M , and the end state of lp is q ; • live in M iff there is a labeled path lp such that lp is valid for M , the start state of lp is q , and the end state of lp is in A M ; • dead in M iff q is not live in M ; and • useful in M iff q is both reachable and live in M . 2 / 17

  9. Useful States Example Let M be our example finite automaton: 0 1 2 0 % % Start A B C D E 0 The reachable states of M are: 3 / 17

  10. Useful States Example Let M be our example finite automaton: 0 1 2 0 % % Start A B C D E 0 The reachable states of M are: A, B and C. The live states of M are: 3 / 17

  11. Useful States Example Let M be our example finite automaton: 0 1 2 0 % % Start A B C D E 0 The reachable states of M are: A, B and C. The live states of M are: A, B, D and E. And, the useful states of M are: 3 / 17

  12. Useful States Example Let M be our example finite automaton: 0 1 2 0 % % Start A B C D E 0 The reachable states of M are: A, B and C. The live states of M are: A, B, D and E. And, the useful states of M are: A and B. 3 / 17

  13. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if ∈ X and ( q , x , r ) ∈ T M , then ∈ X . 4 / 17

  14. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if ∈ X and ( q , x , r ) ∈ T M , then ∈ X . 4 / 17

  15. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if q ∈ X and ( q , x , r ) ∈ T M , then r ∈ X . 4 / 17

  16. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if q ∈ X and ( q , x , r ) ∈ T M , then r ∈ X . Similarly, there is a simple algorithm for generating the set of live states of a finite automaton M . We generate the least subset Y of Q M such that: • ⊆ Y ; and • for all q , r ∈ Q M and x ∈ Str , if ∈ Y and ( q , x , r ) ∈ T M , then ∈ Y . 4 / 17

  17. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if q ∈ X and ( q , x , r ) ∈ T M , then r ∈ X . Similarly, there is a simple algorithm for generating the set of live states of a finite automaton M . We generate the least subset Y of Q M such that: • A M ⊆ Y ; and • for all q , r ∈ Q M and x ∈ Str , if ∈ Y and ( q , x , r ) ∈ T M , then ∈ Y . 4 / 17

  18. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if q ∈ X and ( q , x , r ) ∈ T M , then r ∈ X . Similarly, there is a simple algorithm for generating the set of live states of a finite automaton M . We generate the least subset Y of Q M such that: • A M ⊆ Y ; and • for all q , r ∈ Q M and x ∈ Str , if r ∈ Y and ( q , x , r ) ∈ T M , then q ∈ Y . 4 / 17

  19. Generating Reachable, Live and Useful States There is a simple algorithm for generating the set of reachable states of a finite automaton M . We generate the least subset X of Q M such that: • s M ∈ X ; and • for all q , r ∈ Q M and x ∈ Str , if q ∈ X and ( q , x , r ) ∈ T M , then r ∈ X . Similarly, there is a simple algorithm for generating the set of live states of a finite automaton M . We generate the least subset Y of Q M such that: • A M ⊆ Y ; and • for all q , r ∈ Q M and x ∈ Str , if r ∈ Y and ( q , x , r ) ∈ T M , then q ∈ Y . Thus, we can generate the set of useful states of an FA by generating the set of reachable states, generating the set of live states, and intersecting those sets of states. 4 / 17

  20. Redundant Transitions Now, suppose N is the FA 0 1 % , 0 , 1 Start A B What is odd about this machine? 5 / 17

  21. Redundant Transitions Now, suppose N is the FA 0 1 % , 0 , 1 Start A B What is odd about this machine? Here, the transitions (A , 0 , B) and (A , 1 , B) are redundant. 5 / 17

  22. Redundant Transitions Now, suppose N is the FA 0 1 % , 0 , 1 Start A B What is odd about this machine? Here, the transitions (A , 0 , B) and (A , 1 , B) are redundant. Given an FA M and a finite subset U of { ( q , x , r ) | q , r ∈ Q M and x ∈ Str } , we write M / U for the FA that is identical to M except that its set of transitions is U . 5 / 17

  23. Redundant Transitions Now, suppose N is the FA 0 1 % , 0 , 1 Start A B What is odd about this machine? Here, the transitions (A , 0 , B) and (A , 1 , B) are redundant. Given an FA M and a finite subset U of { ( q , x , r ) | q , r ∈ Q M and x ∈ Str } , we write M / U for the FA that is identical to M except that its set of transitions is U . If M is an FA and ( p , x , q ) ∈ T M , we say that: • ( p , x , q ) is redundant in M iff q ∈ ∆ N ( { p } , x ), where N = M / ( T M − { ( p , x , q ) } ); and 5 / 17

  24. Redundant Transitions Now, suppose N is the FA 0 1 % , 0 , 1 Start A B What is odd about this machine? Here, the transitions (A , 0 , B) and (A , 1 , B) are redundant. Given an FA M and a finite subset U of { ( q , x , r ) | q , r ∈ Q M and x ∈ Str } , we write M / U for the FA that is identical to M except that its set of transitions is U . If M is an FA and ( p , x , q ) ∈ T M , we say that: • ( p , x , q ) is redundant in M iff q ∈ ∆ N ( { p } , x ), where N = M / ( T M − { ( p , x , q ) } ); and • ( p , x , q ) is irredundant in M iff ( p , x , q ) is not redundant in M . 5 / 17

  25. Definition of Simplification We say that a finite automaton M is simplified iff either • every state of M is useful, and every transition of M is irredundant; or 6 / 17

  26. Definition of Simplification We say that a finite automaton M is simplified iff either • every state of M is useful, and every transition of M is irredundant; or • | Q M | = 1 and A M = T M = ∅ . 6 / 17

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