Algorithms for Guided Tree Automata

Morten Biehl, Nils Klarlund, and Theis Rauhe

Abstract

When reading an input tree, a bottom-up tree automaton is ``unaware'' of where it is relative to the root. This problem is important to the efficient implementation of decision procedures for the Monadic Second-order Logic (M2L) on finite trees. In [Reg=Alg+RDT], it is shown how exponential state space blow-ups may occur in common situations. The analysis of the problem leads to the notion of guided tree automaton for combatting such explosions. The guided automaton is equipped with separate state spaces that are assigned by a top-down automaton, called the guide.

In this paper, we explore the algorithmic and practical problems arising from this relatively complicated automaton concept.

Our solutions are based on a BDD representation of automata [Reg=Alg+RDT], which allows the practical handling of automata on very large alphabets. In addition, we propose data structures for avoiding the quadratic size of transition tables associated with tree automata.

We formulate and analyze product, projection (subset construction), and minimization algorithms for guided tree automata. We show that our product algorithm for certain languages are asymptotically faster than the usual algorithm that relies on transition tables.

Also, we provide some preliminary experimental results on the use of guided automata vs. standard tree automata.