The following article deals with branching tree automata, which correspond to regular languages of trees. For a different notion of tree automaton, see tree walking automaton.
As with classical automata, finite tree automata (FTA) can be either a Deterministic automaton or not. According to how the automata run on the input tree, finite tree automata can be of two types: (a) bottom up, (b) top down. This is an important issue, as although non-deterministic (ND) top-down and ND bottom-up tree automata are equivalent, deterministic top-down automata are strictly less powerful than their deterministic bottom-up counterparts, because tree properties specified by deterministic top-down tree automata can only depend on path properties. (Deterministic bottom-up tree automata are as powerful as ND tree automata.)
A bottom-up finite tree automaton over is defined by:
Here is a set of unary states, is a ranked alphabet, is a set of final states, and is a set of transition rules, that is, rewrite rules from nodes whose childs' roots are states, to nodes whose roots are states. Thus the state of a node is deduced from the states of its children.
There is no initial state as such, but the transition rules for constant symbols (leaves) can be considered as initial states. The tree is accepted if the state labeled at the root is an accepting state.
A top-down finite tree automaton over is defined by:
There are two differences with bottom-up tree automata : first, , the set of its initial states, replaces ; second, its transition rules are the converse, that is, rewrite rules from nodes whose roots are states to nodes whose child's roots are states. The tree is accepted if every branch can be gone through this way.
One can easily guess that non-deterministic top-down tree automata are equivalent to non-deterministic bottom-up ones ; the transition rules are simply reversed, and the final states become the initial states.
Why then are deterministic top-down FTA less powerful than their bottom-up counterparts? Because a deterministic TA is by definition one where no two transition rules have the same left-hand side. For tree automata, transition rules are rewrite rules ; and for top-down ones, the left-hand side will be parent nodes. Consequently a deterministic top-down tree automaton will only be able to test for tree properties that are true in all branches, because the choice of the state to write into each child branch is determined at the parent node, without knowing the child branches contents.
The tree language recognized by a tree automaton is the set of all ground terms accepted by . A set of ground terms is recognizable if there exists a tree automaton that recognizes it.
One important property is that linear (that is, arity-preserving) homomorphisms preserve recognizability.
Definitions necessary for this theorem: A congruence on tree languages is a relation such that It is of finite index if its number of equivalence-classes is finite. For a given tree-language , if for all contexts , if and only if .
All the information in this page was taken from Chapter 1 of http://www.grappa.univ-lille3.fr/tata