Algorithms for Tree Automata with Constraints Efficiently tackling the Emptiness Problem for Tree Automata With Global Equality 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, project ACCESS July 7, 2010 1/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Plan of the talk Introduction of notions: 1 Vanilla Tree Automata 1 Tree Automata with Constraints: TAGED s 2 The emptiness problem 3 A general strategy: 2 Global algorithm 1 Remarks on experimental protocol 2 Proposed tactics: 3 Cleanup: hunting for spuriousness 1 Signature quotienting 2 Parenting relations 3 A brutal algorithm 4 Conclusion. 4 2/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Plan of the talk Introduction of notions: 1 Vanilla Tree Automata 1 Tree Automata with Constraints: TAGED s 2 The emptiness problem 3 A general strategy: 2 Global algorithm 1 Remarks on experimental protocol 2 Proposed tactics: 3 Cleanup: hunting for spuriousness 1 Signature quotienting 2 Parenting relations 3 A brutal algorithm 4 Conclusion. 4 2/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Plan of the talk Introduction of notions: 1 Vanilla Tree Automata 1 Tree Automata with Constraints: TAGED s 2 The emptiness problem 3 A general strategy: 2 Global algorithm 1 Remarks on experimental protocol 2 Proposed tactics: 3 Cleanup: hunting for spuriousness 1 Signature quotienting 2 Parenting relations 3 A brutal algorithm 4 Conclusion. 4 2/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Plan of the talk Introduction of notions: 1 Vanilla Tree Automata 1 Tree Automata with Constraints: TAGED s 2 The emptiness problem 3 A general strategy: 2 Global algorithm 1 Remarks on experimental protocol 2 Proposed tactics: 3 Cleanup: hunting for spuriousness 1 Signature quotienting 2 Parenting relations 3 A brutal algorithm 4 Conclusion. 4 2/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Introduction Tree automata and extensions Tree automata : powerful theoretical tools useful for automated theorem proving program verification XML schema and query languages . . . Extensions : created to expand expressiveness. Problem : decidability and complexity of associated decision problems. Usable tools difficult to implement. Theme of my Master’s project and internship: efficient algorithms for tree automata with constraints. For this internship: emptiness problem for positive TAGED s ( EXPTIME -complete) 3/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Introduction Tree automata and extensions Tree automata : powerful theoretical tools useful for automated theorem proving program verification XML schema and query languages . . . Extensions : created to expand expressiveness. Problem : decidability and complexity of associated decision problems. Usable tools difficult to implement. Theme of my Master’s project and internship: efficient algorithms for tree automata with constraints. For this internship: emptiness problem for positive TAGED s ( EXPTIME -complete) 3/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Introduction Tree automata and extensions Tree automata : powerful theoretical tools useful for automated theorem proving program verification XML schema and query languages . . . Extensions : created to expand expressiveness. Problem : decidability and complexity of associated decision problems. Usable tools difficult to implement. Theme of my Master’s project and internship: efficient algorithms for tree automata with constraints. For this internship: emptiness problem for positive TAGED s ( EXPTIME -complete) 3/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Introduction Tree automata and extensions Tree automata : powerful theoretical tools useful for automated theorem proving program verification XML schema and query languages . . . Extensions : created to expand expressiveness. Problem : decidability and complexity of associated decision problems. Usable tools difficult to implement. Theme of my Master’s project and internship: efficient algorithms for tree automata with constraints. For this internship: emptiness problem for positive TAGED s ( EXPTIME -complete) 3/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example Tree automaton for True propositional formulæ � Σ = { ∧ , ∨ / 2 , ¬ / 1 , 0 , 1 / 0 } , Q = { q 0 , q 1 } , F = { q 1 } , ∆ � A def = ∆ = { 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example ∧ ¬ ∨ 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example 0 → q 0 , 1 → q 1 ∈ ∆ → ∗ ∧ ∧ ∆ ¬ ¬ ∨ ∨ q 0 ∧ 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example ∧ ( q 0 , q 1 ) → q 0 , ¬ ( q 0 ) → 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example ¬ ( q 0 ) → q 1 , ∨ ( q 0 , q 1 ) → q 1 ∈ ∆ → ∗ → ∗ → ∗ ∧ ∧ ∧ ∧ ∆ ∆ ∆ 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example ∧ ( q 1 , q 1 ) → q 1 ∈ ∆ → ∗ → ∗ → ∗ → ∆ q 1 ∧ ∧ ∧ ∧ ∆ ∆ ∆ 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example → ∗ → ∗ → ∗ → ∆ q 1 ∧ ∧ ∧ ∧ ∆ ∆ ∆ 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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Tree automata Definition through an example ρ = ε ∧ q 1 → ∗ → ∗ → ∗ → ∆ q 1 ∧ ∧ ∧ ∧ ∆ ∆ ∆ q 1 q 1 ¬ ¬ ¬ ∨ ∨ ∨ 1 ¬ q 1 2 ∨ q 1 q 0 q 0 q 0 q 1 0 ¬ ¬ ∧ ∧ q 1 q 0 q 0 0 1 0 22 ¬ q 1 11 ∧ q 0 21 0 q 0 111 0 q 0 112 1 q 1 221 0 q 0 5/37 Vincent HUGOT Solving the TAGED membership problem with SAT
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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
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/37 Vincent HUGOT Solving the TAGED membership problem with SAT
Recommend
More recommend