## Abstract

Motivated by the problem in computational biology of reconstructing the series of chromosome inversions by which one organism evolved from another, we consider the problem of computing the shortest series of reversals that transform one permutation to another. The permutations describe the order of genes on corresponding chromosomes, and a reversal takes an arbitrary substring of elements, and reverses their order. For this problem, we develop two algorithms: a greedy approximation algorithm, that finds a solution provably close to optimal in O(n^{ 2}) time and 0(n) space for n-element permutations, and a branch- and-bound exact algorithm, that finds an optimal solution in 0(mL(n, n)) time and 0(n^{ 2}) space, where m is the size of the branch- and-bound search tree, and L(n, n) is the time to solve a linear program of n variables and n constraints. The greedy algorithm is the first to come within a constant factor of the optimum; it guarantees a solution that uses no more than twice the minimum number of reversals. The lower and upper bounds of the branch- and-bound algorithm are a novel application of maximum-weight matchings, shortest paths, and linear programming. In a series of experiments, we study the performance of an implementation on random permutations, and permutations generated by random reversals. For permutations differing by k random reversals, we find that the average upper bound on reversal distance estimates k to within one reversal for k<1/2n and n<100. For the difficult case of random permutations, we find that the average difference between the upper and lower bounds is less than three reversals for n<50. Due to the tightness of these bounds, we can solve, to optimality, problems on 30 elements in a few minutes of computer time. This approaches the scale of mitochondrial genomes.

Original language | English (US) |
---|---|

Pages (from-to) | 180-210 |

Number of pages | 31 |

Journal | Algorithmica |

Volume | 13 |

Issue number | 1-2 |

DOIs | |

State | Published - Feb 1995 |

## Keywords

- Approximation algorithms
- Branch- and-bound algorithms
- Chromosome inversions
- Computational biology
- Edit distance
- Experimental analysis of algorithms
- Genome rearrangements
- Permutations
- Sorting by reversals

## ASJC Scopus subject areas

- General Computer Science
- Computer Science Applications
- Applied Mathematics