1 / 32

A Simpler 1.5-Approximation Algorithm for Sorting by Transpositions

A Simpler 1.5-Approximation Algorithm for Sorting by Transpositions. Combinatorial Pattern Matching (CPM) 2003 Authors: T. Hartman & R. Shamir Speaker: Chen Ming-Chiang. Outline. Sorting by Transpositions Previous Works Linear & Circular Permutation The Breakpoint Graph Algorithm

Download Presentation

A Simpler 1.5-Approximation Algorithm for Sorting by Transpositions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Simpler 1.5-Approximation Algorithm for Sorting by Transpositions Combinatorial Pattern Matching (CPM) 2003 Authors: T. Hartman & R. Shamir Speaker: Chen Ming-Chiang

  2. Outline • Sorting by Transpositions • Previous Works • Linear & Circular Permutation • The Breakpoint Graph • Algorithm • Performance Ratio & Running Time • Discussions • References

  3. Sorting by Transpositions • Given two sequences representing two species, find the smallest number of transpositions needed to transform a sequence to the other sequence. • Transposition: • Swap two adjacent substrings of any length without changing the order in the permutation. 2 41 3 1 32 4  1 2 3 4

  4. Previous Works • O(n2) 1.5-approximation algorithm [BP98] • V. Bafna & P.A. Pevzner, SIAM J.D.M., 1998. • O(n4) 1.5-approximation algorithm [C99] • D.A. Christie, 1999. • At most 2n/3 transpositions for sorting given permutation of size n [EEKSW2001]

  5. Linear & Circular Permutations • Theorem 1 • The problem of sorting by transpositions on linear permutation is equivalent to circular permutation. • Linear 1 4 72 6 5 3  1 2 6 4 7 5 3 • Circular

  6. The Breakpoint Graph • Permutation : 1 6 5 4 7 3 2 • Step 1: Replace each element i by 2i-1 and 2i. • Permutation f( ): 1 2 11 12 9 10 7 8 13 14 5 6 3 4

  7. The Breakpoint Graph • Graph G( ) is an edge-colored graph. • For every , • Black edge: • Gray edge:

  8. The Breakpoint Graph • : The number of cycles. • : The number of odd cycles. • Odd cycle is the cycle with odd numbers of black edges.

  9. The Breakpoint Graph • For a sorted permutation of size n, there are n cycles, and all of them are odd. • The concept is to increase the number of cycles from to n.

  10. The Breakpoint Graph • Lemma [BP98] • For all permutation and transposition , • . • Theorem (Lower bound) • For all permutations , . • The goal now is to increase the number of odd cycle.

  11. The Breakpoint Graph • Simple graph: • A graph is called simple if it contains only cycles which black edges . 1-cycle 2-cycle 3-cycle

  12. Algorithm • Transforming graph into simple graph . • While 2-cycle exists, apply a 2-transposition. • While 3-cylces exists, • If oriented cycle exists, apply a 2-transpostion. • If interleaving unoriented cycle exists, apply a (0,2,2)-transposition. • If shattered unoriented cycle exists, apply a (0,2,2)-transposition. • Mimic the sorting of using the sorting of .

  13. Algorithm • Transforming graph into simple graph ([HP99] & [LX2001]): • Lemma: • Every permutation can be transformed into a simple one by safe splits. • Lemma: • Let be a simple permutation that is equivalent to , then every sorting of mimics a sorting of with the same number of operations.

  14. Algorithm • Example: • 1 3 5 7 4 2 6  1 3 5 7 4 x 2 6 • 1 odd-cycle  1 odd-cycle + 1 cycle

  15. Algorithm • Why the translation is safe? • The process breaks a cycle into a 3-cycle and (k-2)-cylce.

  16. Algorithm • In the following, there are only three types of cycles in simple graph. • 1-cycle • 2-cycle • 3-cycle

  17. Algorithm • While 2-cycle exists, apply a 2-transposition [C99]: • Lemma: • If is a permutation that contains a 2-cycle, then there exists a 2-tranposition on .

  18. Algorithm • The result is to increase two odd cycle. • Therefore, it is a 2-transposition.

  19. Algorithm • Only two possible configurations of 3-cycle: • Oriented cycle: • Unoriented cycle:

  20. Algorithm • While 3-cylces exists, • If oriented cycle exists, apply a 2-transpostion [BP98]: • An oriented cycle can be eliminated by a 2-transposition.

  21. Algorithm • It is a 2-transposition, because .

  22. Algorithm • Now, we only focus on unoriented cycle. • Lemma: • Let C be an unoriented cycle. Then every pair of black edges in C intersects with some other cycles in .

  23. For the unoriented cycle, there are two cases, interleaving cycle and shattered cycle. • Interleaving cycle: • Shattered cycle:

  24. Algorithm • While 3-cylces exists, • If interleaving unoriented cycle exists, apply a (0,2,2)-transposition :

  25. Algorithm • While 3-cylces exists, • If shattered unoriented cycle exists, apply a (0,2,2)-transposition : • Shattered cycle: • Cycle E is shattered by cycles C and D, if E’s black edges belong to different intervals caused by either C or D.

  26. Algorithm • First Case: • two out of three cycles are non-intersecting.

  27. Algorithm • Second Case: • Three cycles are mutually intersecting.

  28. Algorithm • Transforming graph into simple graph . • While 2-cycle exists, apply a 2-transposition. • While 3-cylces exists, • If oriented cycle exists, apply a 2-transpostion. • If interleaving unoriented cycle exists, apply a (0,2,2)-transposition. • If shattered unoriented cycle exists, apply a (0,2,2)-transposition. • Mimic the sorting of using the sorting of .

  29. Performance Ratio & Running time • Performance ratio is 1.5, since . • Running time of algorithm is .

  30. Discussions • Working on circular permutation & better running time. • Complexity of the problem is still the open problem. • There are many different sorting problems about genome rearrangement.

  31. References • [BP98] Sorting by Transpositions, Bafna, V. and Pevzner, P. A., SIAM Journal on Discrete Mathematics, Vol. 11, No. 2, 1998, pp. 224-240. • [C99] Genome Rearrangement Problems, D. A., Christie, PhD thesis, University of Glasgow, 1999. • [EEKSW01] Sorting a Bridge Hand, Eriksson, H., Eriksson, K., Karlander, J., Svensson, L. and Waslund, J., SIAM Journal on Discrete Mathematics, Vol. 241, 2001, pp. 289-300. • [HP99] Transforming Cabbage into Turnip: Polynomial Algorithm for Sorting Signed Permutations by Reversals, Hannenhalli, S. and Pevzner, P. A., Journal of the ACM, Vol. 46, 1999, pp. 1–27. • [LX2001] Signed genome rearrangements by reversals and transpositions: Models and Approximations, G. H. Lin and G. Xue, Theoretical Computer Science, pp. 513-531, 2001.

More Related