Background: A semi-labeled tree is a tree where all leaves as well as, possibly, some internal nodes are labeled
with taxa. Semi-labeled trees encompass ordinary phylogenetic trees and taxonomies. Suppose we are given a collection P = {T1, T2, . . . , Tk} of semi-labeled trees, called input trees, over partially overlapping sets of taxa. The agreement problem asks whether there exists a tree T , called an agreement tree, whose taxon set is the union of the taxon sets of the input trees such that the restriction of T to the taxon set of Ti is isomorphic to i, for each i ε 1, 2, . . . , k . The agreement problems is a special case of the supertree problem, the problem of synthesizing a collection of phylogenetic trees with partially overlapping taxon sets into a single supertree that represents the information in the input trees. An obstacle to building large phylogenetic supertrees is the limited amount of taxonomic overlap among the phylogenetic studies from which the input trees are obtained. Incorporating taxonomies into supertree analyses can alleviate this issue.
Results: We give a O(nk(i∈[k]di + log2(nk))) algorithm for the agreement problem, where n is the total number of distinct taxa in P, k is the number of trees in P, and di is the maximum number of children of a node in Ti. Our computational experience with the algorithm suggests that its performance in practice is much better than its worst-case bound indicates.