TREE AUTOMATA ALGORITHMS AND APPLICATIONS - belabbaci Ahlem; cherroun Hadda; ziadi Djelloul (Université de Laghouat , Bibliothèque centrale, 2019)
In this work we deal with algorithms and applications of ranked tree automata, more precisely tree pattern matching and conversion from tree automata to regular tree expressions and vice versa. These fields of language theory have been widely investigated in the string theory but it is not the case for trees. The principle goal of the present thesis is the contribution in the development of the tree language theory by generalizing some string algorithms to trees and providing a toolkit for regular tree languages algorithms and applications. The first contribution consists on the proposition of a generalization to trees of Thompson’s pattern matching algorithm where the pattern set to be matched against is defined by a regular tree expression E. We start by presenting a new method that uses a tree automaton constructed inductively from a regular tree expression E, which is somehow a generalization of Thompson automaton for strings. After that, we run the constructed automaton on the subject tree t. The pattern matching algorithm proposed requires an O(|t||E|) time complexity. The novelty of this contribution besides the low time complexity is that the set of patterns can be infinite, since we use regular tree expressions to represent those patterns. Another contribution in the tree pattern matching domain is the proposition of a new method treating the fixed tree pattern matching, that is the looking for a single specified pattern in a subject tree. We have adapted the suffix automata and backward string matching algorithms to trees. Our contribution for the proof of Kleene theorem for tree, besides Thompson tree automaton, has been the proposition of an algorithm converting tree automata to regular tree expressions using integrals, it is also a generalization of the underlying algorithm in strings. Finally, all the algorithms and methods proposed have been incorporated in our toolkit dedicated to tree automata YATAT.