Self-adjusting binary search trees
Journal of the ACM (JACM)
Cascading divide-and-conquer: a technique for designing parallel algorithms
SIAM Journal on Computing
Parallel general prefix computations with geometric, algebraic, and other applications
International Journal of Parallel Programming
Data structures for traveling salesmen
SODA '93 Selected papers from the fourth annual ACM SIAM symposium on Discrete algorithms
Constant Time Algorithms for Computational Geometry on the Reconfigurable Mesh
IEEE Transactions on Parallel and Distributed Systems
Sorting by reversals is difficult
RECOMB '97 Proceedings of the first annual international conference on Computational molecular biology
Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals
Journal of the ACM (JACM)
A Faster and Simpler Algorithm for Sorting Signed Permutations by Reversals
SIAM Journal on Computing
Genome Rearrangements and Sorting by Reversals
SIAM Journal on Computing
A Very Elementary Presentation of the Hannenhalli-Pevzner Theory
CPM '01 Proceedings of the 12th Annual Symposium on Combinatorial Pattern Matching
Improved bounds on sorting with length-weighted reversals
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
A simpler 1.5-approximation algorithm for sorting by transpositions
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Efficient data structures and a new randomized approach for sorting signed permutations by reversals
CPM'03 Proceedings of the 14th annual conference on Combinatorial pattern matching
Perfect Sorting by Reversals Is Not Always Difficult
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
Whole genome duplications, multi-break rearrangements, and genome halving problem
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Sorting Genomes by Reciprocal Translocations, Insertions, and Deletions
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
The problem of chromosome reincorporation in DCJ sorting and halving
RECOMB-CG'10 Proceedings of the 2010 international conference on Comparative genomics
An O(n3/2log(n)) algorithm for sorting by reciprocal translocations
Journal of Discrete Algorithms
An O(n3/2√log(n)) algorithm for sorting by reciprocal translocations
CPM'06 Proceedings of the 17th Annual conference on Combinatorial Pattern Matching
Sorting by translocations via reversals theory
RCG'06 Proceedings of the RECOMB 2006 international conference on Comparative Genomics
Hi-index | 0.00 |
The problem of sorting signed permutations by reversals (SBR) is a fundamental problem in computational molecular biology. The goal is, given a signed permutation, to find a shortest sequence of reversals that transforms it into the positive identity permutation, where a reversal is the operation of taking a segment of the permutation, reversing it, and flipping the signs of its elements. In this paper we describe a randomized algorithm for SBR. The algorithm tries to sort the permutation by repeatedly performing a random oriented reversal. This process is in fact a random walk on the graph where permutations are the nodes and an arc from @p to @p^' corresponds to an oriented reversal that transforms @p to @p^'. We show that if this random walk stops at the identity permutation, then we have found a shortest sequence. We give empirical evidence that this process indeed succeeds with high probability on a random permutation. To implement our algorithm we describe a data structure to maintain a permutation, that allows to draw an oriented reversal uniformly at random, and perform it in sub-linear time. With this data structure we can implement the random walk in O(n^3^/^2logn) time, thus obtaining an algorithm for SBR that almost always runs in sub-quadratic time. The data structures we present may also be of independent interest for developing other algorithms for SBR, and for other problems. Finally, we present the first efficient parallel algorithm for SBR. We obtain this result by developing a fast implementation of the recent algorithm of Bergeron (Proceedings of CPM, 2001, pp. 106-117) for sorting signed permutations by reversals that is parallelizable. Our implementation runs in O(n^2logn) time on a regular RAM, and in O(nlogn) time on a PRAM using n processors.