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

Recommend


More recommend