Constructing a tree from homeomorphic subtrees, with applications to computational evolutionary biology

Citation
Mr. Henzinger et al., Constructing a tree from homeomorphic subtrees, with applications to computational evolutionary biology, ALGORITHMIC, 24(1), 1999, pp. 1-13
Citations number
32
Categorie Soggetti
Engineering Mathematics
Journal title
ALGORITHMICA
ISSN journal
01784617 → ACNP
Volume
24
Issue
1
Year of publication
1999
Pages
1 - 13
Database
ISI
SICI code
0178-4617(199905)24:1<1:CATFHS>2.0.ZU;2-S
Abstract
We are given a set T = {T-1, T-2,..., T-k} of rooted binary trees, each T-i leaf-labeled by a subset L(T-i) subset of {1,2,..., n). If T is a tree on {1,2,..., n}, we let T\L denote the minimal subtree of T induced by the nod es of L: and all their ancestors. The consensus tree problem asks whether t here exists a tree T* such that, for every i, T*\L(T-i) is homeomorphic to T-i. We present algorithms which test if a given set of trees has a consensus tr ee and if so, construct one. The deterministic algorithm takes time mini O( Nn (1/2)), O(N + n(2) log n)}, where N = Sigma(i)\Ti\, and uses linear spac e. The randomized algorithm takes time O(N log(3) n) and uses linear space. The previous best for this problem was a 1981 O(Nn) algorithm by Aho et al . Our faster deterministic algorithm uses a new efficient algorithm for the following interesting dynamic graph problem: Given a graph G with n nodes and m edges and a sequence of b batches of one or more edge deletions, then , after each batch, either find a new component that has just been created or determine that there is no such component. For this problem, we have a s imple algorithm with running time O(n(2) log n + b(o) min{n(2), m log n}), where b(o) is the number of batches which do not result in a new component. For our particular application, b(o)less than or equal to 1. If all edges are deleted, then the best previously known deterministic algorithm require s time O(m*root n) to solve this problem. We also present two applications of these consensus tree algorithms which solve other problems in computatio nal evolutionary biology.