An empirical comparison of priority-queue and event-set implementations
Communications of the ACM
Algorithms from P to NP (vol. 1): design and efficiency
Algorithms from P to NP (vol. 1): design and efficiency
Pairing heaps: experiments and analysis
Communications of the ACM
Shortest paths algorithms: theory and experimental evaluation
Mathematical Programming: Series A and B
The influence of caches on the performance of heaps
Journal of Experimental Algorithmics (JEA)
Augment or push: a computational study of bipartite matching and unit-capacity flow algorithms
Journal of Experimental Algorithmics (JEA)
The influence of caches on the performance of sorting
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
Cache performance analysis of traversals and random accesses
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Matrix multiplication: a case study of enhanced data cache utilization
Journal of Experimental Algorithmics (JEA)
Cut tree algorithms: an experimental study
Journal of Algorithms
Estimating true evolutionary distances between genomes
STOC '01 Proceedings of the thirty-third annual ACM symposium on Theory of computing
Improving memory performance of sorting algorithms
Journal of Experimental Algorithmics (JEA)
Fast priority queues for cached memory
Journal of Experimental Algorithmics (JEA)
High-Performance Algorithm Engineering for Computational Phylogenetics
ICCS '01 Proceedings of the International Conference on Computational Science-Part II
Proceedings of the Eighth International Conference on Intelligent Systems for Molecular Biology
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Reconstructing optimal phylogenetic trees: a challenge in experimental algorithmics
Experimental algorithmics
Algorithm engineering for parallel computation
Experimental algorithmics
Parallel algorithms for Bayesian phylogenetic inference
Journal of Parallel and Distributed Computing - High-performance computational biology
Computational biology and high-performance computing
Communications of the ACM - Bioinformatics
A lower bound on the edge l∞ radius of Saitou and Nei's method for phylogenetic reconstruction
Information Processing Letters
PBPI: a high performance implementation of Bayesian phylogenetic inference
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
On the edge l∞ radius of Saitou and Nei's method for phylogenetic reconstruction
Theoretical Computer Science
Computational Science for Natural Resource Management
Computing in Science and Engineering
Adaptive Allocation of Independent Tasks to Maximize Throughput
IEEE Transactions on Parallel and Distributed Systems
ZARAMIT: A System for the Evolutionary Study of Human Mitochondrial DNA
IWANN '09 Proceedings of the 10th International Work-Conference on Artificial Neural Networks: Part II: Distributed Computing, Artificial Intelligence, Bioinformatics, Soft Computing, and Ambient Assisted Living
High-Performance Local Search for Task Scheduling with Human Resource Allocation
SLS '09 Proceedings of the Second International Workshop on Engineering Stochastic Local Search Algorithms. Designing, Implementing and Analyzing Effective Heuristics
A lower bound on the edge l∞ radius of Saitou and Nei's method for phylogenetic reconstruction
Information Processing Letters
High-Performance algorithm engineering for large-scale graph problems and computational biology
WEA'05 Proceedings of the 4th international conference on Experimental and Efficient Algorithms
Hi-index | 0.00 |
A phylogeny is the evolutionary history of a group of organisms; systematists (and other biologists) attempt to reconstruct this history from various forms of data about contemporary organisms. Phylogeny reconstruction is a crucial step in the understanding of evolution as well as an important tool in biological, pharmaceutical, and medical research. Phylogeny reconstruction from molecular data is very difficult: almost all optimization models give rise to NP-hard (and thus computationally intractable) problems. Yet approximations must be of very high quality in order to avoid outright biological nonsense. Thus many biologists have been willing to run farms of processors for many months in order to analyze just one dataset. High-performance algorithm engineering offers a battery of tools that can reduce, sometimes spectacularly, the running time of existing phylogenetic algorithms, as well as help designers produce better algorithms. We present an overview of algorithm engineering techniques, illustrating them with an application to the “breakpoint analysis” method of Sankoff et al., which resulted in the GRAPPA software suite. GRAPPA demonstrated a speedup in running time by over eight orders of magnitude over the original implementation on a variety of real and simulated datasets. We show how these algorithmic engineering techniques are directly applicable to a large variety of challenging combinatorial problems in computational biology.