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

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