The well-studied Tai mapping between two rooted labeled trees T1=(V1,E1) and T2=(V2,E2) defines a one-to-one mapping between nodes in T1 and T2 that preserves ancestor relationship [1]. For unordered trees the problem of finding a maximum-weight Tai mapping is known to be NP-complete [2]. In this work, we define an anti Tai mapping M⊆V1×V2 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 mappings 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 exactly on two unordered trees in O(|V1|2|V2|2).
Read full abstract