Tree Automata Geetam Chawla Stanly Samuel ATC Seminar 2018
● Intro ● DTA ● Pumping Lemma Overview Tree-regular languages ● Some interesting results. ● NTA ● ↓ NTA vs ↓ DTA
Introduction: Automata on words vs automata on trees.
Introduction: Automata on words vs automata on trees. Automata over finite words: (Finite Automata)FA->DFA->NFA Generalizing Finite automata: Automata over infinite words: (Buchi Automata)BA->NBA->DBA Automata over (finite) trees: (Tree Automata)TA->DTA->NTA->↓NTA-> ↓DTA
Ranked Alphabet Σ Definition A ranked alphabet is a non-empty finite set Σ of symbols, where every symbol a is assigned a finite set rk(a) ⊆ N (the set of all ranks or arities of a). Σ i :={ a ∈ Σ | i ∈ rk(a)} Σ = Σ 0 ∪ ··· ∪ Σ m (where m= max{ rk(a) | a ∈ Σ}) Note that the Σ i need not be disjoint.
T Σ : The equivalent of Σ * in the tree world. Let Σ = Σ 0 ∪ . . . ∪ Σ n be a ranked alphabet. The set T Σ of trees (or terms) over Σ is defined inductively by: • Each symbol a ∈ Σ is a tree a ∈ T Σ . • For f ∈ Σ k and t 1 . . . t k ∈ T Σ , f ( t 1 . . . t k ) is a tree in T Σ depicted by
Deterministic Tree Automaton A deterministic tree automaton (DTA) is a tuple A = ( Q, Σ , δ, F ) where • Q is a finite set of states, • Σ is a ranked alphabet, • F ⊆ Q is a set of final states, and • δ : ∀ i≥0 ⋃ ( Q i × Σ i ) → Q is a transition function.
Pumping Lemma Let T be a regular tree language. Then, for an appropriate n (namely the ● number of states of a tree automaton recognizing T ) the following holds: If the height of t ∈ T is ≥ n , then t here are two nodes on a path of t that can split t ₀ in three pieces t ₀ , s1 , s2 , such that an iteration (arbitrarily often) of s 1 ≠ c results in trees that also belong to T . In short notation: t = t ₀ ◦ s 1 ◦ s 2 with t ₀ ◦ (s 1 ) ⁱ ◦ s 2 ∈ T for every i ≥ 0.
The circle operator: o T1 ◦ T2. A requirement: T2 must be “special”. I.e. T2 has a special node “c” whose rank = {0} C acts as a marker where we can “insert” T1. It implies second operand must contain exactly one c otherwise the operation is undefined. Corollary: Not commutative
NTA A Nondeterministic Tree Automaton (NTA) is a tuple A = ( Q, Σ, ∆, F ) where • Q is a finite state set, • Σ = Σ 1 ∪ . . . ∪ Σ m is a ranked alphabet, • F ⊆ Q is a set of final states, and • ∆ ⊆ ∀ i≥0 ⋃ ( Q i × Σ i × Q) is a transition relation.
NTA run By convention Q 0 × Σ 0 × Q = Σ 0 × Q . A run of A on a tree t ∈ T Σ is a mapping ρ : dom t → Q such that • For leaf nodes u ∈ dom t we have (val t (u) , ρ(u)) ∈ ∆ , and • For nodes u with successors u 1 , . . . , u i we have (ρ(u 1 ), . . . , ρ (u i ), val t (u), ρ(u)) ∈ ∆ . An NTA A accepts a tree t ∈ T Σ if for some run ρ of A on t, ρ( ϵ ) ∈ F . The tree-language recognized by A is T(A) = {t ∈ T Σ |A accepts t}.
Some interesting results 1) If G is a CFG, then T(G) viz. the set of all derivation trees is tree regular. 2) Not every regular tree language can be represented as a language T(G) for some CFG G.
↓ NTA A Nondeterministic Tree Automaton (NTA) is a tuple A = ( Q, Σ , ∆ , F ) where • Q is a finite state set, • Σ = Σ 1 ∪ . . . ∪ Σ m is a ranked alphabet, • Q 0 ⊆ Q is a set of initial states, and • ∆ ⊆ ∀ i≥0 ⋃ ( Q × Σ i × Q i ) is a transition relation.
↓ NTA run A run of A on a tree t ∈ T Σ is a mapping ρ : dom t → Q such that • p( ϵ ) ∈ Q 0 • For leaf nodes u ∈ dom t we have (ρ(u), val t (u)) ∈ ∆ , and • For nodes u with successors u 1 , . . . , u i we have (ρ(u), val t (u), ρ(u 1 ), . . . , ρ (u i )) ∈ ∆ . An NTA A accepts a tree t ∈ T Σ iff there exists a run on t.
↓ DTA A Top down Deterministic Tree Automaton ( ↓ DTA) is a tuple A = ( Q, Σ , ∆ , F ) is a special ↓ NTA that has: • a singleton set {q 0 } as an initial state set Q 0 • δ : ∀ i≥0 ⋃ ( Q × Σ i ) → Q i
↓ DTA A Top down Deterministic Tree Automaton ( ↓ DTA) is a tuple A = ( Q, Σ , ∆ , F ) is a special ↓ NTA that has: • a singleton set {q 0 } as an initial state set Q 0 • δ : ∀ i≥0 ⋃ ( Q × Σ i ) → Q i ↓DTA is strictly less powerful than ↓NTA. E.g.
Thank you
Recommend
More recommend