sat solvers for queries over tree automata with
play

SAT Solvers for Queries over Tree Automata with Constraints - PowerPoint PPT Presentation

The SAT encoding Implementation and Experiments SAT Solvers for Queries over Tree Automata with Constraints Pierre-Cyrille Ham, Vincent Hugot, Olga Kouchnarenko {pcheam,okouchnarenko}@lifc.univ-fcomte.fr, vhugot@edu.univ-fcomte.fr


  1. The SAT encoding Implementation and Experiments SAT Solvers for Queries over Tree Automata with Constraints Pierre-Cyrille Héam, Vincent Hugot, Olga Kouchnarenko {pcheam,okouchnarenko}@lifc.univ-fcomte.fr, vhugot@edu.univ-fcomte.fr Université de Franche-Comté LIFC-INRIA/CASSIS April 8, 2010 1/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  2. The SAT encoding Implementation and Experiments Plan of the talk Motivating XML example 1 2/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  3. The SAT encoding Implementation and Experiments Plan of the talk Motivating XML example 1 Introduction of notions: 2 Tree Automata 1 TAGED s 2 SAT problem 3 2/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  4. The SAT encoding Implementation and Experiments Plan of the talk Motivating XML example 1 Introduction of notions: 2 Tree Automata 1 TAGED s 2 SAT problem 3 Main contribution: 3 SAT encoding for TAGED Uniform Membership Problem 2/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  5. The SAT encoding Implementation and Experiments Plan of the talk Motivating XML example 1 Introduction of notions: 2 Tree Automata 1 TAGED s 2 SAT problem 3 Main contribution: 3 SAT encoding for TAGED Uniform Membership Problem Some experimental results: 4 Natural optimisations 1 The prototype 2 Conversion to CNF 3 2/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  6. The SAT encoding Implementation and Experiments Plan of the talk Motivating XML example 1 Introduction of notions: 2 Tree Automata 1 TAGED s 2 SAT problem 3 Main contribution: 3 SAT encoding for TAGED Uniform Membership Problem Some experimental results: 4 Natural optimisations 1 The prototype 2 Conversion to CNF 3 Conclusion. 5 2/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  7. The SAT encoding Implementation and Experiments A small example Laboratory toy example <university> <team> <member> Scotty </member> <member> Spock </member> <member> Uhura </member> <laboratory> Enterprise </laboratory> </team> <team> <member> McCoy </member> <member> Spock </member> <laboratory> Enterprise </laboratory> </team> </university> Objective: check that all teams belong to the same laboratory and no researcher is affected to two different teams. 3/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  8. The SAT encoding Implementation and Experiments A small example Laboratory toy example <university> <team> <member> Scotty </member> <member> Spock </member> <member> Uhura </member> <laboratory> Enterprise </laboratory> </team> <team> <member> McCoy </member> <member> Spock </member> <laboratory> Enterprise </laboratory> </team> </university> Objective: check that all teams belong to the same laboratory and no researcher is affected to two different teams. 3/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  9. The SAT encoding Implementation and Experiments A small example Laboratory toy example <university> <team> <member> Scotty </member> <member> Spock </member> <member> Uhura </member> <laboratory> Enterprise </laboratory> </team> <team> <member> McCoy </member> <member> Spock </member> <laboratory> Enterprise </laboratory> </team> </university> Objective: check that all teams belong to the same laboratory and no researcher is affected to two different teams . 3/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  10. The SAT encoding Implementation and Experiments Tree automata Definition through an example Tree automaton for True propositional formulæ A def = � Σ = { ∧ , ∨ / 2 , ¬ / 1 , 0 , 1 / 0 } , Q = { q 0 , q 1 } , F = { q 1 } , ∆ � ∆ = { b → q b , ∧ ( q b , q b ′ ) → q b ∧ b ′ , ∨ ( q b , q b ′ ) → q b ∨ b ′ , ¬ ( q b ) → q ¬ b | b , b ′ ∈ 0 , 1 } 4/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  11. The SAT encoding Implementation and Experiments Tree automata Definition through an example ∧ ¬ ∨ 0 ¬ ∧ 0 1 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  12. The SAT encoding Implementation and Experiments Tree automata Definition through an example 0 → q 0 , 1 → q 1 ∈ ∆ → ∗ ∧ ∧ A ¬ ∨ ¬ ∨ q 0 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  13. The SAT encoding Implementation and Experiments Tree automata Definition through an example ∧ ( q 0 , q 1 ) → q 0 , ¬ ( q 0 ) → q 1 ∈ ∆ → ∗ → ∗ ∧ ∧ ∧ A A ¬ ¬ ¬ ∨ ∨ ∨ q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  14. The SAT encoding Implementation and Experiments Tree automata Definition through an example ¬ ( q 0 ) → q 1 , ∨ ( q 0 , q 1 ) → q 1 ∈ ∆ → ∗ → ∗ → ∗ ∧ ∧ ∧ ∧ A A A q 1 q 1 ¬ ¬ ¬ ∨ ∨ ∨ q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  15. The SAT encoding Implementation and Experiments Tree automata Definition through an example ∧ ( q 1 , q 1 ) → q 1 ∈ ∆ → ∗ → ∗ → ∗ → A q 1 ∧ ∧ ∧ ∧ A A A q 1 q 1 ¬ ¬ ¬ ∨ ∨ ∨ q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  16. The SAT encoding Implementation and Experiments Tree automata Definition through an example → ∗ → ∗ → ∗ → A q 1 ∧ ∧ ∧ ∧ A A A q 1 q 1 ¬ ∨ ¬ ∨ ¬ ∨ q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from P os ( t ) to Q compatible with the transition rules. 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  17. The SAT encoding Implementation and Experiments Tree automata Definition through an example ρ = ε ∧ q 1 → ∗ → ∗ → ∗ → A q 1 ∧ ∧ ∧ ∧ A A A q 1 q 1 ¬ ∨ ¬ ∨ ¬ ∨ 1 ¬ q 1 2 ∨ q 1 q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 0 q 1 q 0 0 1 0 11 ∧ q 0 22 ¬ q 1 21 0 q 0 111 0 q 0 112 1 q 1 221 0 q 0 5/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  18. The SAT encoding Implementation and Experiments TAGED s Tree Automata With Global Equality and Disequality Constraints Introduced in Emmanuel Filiot’s PhD thesis on XML query languages. See [Filiot et al., 2008]. A TAGED is a tuple A = (Σ , Q , F , ∆ , = A , � = A ) , where (Σ , Q , F , ∆) is a tree automaton = A is a reflexive symmetric binary relation on a subset of Q � = A is an irreflexive and symmetric binary relation on Q . Note that in our work, we have dealt with a slightly more general case, where � = A is not necessarily irreflexive. A TAGED A is said to be positive if � = A is empty and negative if = A is empty. Runs must be compatible with equality and disequality constraints. 6/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  19. The SAT encoding Implementation and Experiments TAGED s Compatibility with global constraints Le ρ be a run of the TAGED A on a tree t : Compatibility with the equality constraint = A ∀ α, β ∈ P os ( t ) : ρ ( α ) = A ρ ( β ) = ⇒ t | α = t | β . Compatibility with the disequality constraint � = A (irreflexive) ∀ α, β ∈ P os ( t ) : ρ ( α ) � = A ρ ( β ) = ⇒ t | α � = t | β . Compatibility with the disequality constraint � = A (non irreflexive) ∀ α, β ∈ P os ( t ) : α � = β ∧ ρ ( α ) � = A ρ ( β ) = ⇒ t | α � = t | β . 7/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  20. The SAT encoding Implementation and Experiments TAGED s A non-regular language accepted by TAGED s TAGED for { f ( t , t ) | f ∈ Σ , t ∈ T (Σ) } A def = (Σ = { a , f } , Q = { q , ˆ q , q f } , F = { q f } , ∆ , ˆ q = A ˆ q ) , where ∆ def = { f (ˆ q , ˆ q ) → q f , f ( q , q ) → q , f ( q , q ) → ˆ q , a → q , a → ˆ q , } f f f a a a a 8/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

  21. The SAT encoding Implementation and Experiments TAGED s A non-regular language accepted by TAGED s TAGED for { f ( t , t ) | f ∈ Σ , t ∈ T (Σ) } A def = (Σ = { a , f } , Q = { q , ˆ q , q f } , F = { q f } , ∆ , ˆ q = A ˆ q ) , where ∆ def = { f (ˆ q , ˆ q ) → q f , f ( q , q ) → q , f ( q , q ) → ˆ q , a → q , a → ˆ q , } → ∗ f q f f A f ˆ f ˆ f f q q a q a q a q a q a a a a 8/26 Vincent HUGOT SAT Solvers for Queries over Tree Automata with Constraints

Recommend


More recommend