Sorting signed permutations by reversals, revisited

被引:15
作者
Kaplan, H [1 ]
Verbin, E [1 ]
机构
[1] Tel Aviv Univ, Sch Comp Sci, IL-69978 Tel Aviv, Israel
基金
以色列科学基金会;
关键词
D O I
10.1016/j.jcss.2004.12.002
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 pi to pi' corresponds to an oriented reversal that transforms pi to pi'. 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/2) root log n) time, thus obtaining an algorithm for SBR that almost always runs in subquadratic 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(2) log n) time on a regular RAM, and in O(n log n) time on a PRAM using n processors. (c) 2005 Elsevier Inc. All rights reserved.
引用
收藏
页码:321 / 341
页数:21
相关论文
共 31 条
[1]  
[Anonymous], 1989, PROC 1 WADS
[2]   CASCADING DIVIDE-AND-CONQUER - A TECHNIQUE FOR DESIGNING PARALLEL ALGORITHMS [J].
ATALLAH, MJ ;
COLE, R ;
GOODRICH, MT .
SIAM JOURNAL ON COMPUTING, 1989, 18 (03) :499-532
[3]   A linear-time algorithm for computing inversion distance between signed permutations with an experimental study [J].
Bader, DA ;
Moret, BME ;
Yan, M .
JOURNAL OF COMPUTATIONAL BIOLOGY, 2001, 8 (05) :483-491
[4]   Genome rearrangements and sorting by reversals [J].
Bafna, V ;
Pevzner, PA .
SIAM JOURNAL ON COMPUTING, 1996, 25 (02) :272-289
[5]  
BERGERON A, 2002, P JOBIM, P99
[6]  
Caprara A., 1997, P 1 ANN INT C COMP M, P75, DOI DOI 10.1145/267521.267531
[7]   A DATA STRUCTURE USEFUL FOR FINDING HAMILTONIAN CYCLES [J].
CHROBAK, M ;
SZYMACHA, T ;
KRAWCZYK, A .
THEORETICAL COMPUTER SCIENCE, 1990, 71 (03) :419-424
[8]  
Cormen T. H., 1990, INTRO ALGORITHMS
[9]  
Dehne F, 1993, P ACM 9 ANN COMP GEO, P298
[10]  
Fortune S, 1978, P 10 ANN ACM S THEOR, P114, DOI [10.1145/800133.804339, DOI 10.1145/800133.804339]