Algorithms for Tree Automata with Constraints Efficiently tackling - - PowerPoint PPT Presentation

algorithms for tree automata with constraints
SMART_READER_LITE
LIVE PREVIEW

Algorithms for Tree Automata with Constraints Efficiently tackling - - PowerPoint PPT Presentation

Algorithms for Tree Automata with Constraints Efficiently tackling the Emptiness Problem for Tree Automata With Global Equality Constraints Pierre-Cyrille Ham, Vincent Hugot, Olga Kouchnarenko {pcheam,okouchnarenko}@lifc.univ-fcomte.fr,


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Plan of the talk

1

Introduction of notions:

1

Vanilla Tree Automata

2

Tree Automata with Constraints: TAGEDs

3

The emptiness problem

2

A general strategy:

1

Global algorithm

2

Remarks on experimental protocol

3

Proposed tactics:

1

Cleanup: hunting for spuriousness

2

Signature quotienting

3

Parenting relations

4

A brutal algorithm

4

Conclusion.

2/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-3
SLIDE 3

Plan of the talk

1

Introduction of notions:

1

Vanilla Tree Automata

2

Tree Automata with Constraints: TAGEDs

3

The emptiness problem

2

A general strategy:

1

Global algorithm

2

Remarks on experimental protocol

3

Proposed tactics:

1

Cleanup: hunting for spuriousness

2

Signature quotienting

3

Parenting relations

4

A brutal algorithm

4

Conclusion.

2/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-4
SLIDE 4

Plan of the talk

1

Introduction of notions:

1

Vanilla Tree Automata

2

Tree Automata with Constraints: TAGEDs

3

The emptiness problem

2

A general strategy:

1

Global algorithm

2

Remarks on experimental protocol

3

Proposed tactics:

1

Cleanup: hunting for spuriousness

2

Signature quotienting

3

Parenting relations

4

A brutal algorithm

4

Conclusion.

2/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-5
SLIDE 5

Plan of the talk

1

Introduction of notions:

1

Vanilla Tree Automata

2

Tree Automata with Constraints: TAGEDs

3

The emptiness problem

2

A general strategy:

1

Global algorithm

2

Remarks on experimental protocol

3

Proposed tactics:

1

Cleanup: hunting for spuriousness

2

Signature quotienting

3

Parenting relations

4

A brutal algorithm

4

Conclusion.

2/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-6
SLIDE 6

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 TAGEDs (EXPTIME-complete)

3/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-7
SLIDE 7

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 TAGEDs (EXPTIME-complete)

3/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-8
SLIDE 8

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 TAGEDs (EXPTIME-complete)

3/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-9
SLIDE 9

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 TAGEDs (EXPTIME-complete)

3/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-10
SLIDE 10

Tree automata

Definition through an example

Tree automaton for True propositional formulæ A def =

Σ = { ∧, ∨/2, ¬/1, 0, 1/0 } , Q = { q0, q1 } , F = { q1 } , ∆

  • ∆ = {b → qb,

∧ (qb, qb′) → qb∧b′, ∨ (qb, qb′) → qb∨b′, ¬(qb) → q¬b | b, b′ ∈ 0, 1}

4/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-11
SLIDE 11

Tree automata

Definition through an example

∧ ¬ ∧ 0 1 ∨ 0 ¬ Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-12
SLIDE 12

Tree automata

Definition through an example

0 → q0, 1 → q1 ∈ ∆ ∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-13
SLIDE 13

Tree automata

Definition through an example

∧(q0, q1) → q0, ¬(q0) → q1 ∈ ∆ ∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 →∗

∧ ¬ q0 ∨ q0 q1 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-14
SLIDE 14

Tree automata

Definition through an example

¬(q0) → q1, ∨(q0, q1) → q1 ∈ ∆ ∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 →∗

∧ ¬ q0 ∨ q0 q1 →∗

∧ q1 q1 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-15
SLIDE 15

Tree automata

Definition through an example

∧(q1, q1) → q1 ∈ ∆ ∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 →∗

∧ ¬ q0 ∨ q0 q1 →∗

∧ q1 q1 →∆ q1 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-16
SLIDE 16

Tree automata

Definition through an example

∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 →∗

∧ ¬ q0 ∨ q0 q1 →∗

∧ q1 q1 →∆ q1 Definition: run of A on a term t ∈ T (Σ) A run ρ is a mapping from Pos(t) to Q compatible with the transition rules.

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-17
SLIDE 17

Tree automata

Definition through an example

∧ ¬ ∧ 0 1 ∨ 0 ¬ →∗

∧ ¬ ∧ q0 q1 ∨ q0 ¬ q0 →∗

∧ ¬ q0 ∨ q0 q1 →∗

∧ q1 q1 →∆ q1 ρ =

ε ∧q1 1 ¬q1 11 ∧q0 111 0q0 112 1q1 2 ∨q1 21 0q0 22 ¬q1 221 0q0

5/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-18
SLIDE 18

TAGEDs

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

slide-19
SLIDE 19

TAGEDs

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

slide-20
SLIDE 20

TAGEDs

Compatibility with global constraints

Le ρ be a run of the TAGED A on a tree t: Compatibility with the equality constraint =

A

∀α, β ∈ Pos(t) : ρ(α) =

A ρ(β) =

⇒ t|α = t|β . Compatibility with the disequality constraint =

A (irreflexive)

∀α, β ∈ Pos(t) : ρ(α) =

A ρ(β) =

⇒ t|α = t|β . Compatibility with the disequality constraint =

A (non irreflexive)

∀α, β ∈ Pos(t) : α = β ∧ ρ(α) =

A ρ(β) =

⇒ t|α = t|β .

7/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-21
SLIDE 21

TAGEDs

Compatibility with global constraints

Le ρ be a run of the TAGED A on a tree t: Compatibility with the equality constraint =

A

∀α, β ∈ Pos(t) : ρ(α) =

A ρ(β) =

⇒ t|α = t|β . Compatibility with the disequality constraint =

A (irreflexive)

∀α, β ∈ Pos(t) : ρ(α) =

A ρ(β) =

⇒ t|α = t|β . Compatibility with the disequality constraint =

A (non irreflexive)

∀α, β ∈ Pos(t) : α = β ∧ ρ(α) =

A ρ(β) =

⇒ t|α = t|β .

7/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-22
SLIDE 22

TAGEDs

A non-regular language accepted by TAGEDs TAGED for { f (t, t) | f ∈ Σ, t ∈ T (Σ) }

A def = (Σ = { a/0, f /2 } , Q = { q, q, qf } , F = { qf } , ∆, q =

A

q), where ∆ def = {f ( q, q) → qf , f (q, q) → q, f (q, q) → q, a → q, a → q, } f f a a f a a →∗

fqf f

q

aq aq f

q

aq aq

8/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-23
SLIDE 23

TAGEDs

A non-regular language accepted by TAGEDs TAGED for { f (t, t) | f ∈ Σ, t ∈ T (Σ) }

A def = (Σ = { a/0, f /2 } , Q = { q, q, qf } , F = { qf } , ∆, q =

A

q), where ∆ def = {f ( q, q) → qf , f (q, q) → q, f (q, q) → q, a → q, a → q, } f f a a a →∗

fqf f

q

aq aq a

q

8/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-24
SLIDE 24

TAGED emptiness

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Applications Introduced for XML query languages in model-checking. . . Theorem [Filiot2008] The Emptiness Problem for positive TAGEDs is EXPTIME-complete.

9/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-25
SLIDE 25

TAGED emptiness

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Applications Introduced for XML query languages in model-checking. . . Theorem [Filiot2008] The Emptiness Problem for positive TAGEDs is EXPTIME-complete.

9/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-26
SLIDE 26

TAGED emptiness

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Applications Introduced for XML query languages in model-checking. . . Theorem [Filiot2008] The Emptiness Problem for positive TAGEDs is EXPTIME-complete.

9/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-27
SLIDE 27

Global Strategy

A high-level view of how we tackled the problem

1

Part I: A strategy and several tactics

1

Inexpensive reductions

2

Splitting the TAGED

3

Semi-expensive heuristics

4

Brutal algorithm

2

Part II: experiments random TAGEDs

1

Random generation of tree automata (4 generations)

2

Random generation of constraints (3 generations)

10/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-28
SLIDE 28

Global Strategy

A high-level view of how we tackled the problem

1

Part I: A strategy and several tactics

1

Inexpensive reductions

2

Splitting the TAGED

3

Semi-expensive heuristics

4

Brutal algorithm

2

Part II: experiments random TAGEDs

1

Random generation of tree automata (4 generations)

2

Random generation of constraints (3 generations)

10/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-29
SLIDE 29

Global Strategy

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Reducing the problem INPUT: A a positive TAGED. OUTPUT: A′ a smaller positive TAGED. ։ Standard reduction, cleanup, signature-quotienting Quick negative decision ։ Lng (ta (A)) = ∅? Quick positive decision ։ parenting relations If all else fails General exponential algorithm: brutal algorithm

11/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-30
SLIDE 30

Global Strategy

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Reducing the problem INPUT: A a positive TAGED. OUTPUT: A′ a smaller positive TAGED. ։ Standard reduction, cleanup, signature-quotienting Quick negative decision ։ Lng (ta (A)) = ∅? Quick positive decision ։ parenting relations If all else fails General exponential algorithm: brutal algorithm

11/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-31
SLIDE 31

Global Strategy

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Reducing the problem INPUT: A a positive TAGED. OUTPUT: A′ a smaller positive TAGED. ։ Standard reduction, cleanup, signature-quotienting Quick negative decision ։ Lng (ta (A)) = ∅? Quick positive decision ։ parenting relations If all else fails General exponential algorithm: brutal algorithm

11/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-32
SLIDE 32

Global Strategy

Emptiness Problem INPUT: A a positive TAGED. OUTPUT: Lng (A) = ∅ ? Reducing the problem INPUT: A a positive TAGED. OUTPUT: A′ a smaller positive TAGED. ։ Standard reduction, cleanup, signature-quotienting Quick negative decision ։ Lng (ta (A)) = ∅? Quick positive decision ։ parenting relations If all else fails General exponential algorithm: brutal algorithm

11/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-33
SLIDE 33

Cleanup

Improved version of standard reduction (reachability) algorithm for tree automata, which takes advantage of equality constraints to remove useless rules and states.

1

Spurious rules

2

Useless states

3

Σ-spurious states

4

Spurious states

12/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-34
SLIDE 34

Cleanup: hunting for spuriousness

Spurious Rules

Definition (Spurious rule) Let A be a TAGED. A rule f (q1, . . . , qn) → q ∈ ∆ is spurious if there exists k ∈ 1, n such that qk =

A q. α fq α.1 xq1 α.2 xq2 α.k xqk α.n xqn

13/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-35
SLIDE 35

Cleanup: hunting for spuriousness

Spurious Rules

Definition (Spurious rule) Let A be a TAGED. A rule f (q1, . . . , qn) → q ∈ ∆ is spurious if there exists k ∈ 1, n such that qk =

A q. α fq α.1 xq1 α.2 xq2 α.k xqk α.n xqn

Lemma (Removal of spurious rules) All spurious rules can be removed without altering the accepted language.

13/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-36
SLIDE 36

Cleanup: hunting for spuriousness

Spurious Rules

Definition (Spurious rule) Let A be a TAGED. A rule f (q1, . . . , qn) → q ∈ ∆ is spurious if there exists k ∈ 1, n such that qk =

A q. α fq α.1 xq1 α.2 xq2 α.k xqk α.n xqn

Proof idea If a spurious rule was used, a term would have to be equal with

  • ne of its strict subterms. Which is absurd.

13/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-37
SLIDE 37

Cleanup: hunting for spuriousness

Sure and Potential requirements

Let px

y , p, q ∈ Q, σ1, . . . , σm ∈ Σ, and

Rul(q) =

      

σ1(p1

1, . . . , p1 n1, p, p′1 1 , . . . , p′1 n′

1) → q

. . . σm(pm

1 , . . . , pm nm, p, p′m 1 , . . . , p′m n′

m) → q

      

Sure requirements p ∈ sReq(q) Potential Requirements pReq(q) = { p } ∪

  • px

y , p′x y

  • x, y ∈ . . .
  • 14/37

Vincent HUGOT Solving the TAGED membership problem with SAT

slide-38
SLIDE 38

Cleanup: hunting for spuriousness

Sure and Potential requirements

Let px

y , p, q ∈ Q, σ1, . . . , σm ∈ Σ, and

Rul(q) =

      

σ1(p1

1, . . . , p1 n1, p, p′1 1 , . . . , p′1 n′

1) → q

. . . σm(pm

1 , . . . , pm nm, p, p′m 1 , . . . , p′m n′

m) → q

      

Sure requirements p ∈ sReq(q) Potential Requirements pReq(q) = { p } ∪

  • px

y , p′x y

  • x, y ∈ . . .
  • 14/37

Vincent HUGOT Solving the TAGED membership problem with SAT

slide-39
SLIDE 39

Cleanup: hunting for spuriousness

Sure and Potential requirements

Let px

y , p, q ∈ Q, σ1, . . . , σm ∈ Σ, and

Rul(q) =

      

σ1(p1

1, . . . , p1 n1, p, p′1 1 , . . . , p′1 n′

1) → q

. . . σm(pm

1 , . . . , pm nm, p, p′m 1 , . . . , p′m n′

m) → q

      

Sure requirements p ∈ sReq(q) Potential Requirements pReq(q) = { p } ∪

  • px

y , p′x y

  • x, y ∈ . . .
  • 14/37

Vincent HUGOT Solving the TAGED membership problem with SAT

slide-40
SLIDE 40

Cleanup: hunting for spuriousness

Sure and Potential requirements Let px

y , p, q ∈ Q, σ1, . . . , σm ∈ Σ, and

Rul(q) =

    

σ1(p1

1, . . . , p1 n1, p, p′1 1 , . . . , p′1 n′

1) → q

. . . σm(pm

1 , . . . , pm nm, p, p′m 1 , . . . , p′m n′

m) → q

    

Sure requirements sReq(q) def =

  • r∈Rul(q)

q/ ∈Ant(r)

Ant(r), Potential Requirements pReq(q) def =

  • r∈Rul(q)

Ant(r).

14/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-41
SLIDE 41

Cleanup: hunting for spuriousness

Needs and friends

Frnd(q) = “transitive closure of pReq(q)”. Need(q) = “transitive closure of sReq(q)”. Definition (Friend states) Frnd(q): the smallest subset of Q satisfying

1

pReq(q) ⊆ Frnd(q)

2

if p ∈ Frnd(q) then pReq(p) ⊆ Frnd(q) Definition (Needs) Need(q): smallest subset of Q satisfying

1

sReq(q) ⊆ Need(q)

2

if p ∈ Need(q) then sReq(p) ⊆ Need(q)

15/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-42
SLIDE 42

Cleanup: hunting for spuriousness

Needs and friends

“Only friends of q appear under q” Lemma (“Rely on your Friends” principle) Let ρ a run: ∀α, β ∈ Pos(t) : β ⊳ α = ⇒ ρ(β) ∈ Frnd (ρ(α)). “Every need of q appears under q” Lemma (Needs) Let ρ a run such that ρ(β) = q. For any p ∈ Need(q), there exists a position αp ⊳ β such that ρ(αp) = p.

16/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-43
SLIDE 43

Cleanup: hunting for spuriousness

Needs and friends

“Only friends of q appear under q” Lemma (“Rely on your Friends” principle) Let ρ a run: ∀α, β ∈ Pos(t) : β ⊳ α = ⇒ ρ(β) ∈ Frnd (ρ(α)). “Every need of q appears under q” Lemma (Needs) Let ρ a run such that ρ(β) = q. For any p ∈ Need(q), there exists a position αp ⊳ β such that ρ(αp) = p.

16/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-44
SLIDE 44

Cleanup: hunting for spuriousness

Useless states

“Only friends of a final state are useful” Theorem (Removal of useless states) Let A = (Σ, Q, F, ∆) be a tree automaton. Then Lng (A) = Lng

A′ with A′ def

= Rst

 A, F ∪

  • qf ∈F

Frnd(qf )

  .

Furthermore, the accepting runs are the same for A and A′. Proof idea Every accepting run is rooted in a final state. Therefore they cannot use any state not in F ∪

qf ∈F Frnd(qf ).

17/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-45
SLIDE 45

Cleanup: hunting for spuriousness

Useless states

“Only friends of a final state are useful” Theorem (Removal of useless states) Let A = (Σ, Q, F, ∆) be a tree automaton. Then Lng (A) = Lng

A′ with A′ def

= Rst

 A, F ∪

  • qf ∈F

Frnd(qf )

  .

Furthermore, the accepting runs are the same for A and A′. Proof idea Every accepting run is rooted in a final state. Therefore they cannot use any state not in F ∪

qf ∈F Frnd(qf ).

17/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-46
SLIDE 46

Cleanup: hunting for spuriousness

Σ-spurious states

Definition (Support of a state) Support of q: the set of all symbols of Σ in which a term which evaluates to q may be rooted. Sup(q) def = { f ∈ Σ | ∃f (. . . ) → q ∈ ∆ } . Definition (Σ-spurious state) A state q ∈ Q is a Σ-spurious state if there exists p, p′ ∈ Need(q) such that p =

A p′ and Sup(p) ∩ Sup(p′) = ∅.

Lemma (Removal of Σ-spurious states) Let A be a TAGED, S ⊆ Q the set of all its Σ-spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′).

18/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-47
SLIDE 47

Cleanup: hunting for spuriousness

Σ-spurious states

Definition (Support of a state) Support of q: the set of all symbols of Σ in which a term which evaluates to q may be rooted. Sup(q) def = { f ∈ Σ | ∃f (. . . ) → q ∈ ∆ } . Definition (Σ-spurious state) A state q ∈ Q is a Σ-spurious state if there exists p, p′ ∈ Need(q) such that p =

A p′ and Sup(p) ∩ Sup(p′) = ∅.

Lemma (Removal of Σ-spurious states) Let A be a TAGED, S ⊆ Q the set of all its Σ-spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′).

18/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-48
SLIDE 48

Cleanup: hunting for spuriousness

Σ-spurious states

Definition (Σ-spurious state) A state q ∈ Q is a Σ-spurious state if there exists p, p′ ∈ Need(q) such that p =

A p′ and Sup(p) ∩ Sup(p′) = ∅.

Lemma (Removal of Σ-spurious states) Let A be a TAGED, S ⊆ Q the set of all its Σ-spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′). Proof idea If q appears in an accepting run, then so must p and p′. But they cannot satisfy the equality (rooted in different symbols). Absurd. So q cannot appear in any accepting run.

18/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-49
SLIDE 49

Cleanup: hunting for spuriousness

Σ-spurious states

Definition (Σ-spurious state) A state q ∈ Q is a Σ-spurious state if there exists p, p′ ∈ Need(q) such that p =

A p′ and Sup(p) ∩ Sup(p′) = ∅.

Lemma (Removal of Σ-spurious states) Let A be a TAGED, S ⊆ Q the set of all its Σ-spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′). Proof idea If q appears in an accepting run, then so must p and p′. But they cannot satisfy the equality (rooted in different symbols). Absurd. So q cannot appear in any accepting run.

18/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-50
SLIDE 50

Cleanup: hunting for spuriousness

Spurious states

Definition (Spurious states) Let A be a TAGED. A state q ∈ Q is said to be a spurious state if there exists p ∈ Need(q) such that p =

A q.

Lemma (Removal of spurious states) Let A be a TAGED, S ⊆ Q the set of all its spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′). Proof idea Suppose q appears in an accepting run at position β, then ∃αp ⊳ β st. ρ(αp) = p. A strict subterm and its parent are equal.

  • Absurd. So q does not appear.

19/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-51
SLIDE 51

Cleanup: hunting for spuriousness

Spurious states

Definition (Spurious states) Let A be a TAGED. A state q ∈ Q is said to be a spurious state if there exists p ∈ Need(q) such that p =

A q.

Lemma (Removal of spurious states) Let A be a TAGED, S ⊆ Q the set of all its spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′). Proof idea Suppose q appears in an accepting run at position β, then ∃αp ⊳ β st. ρ(αp) = p. A strict subterm and its parent are equal.

  • Absurd. So q does not appear.

19/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-52
SLIDE 52

Cleanup: hunting for spuriousness

Spurious states

Definition (Spurious states) Let A be a TAGED. A state q ∈ Q is said to be a spurious state if there exists p ∈ Need(q) such that p =

A q.

Lemma (Removal of spurious states) Let A be a TAGED, S ⊆ Q the set of all its spurious states, and A′ = Rst (A, Q \ S). Then Lng (A) = Lng (A′). Proof idea Suppose q appears in an accepting run at position β, then ∃αp ⊳ β st. ρ(αp) = p. A strict subterm and its parent are equal.

  • Absurd. So q does not appear.

19/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-53
SLIDE 53

Cleanup: hunting for spuriousness

An example

TAGED ’example 1’ [64] = { states = #7{q0, q1, q2, q3, q4, q5, q6} final = #1{q6} rules = #16{ a2()->q0, a2()->q2, a2()->q4, a3()->q3, a5()->q0, a5()->q2, a5()->q4, f1(q5)->q5, f3(q1)->q5, g1(q1, q5)->q5, g3(q0, q0)->q5, g3(q1, q5)->q5, g5(q1, q1)->q5, h2(q2, q3, q4)->q1, h3(q0, q0, q1)->q6, h3(q2, q3, q4)->q1 } ==rel = #3{(q0,q0), (q3,q4), (q4,q3)} }

State q1 is Σ-spurious, because it depends on q3 and q4 (q3, q4 ∈ Need(q1) and Sup(q3) ∩ Sup(q4) = { a3 } ∩ { a2, a5 } = ∅). Furthermore q1 ∈ Need(q6), so q6 is unreachable, and Lng (A) = ∅.

20/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-54
SLIDE 54

Cleanup: hunting for spuriousness

An example

TAGED ’example 1’ [64] = { states = #7{q0, q1, q2, q3, q4, q5, q6} final = #1{q6} rules = #16{ a2()->q0, a2()->q2, a2()->q4, a3()->q3, a5()->q0, a5()->q2, a5()->q4, f1(q5)->q5, f3(q1)->q5, g1(q1, q5)->q5, g3(q0, q0)->q5, g3(q1, q5)->q5, g5(q1, q1)->q5, h2(q2, q3, q4)->q1, h3(q0, q0, q1)->q6, h3(q2, q3, q4)->q1 } ==rel = #3{(q0,q0), (q3,q4), (q4,q3)} }

State q1 is Σ-spurious, because it depends on q3 and q4 (q3, q4 ∈ Need(q1) and Sup(q3) ∩ Sup(q4) = { a3 } ∩ { a2, a5 } = ∅). Furthermore q1 ∈ Need(q6), so q6 is unreachable, and Lng (A) = ∅.

20/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-55
SLIDE 55

Signature-Quotienting

Taking advantage of similarities between rules: postponing choice

  • f symbols

Rul(qchar) =

    

a → qchar, . . . , z → qchar 0 → qchar, . . . , 9 → qchar A → qchar, . . . , Z → qchar

    

“ { a, . . . , z, 0, . . . , 9, A, . . . , Z } → qchar ∈ ∆′′

21/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-56
SLIDE 56

Signature-Quotienting

Taking advantage of similarities between rules: postponing choice

  • f symbols

Rul(qchar) =

    

a → qchar, . . . , z → qchar 0 → qchar, . . . , 9 → qchar A → qchar, . . . , Z → qchar

    

“ { a, . . . , z, 0, . . . , 9, A, . . . , Z } → qchar ∈ ∆′′

21/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-57
SLIDE 57

Signature-Quotienting

Taking advantage of similarities between rules: postponing choice

  • f symbols

Rul(qchar) =

    

a → qchar, . . . , z → qchar 0 → qchar, . . . , 9 → qchar A → qchar, . . . , Z → qchar

    

“ { a, . . . , z, 0, . . . , 9, A, . . . , Z } → qchar ∈ ∆′′

21/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-58
SLIDE 58

Signature-Quotiented TAGED

Definition

Definition (Conservation of arity) Let ≅s an equivalence relation over Σ. It is arity-preserving if ∀f , g ∈ Σ : f ≅s g = ⇒ arity(f ) = arity(g). Definition (Signature-quotiented TAGED) Let A = (Σ, Q, F, ∆, =

A, = A) be a TAGED. Then its

signature-quotiented TAGED, or signature-TAGED for short, is the

TAGED As = (Σs, Q, F, ∆s, =

A, = A), where

Σs def = Σ/≅s ∆s def = { [σ] (p1, . . . , pn) → q | σ(p1, . . . , pn) → q ∈ ∆ } .

22/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-59
SLIDE 59

Signature-Quotiented TAGED

Approximation

Theorem (Signature-TAGED as over-approximation) Let A be a positive TAGED and As its signature-TAGED. Then Lng (As) = ∅ = ⇒ Lng (A) = ∅. Definition (Signature-identity relation) We define the signature-identity relation (denoted ≡s), such that: f ≡s g ⇐ ⇒ sigs(f ) = sigs(g), where sigs(σ) def = { (p1, . . . , pn, q) | σ(p1, . . . , pn) → q ∈ ∆ }. Theorem (Friendly quotient) Let A be a positive TAGED and As

≡s its signature-TAGED, using ≡s

instead of ≅s. Then Lng (As

≡s) = ∅ ⇐

⇒ Lng (A) = ∅.

23/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-60
SLIDE 60

Signature-Quotiented TAGED

Approximation

Theorem (Signature-TAGED as over-approximation) Let A be a positive TAGED and As its signature-TAGED. Then Lng (As) = ∅ = ⇒ Lng (A) = ∅. Definition (Signature-identity relation) We define the signature-identity relation (denoted ≡s), such that: f ≡s g ⇐ ⇒ sigs(f ) = sigs(g), where sigs(σ) def = { (p1, . . . , pn, q) | σ(p1, . . . , pn) → q ∈ ∆ }. Theorem (Friendly quotient) Let A be a positive TAGED and As

≡s its signature-TAGED, using ≡s

instead of ≅s. Then Lng (As

≡s) = ∅ ⇐

⇒ Lng (A) = ∅.

23/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-61
SLIDE 61

Signature-Quotiented TAGED

Approximation

Theorem (Signature-TAGED as over-approximation) Let A be a positive TAGED and As its signature-TAGED. Then Lng (As) = ∅ = ⇒ Lng (A) = ∅. Definition (Signature-identity relation) We define the signature-identity relation (denoted ≡s), such that: f ≡s g ⇐ ⇒ sigs(f ) = sigs(g), where sigs(σ) def = { (p1, . . . , pn, q) | σ(p1, . . . , pn) → q ∈ ∆ }. Theorem (Friendly quotient) Let A be a positive TAGED and As

≡s its signature-TAGED, using ≡s

instead of ≅s. Then Lng (As

≡s) = ∅ ⇐

⇒ Lng (A) = ∅.

23/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-62
SLIDE 62

Signature-Quotiented TAGED

Example (with an approximation relation)

TAGED ’restricted’ [58] = { states = #6{q0, q1, q2, q3, q4, q5} final = #2{q1, q5} rules = #16{ a1()->q0, a1()->q3, a3()->q2, a3()->q4, a4()->q0, a4()->q4, a5()->q2, a5()->q3, f1(q1)->q5, f5(q1)->q5, g1(q1, q5)->q5, g3(q0, q5)->q5, g5(q0, q5)->q5, g5(q1, q5)->q5, h3(q2, q3, q4)->q1, h4(q2, q3, q4)->q1 }} Classes = #{<g5 g3 g1>; <h4 h3>; <a5 a4 a3 a1>; <f5 f1>}# TAGED ’sig-quotient’ [34] = { states = #6{q0, q1, q2, q3, q4, q5} final = #2{q1, q5} rules = #8{ a4()->q0, a4()->q2, a4()->q3, a4()->q4, f5(q1)->q5, g5(q0, q5)->q5, g5(q1, q5)->q5, h4(q2, q3, q4)->q1 }}

24/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-63
SLIDE 63

Signature-Quotiented TAGED

Example (with an approximation relation)

TAGED ’restricted’ [58] = { states = #6{q0, q1, q2, q3, q4, q5} final = #2{q1, q5} rules = #16{ a1()->q0, a1()->q3, a3()->q2, a3()->q4, a4()->q0, a4()->q4, a5()->q2, a5()->q3, f1(q1)->q5, f5(q1)->q5, g1(q1, q5)->q5, g3(q0, q5)->q5, g5(q0, q5)->q5, g5(q1, q5)->q5, h3(q2, q3, q4)->q1, h4(q2, q3, q4)->q1 }} Classes = #{<g5 g3 g1>; <h4 h3>; <a5 a4 a3 a1>; <f5 f1>}# TAGED ’sig-quotient’ [34] = { states = #6{q0, q1, q2, q3, q4, q5} final = #2{q1, q5} rules = #8{ a4()->q0, a4()->q2, a4()->q3, a4()->q4, f5(q1)->q5, g5(q0, q5)->q5, g5(q1, q5)->q5, h4(q2, q3, q4)->q1 }}

24/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-64
SLIDE 64

Parenting Relations

Building successful and easy runs for cheap

1

Emptiness is easy for diagonal positive TAGEDs

2

Partial adaptation to non-diagonal cases

3

Previous tactics useful for (sometimes) proving emptiness.

4

This one useful for (sometimes) proving non-emptiness.

25/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-65
SLIDE 65

Emptiness for diagonal positive TAGEDs

Easy and linear

Definition (Diagonal positive TAGED) A positive TAGED is diagonal if (=

A) ⊆ { (q, q) | q ∈ Q } .

Theorem (Diagonal testing) Let A be a diagonal positive TAGED. Then Lng (A) = ∅ ⇐ ⇒ Lng (ta (A)) = ∅. Proof idea See beginning of proof of [Filiot et al., 2008, Theorem 1].

26/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-66
SLIDE 66

Parenting relations

Introductory example

TAGED ’Heam’ [146] = { alphab = #5{a/0, b/0, c/0, d/0, f/2} states = #10{q, q1, q2, q3, q4, q5, q6, q7, q8, qf} final = #1{qf} rules = #39{ a()->q, a()->q1, a()->q2, b()->q, b()->q1, b()->q2, c()->q, c()->q1, c()->q2, d()->q, d()->q1, d()->q2, f(q, q)->q, f(q, q)->q1, f(q, q)->q2, f(q, q1)->q3, f(q, q1)->q5, f(q, q2)->q4, f(q, q2)->q6, f(q, q3)->q3, f(q, q3)->q5, f(q, q4)->q4, f(q, q4)->q6, f(q, q6)->q8, f(q, q7)->q7, f(q, qf)->qf, f(q1, q)->q3, f(q1, q)->q5, f(q2, q)->q4, f(q2, q)->q6, f(q3, q)->q3, f(q3, q)->q5, f(q4, q)->q4, f(q4, q)->q6, f(q5, q)->q7, f(q6, q)->q8, f(q7, q8)->qf, f(q8, q7)->qf, f(qf, q)->qf } ==rel = #2{(q1,q2), (q2,q1)} }

27/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-67
SLIDE 67

Parenting relations

Introductory example

q q1 q2 q5 q6 q7 q8 qf

q q1 q2 q3 q4 q5 q6 q7 q8 qf

q q1 q2 q5 q6 q7 q8 qf 28/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-68
SLIDE 68

Parenting relations

Definition (Parenting relation) Let A be a positive TAGED, and qf ∈ F one of its final states. Then a relation on Q ≺ is a parenting relation of A (for qf ) if it satisfies the four following properties: (qf -domination): The ordered set (dom(≺), ≺+) has a greatest element, which is qf . (Transitionality): ∀q ∈ dom(≺) : ∃r ∈ Rul(q) st. Ant(r) = { p | p ≺ q } (Strictness): ≺+ is a strict partial order on its domain. (Aspuriousness): There are no two states p, q ∈ dom(≺) such that p ≺+ q and p =

A q.

29/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-69
SLIDE 69

Parenting relations

Definition (Parenting relation) Let A be a positive TAGED, and qf ∈ F one of its final states. Then a relation on Q ≺ is a parenting relation of A (for qf ) if it satisfies the four following properties: (qf -domination): The ordered set (dom(≺), ≺+) has a greatest element, which is qf . (Transitionality): ∀q ∈ dom(≺) : ∃r ∈ Rul(q) st. Ant(r) = { p | p ≺ q } (Strictness): ≺+ is a strict partial order on its domain. (Aspuriousness): There are no two states p, q ∈ dom(≺) such that p ≺+ q and p =

A q.

29/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-70
SLIDE 70

Parenting relations

Definition (Parenting relation) Let A be a positive TAGED, and qf ∈ F one of its final states. Then a relation on Q ≺ is a parenting relation of A (for qf ) if it satisfies the four following properties: (qf -domination): The ordered set (dom(≺), ≺+) has a greatest element, which is qf . (Transitionality): ∀q ∈ dom(≺) : ∃r ∈ Rul(q) st. Ant(r) = { p | p ≺ q } (Strictness): ≺+ is a strict partial order on its domain. (Aspuriousness): There are no two states p, q ∈ dom(≺) such that p ≺+ q and p =

A q.

29/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-71
SLIDE 71

Parenting relations

Definition (Parenting relation) Let A be a positive TAGED, and qf ∈ F one of its final states. Then a relation on Q ≺ is a parenting relation of A (for qf ) if it satisfies the four following properties: (qf -domination): The ordered set (dom(≺), ≺+) has a greatest element, which is qf . (Transitionality): ∀q ∈ dom(≺) : ∃r ∈ Rul(q) st. Ant(r) = { p | p ≺ q } (Strictness): ≺+ is a strict partial order on its domain. (Aspuriousness): There are no two states p, q ∈ dom(≺) such that p ≺+ q and p =

A q.

29/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-72
SLIDE 72

Parenting relations

Definition (Restriction by states, projection) Let A = (Σ, Q, F, ∆, =

A, = A) be a TAGED, and let S ⊆ Q be a set

  • f states. We call restriction of A to S and denote Rst (A, S) the

TAGED (Σ, S, F ∩ S, ∆′, =

A ∩S2, = A ∩S2) where

∆′ def = { f (q1, . . . , qn) → q ∈ ∆ | { q, q1, . . . , qn } ⊆ S } . We also call projection of A on S the TAGED Prj (A, S) def = (Σ, Q, S, ∆, =

A, = A).

Definition (Automaton under a state) Let ≺ be a parenting relation of a TAGED A, and q ∈ dom(≺). We call automaton under the state q and denote Udr(q, ≺), or simply Udr(q), the automaton Udr(q, ≺) = Prj

  • Rst

A, p | p + q , q

  • .

30/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-73
SLIDE 73

Parenting relations

Definition (Restriction by states, projection)

Let A = (Σ, Q, F, ∆, =

A, = A) be a TAGED, and let S ⊆ Q be a set of

  • states. We call restriction of A to S and denote Rst (A, S) the TAGED

(Σ, S, F ∩ S, ∆′, =

A ∩S2, = A ∩S2) where

∆′ def = { f (q1, . . . , qn) → q ∈ ∆ | { q, q1, . . . , qn } ⊆ S } . We also call projection of A on S the TAGED Prj (A, S)

def

= (Σ, Q, S, ∆, =

A, = A).

Definition (Automaton under a state) Let ≺ be a parenting relation of a TAGED A, and q ∈ dom(≺). We call automaton under the state q and denote Udr(q, ≺), or simply Udr(q), the automaton Udr(q, ≺) = Prj

  • Rst

A, p | p + q , q

  • .

30/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-74
SLIDE 74

Parenting relations

Fruitful TAGEDs

Definition (Fruitful parenting relation) Let ≺ be a parenting relation of the positive TAGED A, and (≡

A) def

=

  • =

A ∩ dom(≺)2∗ We say that ≺ is fruitful if

∀ [q] ∈ dom(≺)/≡

A, Card ([q]) > 1 :

  • q∈[q]

Lng (Udr(q, ≺)) = ∅. Theorem (Fruitful positive TAGEDs) Let A be a positive TAGED. If there exists a fruitful parenting relation ≺ for one of its final states qf , then it is non-empty.

31/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-75
SLIDE 75

Parenting relations

Characterising the core

Definition (Parenting core) Let ≺ be a parenting relation of a TAGED A. We call core of ≺ – and often denote ⋖+ – the relation (⋖+) def = (≺+) ∩ dom(=

A)2.

Definition (Flat and pseudo-flat parenting relations) Let ≺ be a parenting relation of a TAGED A. It is called flat if its core ⋖+ is empty, and pseudo-flat if ∀p, q, p′ ∈ Q : p ⋖+ q = ⇒

p =

A p′ =

⇒ p = p′ .

32/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-76
SLIDE 76

Parenting relations

Building terms is easy

Theorem (flat and pseudo-flat tests) Under the conditions and notations of theorem “fruitful TAGEDs”, let [q] such that Card ([q]) > 1, and let U =

  • q∈[q]

Udr(q, ≺). Then the following statements hold:

1

If ≺ is flat then U is a vanilla tree automaton or a diagonal positive TAGED with only one constraint, on its sole final state.

2

If ≺ is pseudo-flat then U is a diagonal TAGED. Problem reduced to generation of parenting relations and emptiness of diagonal TAGEDs Will not detect non-emptiness in all cases The more relations tested, the better

33/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-77
SLIDE 77

Parenting relations

Building terms is easy

Theorem (flat and pseudo-flat tests)

Under the conditions and notations of theorem “fruitful TAGEDs”, let [q] such that Card ([q]) > 1, and let U =

  • q∈[q]

Udr(q, ≺). Then the following statements hold:

1

If ≺ is flat then U is a vanilla tree automaton or a diagonal positive TAGED with only one constraint, on its sole final state.

2

If ≺ is pseudo-flat then U is a diagonal TAGED.

Problem reduced to generation of parenting relations and emptiness of diagonal TAGEDs Will not detect non-emptiness in all cases The more relations tested, the better

33/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-78
SLIDE 78

Experiments: Generations 2 TA / 2 C

|Q| Run Something Nothing Failure 4. 26.8% 73.2% 0.0% 0.0% 7. 43.6% 55.6% 0.8% 0.0% 10. 48.8% 50.8% 0.4% 0.0% 13. 49.2% 50.8% 0.0% 0.0% 16. 50.0% 50.0% 0.0% 0.0% 19. 42.4% 57.6% 0.0% 0.0% 22. 41.2% 58.4% 0.4% 0.0% 25. 34.8% 65.2% 0.0% 0.0% 28. 30.4% 69.6% 0.0% 0.0% 31. 36.4% 63.6% 0.0% 0.0% 34. 38.8% 61.2% 0.0% 0.0% 37. 35.6% 64.4% 0.0% 0.0% 40. 28.0% 72.0% 0.0% 0.0%

34/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-79
SLIDE 79

Experiments: Generations 4 TA / 3 C

Height Run Something Nothing Failure ≺ results 6 0.4% 69.6% 28.8% 1.2% 2.8% 9 0.4% 69.2% 25.6% 4.8% 6.4% 12 0.0% 55.6% 36.4% 8.0% 9.2% 15 0.0% 61.2% 26.4% 12.4% 7.6% 18 0.0% 53.2% 30.0% 16.8% 6.4% 21 0.0% 50.8% 30.0% 19.2% 8.8% 24 0.0% 46.8% 35.6% 17.6% 7.2% 27 0.0% 49.2% 28.8% 22.0% 8.8% 27 0.0% 45.6% 31.2% 23.2% 5.6% 30 0.0% 45.2% 31.2% 23.6% 6.8% 31 0.0% 50.8% 25.2% 24.0% 6.0% 34 0.0% 50.8% 26.8% 22.4% 6.4% 37 0.0% 43.6% 26.8% 29.6% 7.2%

35/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-80
SLIDE 80

Conclusion

Main points of the internship

1

Reduction and quick decisions:

1

Cleanup

2

Signature-quotienting

3

Parenting relations

2

Brutal algorithm

3

Random generation of tree automata and TAGEDs

4

OCaml implementation of the above ( 2000 LOC).

36/37 Vincent HUGOT Solving the TAGED membership problem with SAT

slide-81
SLIDE 81

Some references

[Comon et al., 2007, Filiot et al., 2008, Tabakov and Vardi, 2005]

Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., and Tommasi, M. (2007). Tree Automata Techniques and Applications. release October, 12th 2007. Filiot, E., Talbot, J.-M., and Tison, S. (2008). Tree Automata with Global Constraints. In 12th International Conference on Developments in Language Theory (DLT), pages 314–326, Kyoto Japon. Tabakov, D. and Vardi, M. (2005). Experimental evaluation of classical automata constructions. In Logic for Programming, Artificial Intelligence, and Reasoning, pages 396–411. Springer.

37/37 Vincent HUGOT Solving the TAGED membership problem with SAT