TY - JOUR

T1 - Kaikoura tree theorems

T2 - Computing the maximum agreement subtree

AU - Steel, Mike

AU - Warnow, Tandy

N1 - Funding Information:
* This work was supported by the New Zealand Lotteries Commission. ** Corresponding author. This work was supported by the U.S. Department of Energy under Contract DE-AC04-76DP00789, and was done while visiting New Zealand supported by NSF.

PY - 1993/11/8

Y1 - 1993/11/8

N2 - The Maximum Agreement Subtree Problem was posed by Finden and Gordon in 1985, and is as follows: given a set S = {S1, S2,..., Sn} and two trees P and Q leaf-labelled by the elements of S, find a maximum cardinality subset S0 of S such that P|S0 = Q|S0. This problem arises in evaluationary tree construction, where different methods or data yield (possibly) different trees for the same species on which the trees agree. A superpolynomial time algorithm for finding a maximum agreement subtree of two binary trees was found by Kubicka et al. In this paper, we will present an O(n4.5 log n + V) algorithm to determine the largest agreement subtree of two trees on n leaves, where V is the maximum number of nodes in the trees. For the case of trees of maximum degree k, there are two algorithms presented: one has running time O(k!n2 + V) while the other has running time O(k2.5n2 log n + V). These algorithms also apply when the trees are constrained to be rooted; in this case a maximum agreement subtree is also constrained to be rooted. Each of the algorithms we present can be modified to produce a maximum agreement subtree, rather than computing only the size. Thus, we can solve the searchproblem in the same running time as above.

AB - The Maximum Agreement Subtree Problem was posed by Finden and Gordon in 1985, and is as follows: given a set S = {S1, S2,..., Sn} and two trees P and Q leaf-labelled by the elements of S, find a maximum cardinality subset S0 of S such that P|S0 = Q|S0. This problem arises in evaluationary tree construction, where different methods or data yield (possibly) different trees for the same species on which the trees agree. A superpolynomial time algorithm for finding a maximum agreement subtree of two binary trees was found by Kubicka et al. In this paper, we will present an O(n4.5 log n + V) algorithm to determine the largest agreement subtree of two trees on n leaves, where V is the maximum number of nodes in the trees. For the case of trees of maximum degree k, there are two algorithms presented: one has running time O(k!n2 + V) while the other has running time O(k2.5n2 log n + V). These algorithms also apply when the trees are constrained to be rooted; in this case a maximum agreement subtree is also constrained to be rooted. Each of the algorithms we present can be modified to produce a maximum agreement subtree, rather than computing only the size. Thus, we can solve the searchproblem in the same running time as above.

KW - Algorithms

KW - Analysis of algorithms

KW - Combinatorial problems

UR - http://www.scopus.com/inward/record.url?scp=0027912455&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0027912455&partnerID=8YFLogxK

U2 - 10.1016/0020-0190(93)90181-8

DO - 10.1016/0020-0190(93)90181-8

M3 - Article

AN - SCOPUS:0027912455

SN - 0020-0190

VL - 48

SP - 77

EP - 82

JO - Information Processing Letters

JF - Information Processing Letters

IS - 2

ER -