Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tree Automata First: A reminder on Automata on words Typing semistructured data.

Similar presentations


Presentation on theme: "Tree Automata First: A reminder on Automata on words Typing semistructured data."— Presentation transcript:

1 Tree Automata First: A reminder on Automata on words Typing semistructured data

2 Finite state automata on words Alphabet State Initial state Accepting states Transitions Typing semistructured data

3 q0q0 Nondeterministic automaton: Example a b a a b - a b a - q0q0 q1q1 q0q0 q0q0 q1q1 q0q0 q1q1 q0q0 q0q0 q1q1 q0q0 q0q0 q2q2 q1q1 q0q0 KO OK

4 Deterministic – No  transition – No alternative transitions such as Determinization – It is possible to obtain an equivalent deterministic automaton – State of new automaton = set of states of the original one – Possible exponential blow-up Minimization Limitations – cannot do – Context-free languages Essential tool – e.g., lexical analysis Reminder

5 Reminder (2) L(A) = set of words accepted by automata A Regular languages Can be described by regular expressions, e.g. a(b+c)*d Closed under complement Closed under union, intersection – Product automata with states (s,s’) where s is from A and s’ is from A’

6 Automata on words versus trees a bba a b b a b b ab a Left to right Right to left No difference Bottom upBottom up Top downTop down Differences

7 Automata Automata on ranked trees Typing semistructured data

8 Binary tree automata Parallel evaluation For leaves: For other nodes: a b b a b ab a Bottom upBottom up q q’ b q” q1q” q2 qqq’ Typing semistructured data

9 Bottom-up tree automata Bottom-up: if a node labeled a has its children in states q, q’ then the node moves nondeterministically to state r or r’ Accepts is the root is in some state in F Not deterministic if alternatives or  -transitions:

10 Example: deterministic bottom-up

11 Boolean circuit evaluation v v v 1 v v 1 1 0 v 0 1 1 OK

12 Regular tree language = set of trees accepted by a bottom-up tree automaton Typing semistructured data

13 Regular tree languages Theorem: the following are equivalent – L is a regular tree language – L is accepted by a nondeterministic bottom-up automaton – L is accepted by a deterministic bottom-up automaton – L is accepted by a nondeterministic top-down automaton Deterministic top-down is weaker

14 Top-down tree automata Top-down: if a node labeled a is in state q”, then its left child moves to state q, right to q’ Accepts is all leaves are in states in F Not deterministic if

15 Why deterministic top-down is weaker? Consider the language – L = {,,, ) } It can be accepted by a bottom-up TA – Exercise: write a BUTA A such that L = L(A) Suppose that B is a deterministic top-down TA that accepts both trees in L – Exercise: Show that B also accepts – A contradiction Fact: No deterministic top-down tree automata accepts exactly L

16 Ranked trees automata: Properties Like for words Determinization Minimization Closed under – Complement – Intersection – Union

17 But… XML documents are unranked: book (intro,section*,conclusion)

18 Automata Automata on unranked tree Typing semistructured data

19 Unranked tree automata Issue: represent an infinite set of transitions Solution: a regular language

20 Rule: Meaning: if the states of the children of some node labeled a form a word in L(Q), this node moves to some state in {r 1,…,r m } Unranked tree automata (2)

21 Building on ranked trees a b b b b ab ab a b b b b ab ab Ranked tree: FirstChild-NextSibling F: encoding into a ranked tree F is a bijection F -1 : decoding

22 Building on bottom-up ranked trees (2) For each Unranked TA A, there is a Ranked TA accepting F(L(A)) For each Ranked TA A, there is an unranked TA accepting F -1 (L(A)) Both are easy to construct Consequence: Unranked TA are closed under union, intersection, complement Determinaztaion also possible, a bit more tricky

23 Top-down? This is more delicate Transition  (a,q)=A(a,q) – The state of the automata A(a,q) when reading the labels of the children of a node labeled a determines the states of the children of that node – Accepts if all the leaves are in accepting state

24 Boolean circuit evaluation v v v 1 v 1 1 01 0 v 1 1 1 1 10 0 v v v A tree is accepted if, for some possible run, the states of all leaves are final


Download ppt "Tree Automata First: A reminder on Automata on words Typing semistructured data."

Similar presentations


Ads by Google