Infinite-tree Automaton
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
and
mathematical logic Mathematical logic is the study of logic, formal logic within mathematics. Major subareas include model theory, proof theory, set theory, and recursion theory. Research in mathematical logic commonly addresses the mathematical properties of for ...
, an infinite-tree automaton is a
state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
that deals with infinite tree structures. It can be seen as an extension of top-down finite-tree automata to infinite trees or as an extension of infinite-word automata to infinite trees. A finite automaton which runs on an infinite tree was first used by
Michael Rabin Michael Rabin ( ; May 2, 1936January 19, 1972) was an American violinist. He has been described as "one of the most talented and tragic violin virtuosi of his generation". His complete Niccolò Paganini, Paganini "24 Caprices" for solo violin are ...
for proving decidability of S2S, the monadic second-order theory with two successors. It has been further observed that tree automata and logical theories are closely connected and it allows decision problems in logic to be reduced into decision problems for automata.


Definition

Infinite-tree automata work on \Sigma-labeled trees. There are many slightly different definitions; here is one. A (nondeterministic) infinite-tree automaton is a tuple A = (\Sigma, D, Q, q_0, \delta, F ) with the following components. * \Sigma is an alphabet. This alphabet is used to label nodes of an input tree. * D\subset \mathbb is a finite set of allowed branching degrees in an input tree. For example, if D = \, an input tree has to be a binary tree, or if D = \, then each node has either 1, 2, or 3 children. * Q is a finite set of states; q_0 is initial. * \delta: Q \times \Sigma \times D \rightarrow 2^ is a transition relation that maps an automaton state q \in Q, an input letter \sigma \in \Sigma , and a degree d \in D to a set of d-tuples of states. * F \subseteq Q^ is an accepting condition. An infinite-tree automaton is ''deterministic'' if for every q \in Q, \sigma \in \Sigma , and d \in D , the transition relation \delta( q, \sigma, d) has exactly one d-tuple.


Run

Intuitively, a run of a tree automaton on an input tree assigns automaton states to the tree nodes in a way that satisfies the automaton transition relation. A bit more formally, a ''run'' of a tree automaton A over a \Sigma-labeled tree (T,V) is a Q-labeled tree (T_r, r ) as follows. Suppose that the automaton reached a node t of an input tree and is currently in state q. Let the node t be labeled with \sigma \in \Sigma and d(t) be its branching degree. Then, the automaton proceeds by selecting a tuple (q_1,...,q_) from the set \delta( q, \sigma, d(t)) and cloning itself into d(t) copies. For each 0 < i \leq d(t), one copy of the automaton proceeds into node t.i and changes its state to q_i. This produces a run which is a Q-labeled tree. Formally, a run (T_r, r ) on the input tree satisfies the following two conditions. * r(\epsilon) = q_0. * For every t \in T_r with r(t) = q, there exists a (q_1,...,q_) \in \delta(q,V(t),d(t)) such that for every 0 < i \leq d(t) , we have t.i \in T_r and r(t.i) = q_i . If the automaton is nondeterministic, there may be several different runs on the same input tree; for deterministic automata, the run is unique.


Acceptance condition

In a run (T_r, r ), an infinite path is labeled by a sequence of states. This sequence of states form an infinite word over states. If all these infinite words belong to accepting condition F, then the run is ''accepting''. Interesting accepting conditions are Büchi,
Rabin Rabin is a List of Jewish surnames, Hebrew surname. It originates from the Hebrew word ''rav'' meaning Rabbi, or from the name of the specific Rabbi Abin I, Abin. The most well known bearer of the name was Yitzhak Rabin, prime minister of Israel ...
, Streett, Muller, and
parity Parity may refer to: * Parity (computing) ** Parity bit in computing, sets the parity of data for the purpose of error detection ** Parity flag in computing, indicates if the number of set bits is odd or even in the binary representation of the r ...
. If for an input \Sigma-labeled tree (T,V ), there exists an accepting run, then the input tree is ''accepted'' by the automaton. The set of all accepted \Sigma-labeled trees is called tree language \mathcal(A) which is ''recognized'' by the tree automaton A.


Expressive power of acceptance conditions

Nondeterministic Muller, Rabin, Streett, and parity tree automata recognize the same set of tree languages, and thus have the same expressive power. But nondeterministic Büchi tree automata are strictly weaker, i.e., there exists a tree language that can be recognized by a Rabin tree automaton but cannot be recognized by any Büchi tree automaton. (For example, there is no Büchi tree automaton that recognizes the set of \-labeled trees whose every path has only finitely many as, see e.g. ). Furthermore, deterministic tree automata (Muller, Rabin, Streett, parity, Büchi, looping) are strictly less expressive than their nondeterministic variants. For example, there is no deterministic tree automaton that recognizes the language of binary trees whose root has its left or right child marked with a. This is in sharp contrast to automata on infinite ''words'', where nondeterministic Büchi ω-automata have the same expressive power as the others. The languages of nondeterministic Muller/Rabin/Streett/parity tree automata are closed under union, intersection, projection, and complementation.


References

* In particular: Part II ''Automata on Infinite Trees'', pp. 165-185. * {{DEFAULTSORT:Infinite Tree Automaton Trees (data structures) Automata (computation)