Abstract

We present tight upper and lower bounds for the problem of constructing evolutionary trees in the experiment model. We describe an algorithm which constructs an evolutionary tree of n species in time O(nd logdn) using at most n⌈d/2⌉(log2⌈d/2⌉-1n+O(1)) experiments for d > 2, and at most n(log n+O(1)) experiments for d = 2, where d is the degree of the tree. This improves the previous best upper bound by a factor θ(log d). For d = 2 the previously best algorithm with running time O(n log n) had a bound of 4n log n on the number of experiments. By an explicit adversary argument, we show an Ω(nd logdn) lower bound, matching our upper bounds and improving the previous best lower bound by a factor θ(logdn). Central to our algorithm is the construction and maintenance of separator trees of small height, which may be of independent interest.