paper

New and Improved Algorithms for Unordered Tree Inclusion

arXiv:1712.05517

Abstract

The tree inclusion problem is, given two node-labeled trees and (the ``pattern tree'' and the ``target tree''), to locate every minimal subtree in (if any) that can be obtained by applying a sequence of node insertion operations to . Although the ordered tree inclusion problem is solvable in polynomial time, the unordered tree inclusion problem is NP-hard. The currently fastest algorithm for the latter is a classic algorithm by Kilpeläinen and Mannila from 1995 that runs in time, where and are the sizes of the pattern and target trees, respectively, and is the degree of the pattern tree. Here, we develop a new algorithm that runs in time, improving the exponential factor from to by considering a particular type of ancestor-descendant relationships that is suitable for dynamic programming. We also study restricted variants of the unordered tree inclusion problem.

22 pages, 9 figures. To appear in Theoretical Computer Science