Cache Oblivious Algorithms for Computing the Triplet Distance Between Trees
From MaRDI portal
Publication:5111707
DOI10.4230/LIPICS.ESA.2017.21zbMATH Open1442.68289arXiv1706.10284OpenAlexW2963351835MaRDI QIDQ5111707FDOQ5111707
Konstantinos Mampentzidis, Gerth Stølting Brodal
Publication date: 27 May 2020
Abstract: We study the problem of computing the triplet distance between two rooted unordered trees with labeled leafs. Introduced by Dobson 1975, the triplet distance is the number of leaf triples that induce different topologies in the two trees. The current theoretically best algorithm is an time algorithm by Brodal et al. (SODA 2013). Recently Jansson and Rajaby proposed a new algorithm that, while slower in theory, requiring time, in practice it outperforms the theoretically faster algorithm. Both algorithms do not scale to external memory. We present two cache oblivious algorithms that combine the best of both worlds. The first algorithm is for the case when the two input trees are binary trees and the second a generalized algorithm for two input trees of arbitrary degree. Analyzed in the RAM model, both algorithms require time, and in the cache oblivious model I/Os. Their relative simplicity and the fact that they scale to external memory makes them achieve the best practical performance. We note that these are the first algorithms that scale to external memory, both in theory and practice, for this problem.
Full work available at URL: https://arxiv.org/abs/1706.10284
Recommendations
- Cache oblivious algorithms for computing the triplet distance between trees
- Efficient algorithms for computing the triplet and quartet distance between trees of arbitrary degree
- An efficient algorithm for the rooted triplet distance between galled trees
- Distance Approximating Trees: Complexity and Algorithms
- Fast algorithms for the rooted triplet distance between caterpillars
- Computing the rooted triplet distance between galled trees by counting triangles
- Computing the rooted triplet distance between galled trees by counting triangles
- A fast algorithm for constructing trees from distance matrices
Problems related to evolution (92D15) Trees (05C05) Analysis of algorithms (68W40) Data structures (68P05)
Cites Work
- Comparison of phylogenetic trees
- Inferring evolutionary trees with strong combinatorial evidence
- Cache-Oblivious Algorithms
- Cache Oblivious Algorithms for Computing the Triplet Distance Between Trees
- Efficient Algorithms for Computing the Triplet and Quartet Distance Between Trees of Arbitrary Degree
- Title not available (Why is that?)
- Comparing and aggregating partially resolved trees
- An efficient algorithm for the rooted triplet distance between galled trees
- On the Scalability of Computing Triplet and Quartet Distances
Cited In (7)
- On the Scalability of Computing Triplet and Quartet Distances
- Fast algorithms for the rooted triplet distance between caterpillars
- Title not available (Why is that?)
- An efficient algorithm for the rooted triplet distance between galled trees
- Computing the rooted triplet distance between phylogenetic networks
- A cubic-time algorithm for computing the trinet distance between level-1 networks
- Cache Oblivious Algorithms for Computing the Triplet Distance Between Trees
Uses Software
This page was built for publication: Cache Oblivious Algorithms for Computing the Triplet Distance Between Trees
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q5111707)