algorithms for tree automata with constraints
play

Algorithms for Tree Automata with Constraints Random Generation of - PowerPoint PPT Presentation

Algorithms for Tree Automata with Constraints Random Generation of Hard Instances of the Emptiness Problem for Tree Automata With Global Equality Constraints Pierre-Cyrille Ham, Vincent Hugot, Olga Kouchnarenko


  1. Algorithms for Tree Automata with Constraints Random Generation of Hard Instances of the Emptiness Problem for Tree Automata With Global Equality Constraints Pierre-Cyrille Héam, Vincent Hugot, Olga Kouchnarenko {pcheam,vhugot,okouchnarenko}@lifc.univ-fcomte.fr Université de Franche-Comté LIFC-INRIA/CASSIS, project ACCESS October 6, 2010 1/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  2. Plan of the talk Introduction and motivation 1 (short) Preliminaries: 2 Vanilla Tree Automata 1 Tree Automata with Constraints: TAGED s 2 The emptiness problem 3 Objectives and strategy 3 what is “Difficult” ? 1 what is “Realistic” ? 2 strategy of generation 3 The random generation 4 Cutting dead branches: the cleanup 1 Initial random generation 2 Experimental results and conclusion. 5 2/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  3. Introduction Tree automata and extensions Tree automata : powerful theoretical tools useful for automated theorem proving program verification XML schema and query languages . . . Extensions : developed to expand expressiveness ( eg. TAGED s add global equality and disequality constraints.). Drawback : decidability and complexity of decision problems. Long-term goal : finding algorithms efficient enough for practical use. (for now, Emptiness for positive TAGED s) Problem : without “real-world” testbeds, how to evaluate efficiency of our algorithms? Solution : random generation of TAGED s. 3/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  4. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  5. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  6. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  7. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  8. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  9. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  10. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  11. 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 0 q 1 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  12. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  13. 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  14. TAGED s Compatibility with global constraints Let ρ 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  15. TAGED s Compatibility with global constraints Let ρ 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/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  16. TAGED s A non-regular language accepted by TAGED s TAGED for { f ( t , t ) | f ∈ Σ , t ∈ T (Σ) } [Filiot et al., 2008] A def = (Σ = { a / 0 , f / 2 } , Q = { q , � q , q f } , F = { q f } , ∆ , � q = q ) , A � where ∆ def = { f ( � q , � q ) → q f , f ( q , q ) → q , f ( q , q ) → � q , a → q , a → � q , } → ∗ f q f f ∆ f � f � f f q q a q a q a q a q a a a a 8/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  17. TAGED s A non-regular language accepted by TAGED s TAGED for { f ( t , t ) | f ∈ Σ , t ∈ T (Σ) } [Filiot et al., 2008] A def = (Σ = { a / 0 , f / 2 } , Q = { q , � q , q f } , F = { q f } , ∆ , � q = q ) , A � where ∆ def = { f ( � q , � q ) → q f , f ( q , q ) → q , f ( q , q ) → � q , a → q , a → � q , } → ∗ f q f f ∆ a � a f � f q q a q a q a a 8/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  18. TAGED emptiness Emptiness Problem INPUT: A a positive TAGED . OUTPUT: L ng ( A ) = ∅ ? Applications XML query languages model-checking, eg. cryptographic protocol verification, . . . Theorem [Filiot2008] The Emptiness Problem for positive TAGED s is EXPTIME -complete. 9/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  19. TAGED emptiness Emptiness Problem INPUT: A a positive TAGED . OUTPUT: L ng ( A ) = ∅ ? Applications XML query languages model-checking, eg. cryptographic protocol verification, . . . Theorem [Filiot2008] The Emptiness Problem for positive TAGED s is EXPTIME -complete. 9/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  20. TAGED emptiness Emptiness Problem INPUT: A a positive TAGED . OUTPUT: L ng ( A ) = ∅ ? Applications XML query languages model-checking, eg. cryptographic protocol verification, . . . Theorem [Filiot2008] The Emptiness Problem for positive TAGED s is EXPTIME -complete. 9/39 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

Recommend


More recommend