Anti Tai Mapping for Unordered Labeled Trees
The well-studied Tai mapping between two rooted labeled trees T_1(V_1, E_1) and T_2(V_2, E_2) defines a one-to-one mapping between nodes in T_1 and T_2 that preserves ancestor relationship. For unordered trees the problem of finding a maximum-weight Tai mapping is known to be NP-complete. In this work, we define an anti Tai mapping M⊆ V_1× V_2 as a binary relation between two unordered labeled trees such that any two (x,y), (x', y')∈ M violate ancestor relationship and thus cannot be part of the same Tai mapping, i.e. (x≤ x' y≰y') ∨ (x'≤ x y'≰y), given an ancestor order x<x' meaning that x is an ancestor of x'. Finding a maximum-weight anti Tai mapping arises in the cutting plane method for solving the maximum-weight Tai mapping problem via integer programming. We give an efficient polynomial-time algorithm for finding a maximum-weight anti Tai mapping for the case when one of the two trees is a path and further show how to extend this result in order to provide a polynomially computable lower bound on the optimal anti Tai mapping for two unordered labeled trees. The latter result stems from the special class of anti Tai mapping defined by the more restricted condition x∼ x' y≁y', where ∼ denotes that two nodes belong to the same root-to-leaf path. For this class, we give an efficient algorithm that solves the problem directly on two unordered trees in O(|V_1|^2|V_2|^2).
READ FULL TEXT