complementing b chi automata
play

Complementing Bchi automata Guillaume Sadegh LRDE EPITA Research - PowerPoint PPT Presentation

Complementing Bchi automata Guillaume Sadegh LRDE EPITA Research and Development Laboratory May 15, 2009 Guillaume Sadegh Complementing Bchi automata 1 / 25 Context Automata-theoretic approach to model checking 1. We have an


  1. Complementing Büchi automata Guillaume Sadegh LRDE – EPITA Research and Development Laboratory May 15, 2009 Guillaume Sadegh Complementing Büchi automata 1 / 25

  2. Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the propertie A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata 2 / 25

  3. Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the propertie A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata 2 / 25

  4. Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the propertie A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata 2 / 25

  5. Context Automata-theoretic approach to model checking 1. We have an automaton for the system A S , 2. We have an automaton for the propertie A P , 3. Synchronized-product between A S and ¬A P . Guillaume Sadegh Complementing Büchi automata 2 / 25

  6. Complementing Büchi Automata Why not ◮ Complementation is unrealistic in practice, Best algorithms produce 2 O ( n log n ) states for an automaton with n states. ◮ Model checking avoids the complementation. ( ¬A ϕ ≡ A ¬ ϕ ) . Why ◮ When properties are not forumlæ, ◮ To enrich our library, ◮ As a theoretical subject for Transition-based Generalized Büchi Automata. Guillaume Sadegh Complementing Büchi automata 3 / 25

  7. Outline Overview on ω -automata 1 Definitions The complementation 2 Safra’s construction Streett to non-deterministic Büchi Conclusion and Perspectives 3 Guillaume Sadegh Complementing Büchi automata 4 / 25

  8. Outline 1 Overview on ω -automata Definitions The complementation 2 Conclusion and Perspectives 3 Guillaume Sadegh Complementing Büchi automata 5 / 25

  9. ω -automata Definition An ω -automaton is a quintuplet A = ( Q , Σ , δ, q 0 , F ) that recognizes infinite words, with: ◮ Q a finite set of states, ◮ Σ the alphabet, ◮ δ : Q × Σ → 2 Q the transition function, ◮ q 0 ∈ Q the initial state, ◮ F the acceptance condition, which is a formula on states. Guillaume Sadegh Complementing Büchi automata 6 / 25

  10. Acceptance conditions Büchi (1962) acceptance condition ◮ The Büchi acceptance condition is a set of states. A run must visit infinitely often some states of this acceptance condition to be accepting. ◮ Formally, a run π is accepting iff inf ( π ) ∩ F � = ∅ with F ⊆ Q . 3 1 2 States in the accepting set are marked with . Guillaume Sadegh Complementing Büchi automata 7 / 25

  11. Acceptance conditions Büchi (1962) acceptance condition ◮ The Büchi acceptance condition is a set of states. A run must visit infinitely often some states of this acceptance condition to be accepting. ◮ Formally, a run π is accepting iff inf ( π ) ∩ F � = ∅ with F ⊆ Q . 3 1 2 States in the accepting set are marked with . Deterministic Büchi are less expressive than non-deterministic Büchi! Guillaume Sadegh Complementing Büchi automata 7 / 25

  12. Acceptance conditions Rabin (1969) acceptance condition ◮ The Rabin acceptance condition F is a set of pair of sets of states. For each pair ( L , U ) , a run must visit infinitely often some states of L and finitely often states of U . ◮ Formally, a run π is accepting iff ∃ i : inf ( π ) ∩ L i � = ∅ ∧ inf ( π ) ∩ U i = ∅ 3 1 2 F = { ( L 1 , U 1 ) , ( L 2 , U 2 ) } denoted by { ( , ) , ( , ) } . Guillaume Sadegh Complementing Büchi automata 8 / 25

  13. Acceptance conditions Streett (1982) acceptance condition: the dual ◮ The Streett acceptance condition F is a set of pair of sets of states. For each pair ( L , U ) , if a run visits infinitely often some states of L then it must visit infinitely often some states of U . ◮ Formally, a run π is accepting iff ∀ i : inf ( π ) ∩ L i = ∅ ∨ inf ( π ) ∩ U i � = ∅ 3 1 2 F = { ( L 1 , U 1 ) , ( L 2 , U 2 ) } denoted by { ( , ) , ( , ) } . Guillaume Sadegh Complementing Büchi automata 8 / 25

  14. Switching between classes (Löding, 1998; Safra, 1989) poly exp poly NB NR NS exp exp exp exp exp exp DR DS ≡ DR Guillaume Sadegh Complementing Büchi automata 9 / 25

  15. Outline Overview on ω -automata 1 2 The complementation Safra’s construction Streett to non-deterministic Büchi 3 Conclusion and Perspectives Guillaume Sadegh Complementing Büchi automata 10 / 25

  16. The complementation Safra’s construction 1. Transform non-deterministic Büchi into deterministic Rabin � 2 O ( n log n ) � , 2. Interpret the deterministic Rabin automaton as a deterministic Streett one, 3. Transform deterministic Streett into a non-deterministic n · 2 O ( r ) � � Büchi . Guillaume Sadegh Complementing Büchi automata 11 / 25

  17. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b q 0 q 1 { q 0 } b L = [ ab ] ⋆ b ω a , b Guillaume Sadegh Complementing Büchi automata 12 / 25

  18. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b q 0 q 1 { q 0 } b L = [ ab ] ⋆ b ω a , b a Guillaume Sadegh Complementing Büchi automata 12 / 25

  19. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b b q 0 q 1 { q 0 } { q 0 , q 1 } b L = [ ab ] ⋆ b ω a , b a Guillaume Sadegh Complementing Büchi automata 12 / 25

  20. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b b q 0 q 1 { q 0 } { q 0 , q 1 } b b L = [ ab ] ⋆ b ω a , b a Guillaume Sadegh Complementing Büchi automata 12 / 25

  21. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b b q 0 q 1 { q 0 } { q 0 , q 1 } b b a L = [ ab ] ⋆ b ω a , b a Guillaume Sadegh Complementing Büchi automata 12 / 25

  22. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ The classical powerset construction does not work for ω -automata! b b q 0 q 1 { q 0 } { q 0 , q 1 } b b a L = [ ab ] ω L = [ ab ] ⋆ b ω a , b a ◮ Too many accepting run are constructed. Guillaume Sadegh Complementing Büchi automata 12 / 25

  23. Safra’s construction Transform non-deterministic Büchi into deterministic Rabin ◮ Safra’s idea: using subsets of states in a tree. The label, a set of states The tree { q 0 , q 1 , q 2 } The name 1 { q 1 , q 2 } 2 This node is marked Two nodes Guillaume Sadegh Complementing Büchi automata 13 / 25

  24. Safra’s construction The construction! Transforming B = ( Q , Σ , δ, q 0 , F ) into R = ( Q ′ , Σ , δ ′ , q ′ 0 , { ( L 1 , U 1 ) , . . . , ( L 2 n , U 2 n ) } ) . ◮ Initial state: a Safra tree with q 0 as label. ◮ Successors of the tree T for σ ∈ Σ is computed as follows: 1. Remove marks. 2. Branch accepting: A node with an accepting state in its label has a new child. 3. Powerset: The successor function is applied on each node. 4. Horizontal merge: To limit the width of the tree. 5. Remove empty: Empty nodes track finite runs. 6. Vertical merge: Recurrent nodes track infinite runs. ◮ Q ′ is all the reachable Safra trees. Merging produces trees with at most | Q | nodes Guillaume Sadegh Complementing Büchi automata 14 / 25

  25. Safra’s construction The construction! Transforming B = ( Q , Σ , δ, q 0 , F ) into R = ( Q ′ , Σ , δ ′ , q ′ 0 , { ( L 1 , U 1 ) , . . . , ( L 2 n , U 2 n ) } ) . ◮ Initial state: a Safra tree with q 0 as label. ◮ Successors of the tree T for σ ∈ Σ is computed as follows: 1. Remove marks. 2. Branch accepting: A node with an accepting state in its label has a new child. 3. Powerset: The successor function is applied on each node. 4. Horizontal merge: To limit the width of the tree. 5. Remove empty: Empty nodes track finite runs. 6. Vertical merge: Recurrent nodes track infinite runs. ◮ Q ′ is all the reachable Safra trees. Merging produces trees with at most | Q | nodes Guillaume Sadegh Complementing Büchi automata 14 / 25

  26. Safra’s construction The construction! Transforming B = ( Q , Σ , δ, q 0 , F ) into R = ( Q ′ , Σ , δ ′ , q ′ 0 , { ( L 1 , U 1 ) , . . . , ( L 2 n , U 2 n ) } ) . ◮ Initial state: a Safra tree with q 0 as label. ◮ Successors of the tree T for σ ∈ Σ is computed as follows: 1. Remove marks. 2. Branch accepting: A node with an accepting state in its label has a new child. 3. Powerset: The successor function is applied on each node. 4. Horizontal merge: To limit the width of the tree. 5. Remove empty: Empty nodes track finite runs. 6. Vertical merge: Recurrent nodes track infinite runs. ◮ Q ′ is all the reachable Safra trees. Merging produces trees with at most | Q | nodes Guillaume Sadegh Complementing Büchi automata 14 / 25

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