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 9, 2010 1/23 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 The random generation 4 Cutting dead branches: the cleanup 1 Initial random generation 2 Experimental results and conclusion. 5 2/23 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/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

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

  5. Bottom-Up Tree automata Definition through an example 0 → q 0 , 1 → q 1 ∈ ∆ ∧ ( q 0 , q 1 ) → q 0 , ¬ ( q 0 ) → q 1 ∈ ∆ ¬ ( q 0 ) → q 1 , ∨ ( q 0 , q 1 ) → q 1 ∈ ∆ ∧ ( 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/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

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

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

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

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

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

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

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

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

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

  15. Objectives and Strategy 10/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  16. Constraints of generation Fleshing out our objectives Long-term objective Develop reasonably efficient approaches for deciding the Emptiness problem for positive TAGED s Role of the random generation scheme Experimental protocol to discriminate between efficient and inefficient approaches, as replacement of a real-world testbed. The generated instances must be Difficult: Else we cannot discriminate between algorithms. Realistic: failing that, the results bear little relevance to expected practical performance. 11/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  17. Constraints of generation Fleshing out our objectives Long-term objective Develop reasonably efficient approaches for deciding the Emptiness problem for positive TAGED s Role of the random generation scheme Experimental protocol to discriminate between efficient and inefficient approaches, as replacement of a real-world testbed. The generated instances must be Difficult: Else we cannot discriminate between algorithms. Realistic: failing that, the results bear little relevance to expected practical performance. 11/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  18. What is “difficult” ? not difficult = Deeply flawed generation scheme ( eg. always empty) Often falls into special trivial case eg. empty underlying vanilla TA eg. diagonal positive TAGED s [Filiot et al., 2008] Trivial by brute-force ( eg. “leaf languages”) All final states in dead branches 12/23 Vincent HUGOT Random Generation of Hard Instances for TAGED Emptiness

  19. What is “difficult” ? not difficult = Deeply flawed generation scheme ( eg. always empty) Often falls into special trivial case eg. empty underlying vanilla TA eg. diagonal positive TAGED s [Filiot et al., 2008] Trivial by brute-force ( eg. “leaf languages”) All final states in dead branches 12/23 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