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

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