Listing Conflicting Triples in Optimal Time

Abstract

Different sources of information might tell different stories about the evolutionary history of a given set of species. This leads to (rooted) phylogenetic trees that "disagree" on triples of species, which we call "conflict triples". An important subtask of computing consensus trees which is interesting in its own regard is the enumeration of all conflicts exhibited by a pair of phylogenetic trees (on the same set of n taxa). As it is possible that a significant part of the n3 triples are in conflict, the trivial (n3)-time algorithm that checks for each triple whether it constitutes a conflict, was considered optimal. It turns out, however, that we can do way better in the case that there are only few conflicts. In particular, we show that we can enumerate all d conflict triples between a pair of phylogenetic trees in O(n + d) time. Since any deterministic algorithm has to spend (n) time reading the input and (d) time writing the output, no deterministic algorithm can solve this task faster than we do (up to constant factors).

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…