Multiple tree automata a new model of tree automata Gwendal Collet - - PowerPoint PPT Presentation

multiple tree automata a new model of tree automata
SMART_READER_LITE
LIVE PREVIEW

Multiple tree automata a new model of tree automata Gwendal Collet - - PowerPoint PPT Presentation

Multiple tree automata a new model of tree automata Gwendal Collet (TU Wien), Julien David (LIPN) S eminaire CALIN, 24 mars 2015 Outline Introduction to automata: definitions and motivation 1 Description of the model: Multiple Tree Automata


slide-1
SLIDE 1

Multiple tree automata

Gwendal Collet (TU Wien), Julien David (LIPN)

S´ eminaire CALIN, 24 mars 2015

a new model of tree automata

slide-2
SLIDE 2

Introduction to automata: definitions and motivation

Outline

Description of the model: Multiple Tree Automata Minimization Closure properties Yield of a MTA: Link with language theory 1 2 3 4 5

slide-3
SLIDE 3

Introduction: Regular Word Automata A = (Σ, Q, I, F, δ)

Finite alphabet: a, b, c... Finite set of states: initial, final... Set of transitions: ∆ ⊂ Q × Σ × Q i q r a b c a s b LA = (bc)⋆(1 + a+b) i ∈ I, r, s ∈ F (i, b, r), (q, a, q), . . . ∈ ∆ e.g.: bcaaab ∈ LA

slide-4
SLIDE 4

Introduction: Regular Tree Automata A = (Σ= ∪k≥0Σk, Q, I, ∆)

Finite ranked alphabet: a(0), b(1), c(1), d(2)... Finite set of states: initial, final... Set of transitions: i q r d b c LA = (b(c(. . . b(c(d(a, d(a, a))))))) i ∈ I (i, b, r), (q, a, ǫ), (s, d, (q, q)), . . . ∈ ∆ ∆ ⊂ ∪k≥0Q × Σk × Qk s a d a ∈ Σ0 (leaf), b, c ∈ Σ1, d ∈ Σ2 ⋆ e.g.: b c d d a a a ∈ LA

slide-5
SLIDE 5

Introduction: Regular Tree Automata A = (Σ= ∪k≥0Σk, Q, I, ∆)

Finite ranked alphabet: a(0), b(1), c(1), d(2)... Finite set of states: initial, final... Set of transitions: i q r d b c LA = (b(c(. . . b(c(d(a, d(a, a))))))) i ∈ I (i, b, r), (q, a, ǫ), (s, d, (q, q)), . . . ∈ ∆ s a d a ∈ Σ0 (leaf), b, c ∈ Σ1, d ∈ Σ2 ⋆ e.g.: b c d d a a a ∈ LA Independence ∆ ⊂ ∪k≥0Q × Σk × Qk

slide-6
SLIDE 6

Introduction: Regular Tree Automata A = (Σ= ∪k≥0Σk, Q, I, ∆)

Finite ranked alphabet: a(0), b(1), c(1), d(2)... Finite set of states: initial, final... Set of transitions: i q r d b c s a d Independance What if we could handle dependencies between children? ∆ ⊂ ∪k≥0Q × Σk × Qk

slide-7
SLIDE 7

Introduction: Motivation

Random sampling of trees controlling the number of occurrences of a given pattern Pattern d b d b d b c d d c a d b a a a a a 2 occurrences

slide-8
SLIDE 8

Introduction: Motivation

Random sampling of trees controlling the number of occurrences of a given pattern Pattern d b d b a a a When reading the tree top-down: Dependencies between nodes at a same height Idea (C., David, Jacquot 2014):

  • f a given pattern → need to handle dependencies
  • Use refined tree automata which count occurrences
  • Design a bivariate Boltzmann sampler with the GS
  • Translate the associated tree grammar into

a system of equations on generating series

slide-9
SLIDE 9

Multiple Tree Automata A = (Σ = ∪k≥0Σk, Q= ∪ℓ≥1Qℓ, I, ∆)

Finite ranked alphabet: a(0), b(1), c(1), d(2)... Finite ranked set of states Set of transitions: ∆ ⊂ ∪ℓ≥1Qℓ × Σℓ × Part × Q⋆ Initial states ∈ Q1 (q, (a1, . . . , aℓ), P = (p1, . . . , pr), (q1, . . . , qr)) such that: |P| = ℓ

i=1 rank(ai)

∀1 ≤ j ≤ r, rank(qj) = |pj| q q1 q2 q3 (q, ( ), {{2}, {1, 3, 4, 6}, {5, 7}} , (q1, q2, q3))

1 2 3 4 5 6 7

(MTA)

slide-10
SLIDE 10

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-11
SLIDE 11

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-12
SLIDE 12

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-13
SLIDE 13

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-14
SLIDE 14

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-15
SLIDE 15

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-16
SLIDE 16

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-17
SLIDE 17

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-18
SLIDE 18

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-19
SLIDE 19

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-20
SLIDE 20

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-21
SLIDE 21

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-22
SLIDE 22

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-23
SLIDE 23

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-24
SLIDE 24

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-25
SLIDE 25

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA) (MTA)

slide-26
SLIDE 26

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA = (MTA)

slide-27
SLIDE 27

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA =

same n: can handle dependencies nodes at the same height between a bounded number of

(MTA)

slide-28
SLIDE 28

Multiple Tree Automata

i q r t s t1 t2 t3 t4 t5 t6 t7 t8

n ≥ 0 m ≥ 0 n ≥ 0

                                                      

                                                      

A LA =

same n: can handle dependencies nodes at the same height between a bounded number of

(MTA)

Def [Non-determinism]: Non-deterministic MTA iff |I| > 1 or ∃q ∈ Qk, (a1, . . . , ak) ∈ Σk, (q, (a1, . . . , ak), P, p) and (q, (a1, . . . , ak), P ′, p′) ∈ ∆ Deterministic MTA otherwise.

slide-29
SLIDE 29

Minimization: size of a MTA

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3 LA1 = LA2 = LA3 = { Binary trees of height less than 3}

size = 6 size = 7 size = 5

Minimize = Compute the smallest equivalent Deterministic MTA

slide-30
SLIDE 30

Minimization: size of a MTA

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3 LA1 = LA2 = LA3 = { Binary trees of height less than 3}

size = 12 size = 8

Size = Total length of transitions

size = 5

Minimize = Compute the smallest equivalent Deterministic MTA

slide-31
SLIDE 31

Minimization: state equivalence

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3

size = 12 size = 8

Size = Total length of transitions

size = 5 equivalent

Minimize = Compute the smallest equivalent Deterministic MTA

slide-32
SLIDE 32

Minimization: state equivalence

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3

size = 12 size = 8

Size = Total length of transitions

size = 5 merge size

Minimize = Compute the smallest equivalent Deterministic MTA

slide-33
SLIDE 33

Minimization: state equivalence

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3

size = 12 size = 8

Size = Total length of transitions

size = 5

Minimize = Compute the smallest equivalent Deterministic MTA

slide-34
SLIDE 34

Minimization: state equivalence

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3

size = 12 size = 8

Size = Total length of transitions

size = 5 No equivalent states

! Minimize = Compute the smallest equivalent Deterministic MTA

slide-35
SLIDE 35

Minimization: splitting

Size = Number of transitions → Not enough anymore!

i q1 q2 i s1 s2 r3 r4 i r1 r2

A1 A2 A3

size = 12 size = 8

Size = Total length of transitions

size = 5 No equivalent states

!

New operation: splitting q ∈ Qk q1 ∈ Qk1 qn ∈ Qkn . . . ki = k

Minimize = Compute the smallest equivalent Deterministic MTA

slide-36
SLIDE 36

Minimization: splitting

Size = Number of transitions → Not enough anymore!

i q1 q2

A1

size = 12

Size = Total length of transitions

No equivalent states

!

New operation: splitting q ∈ Qk q1 ∈ Qk1 qn ∈ Qkn . . . ki = k

splittable transitions + independence = splittable state

Minimize = Compute the smallest equivalent Deterministic MTA

slide-37
SLIDE 37

Minimization: splitting

Size = Number of transitions → Not enough anymore!

i q1 q2

A1

size = 12

Size = Total length of transitions

No equivalent states

!

New operation: splitting q ∈ Qk q1 ∈ Qk1 qn ∈ Qkn . . . ki = k

splittable transitions + independence = splittable state

q2 i r1 r2

A2

size = 7 size

Minimize = Compute the smallest equivalent Deterministic MTA

slide-38
SLIDE 38

Minimization: minimal DMTA

Size = Total length of transitions Theorem A MTA without equivalent or splittable states is minimal. This minimal automaton can be computed for any DMTA. Sketch of the minimization algorithm

  • Compute and merge any equivalent states.
  • Compute and split any splittable states.
  • Repeat until a fixpoint is reached.

Minimize = Compute the smallest equivalent Deterministic MTA

slide-39
SLIDE 39

Closure properties of the tree languages

Theorem

  • 1. MTA are closed under union and concatenation.
  • 2. MTA are not closed under complementation.
  • 3. Non-deterministic MTA are strictly more powerful

than deterministic ones.

Proof:

  • 1. Straightforward
  • 2. Language of unary-binary trees

with exactly one non-deterministic! unary node

slide-40
SLIDE 40

Closure properties of the tree languages

Theorem

  • 1. MTA are closed under union and concatenation.
  • 2. MTA are not closed under complementation.
  • 3. Non-deterministic MTA are strictly more powerful

than deterministic ones.

Proof:

  • 1. Straightforward

3...

  • 2. Language of unary-binary trees

with exactly one non-deterministic! unary node

slide-41
SLIDE 41

Yield of a MTA

Def [Yield of an MTA A]: Word language Y ield(A) = {border(T) : T ∈ LA} d b d b c d d c a d b e a f e a border(T) = aeeafa T Theorem Y ield(MTA) are equivalent to LCFRS languages. Context-free ⊂ Mildly context-sensitive ⊂ Context-sensitive Linear Context-Free Rewriting Systems

slide-42
SLIDE 42

Further works

Conjecture: MTA are closed under intersection. → Semi-algorithm by computing joint dependences, believed to terminate eventually...

slide-43
SLIDE 43

Further works

Conjecture: MTA are closed under intersection. → Semi-algorithm by computing joint dependences, believed to terminate eventually... What about Bottom-up MTA? → useful for parsing → more expressive in Deterministic Regular TA

slide-44
SLIDE 44

Further works

Conjecture: MTA are closed under intersection. → Semi-algorithm by computing joint dependences, believed to terminate eventually... What about Bottom-up MTA? → useful for parsing → more expressive in Deterministic Regular TA Characterize the tree languages recognized by MTA → Regular TL ⊂ Multiple TL ⊂ Context-free TL → Pumping lemma, swapping lemma, other tools?

N ≤

∈ L ⇒ ∈ L ∈ L

slide-45
SLIDE 45

Thank you!