320 likes | 338 Vues
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
E N D
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 • Performance Ratio & Running Time • Discussions • References
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
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]
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
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
The Breakpoint Graph • Graph G( ) is an edge-colored graph. • For every , • Black edge: • Gray edge:
The Breakpoint Graph • : The number of cycles. • : The number of odd cycles. • Odd cycle is the cycle with odd numbers of black edges.
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.
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.
The Breakpoint Graph • Simple graph: • A graph is called simple if it contains only cycles which black edges . 1-cycle 2-cycle 3-cycle
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 .
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.
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
Algorithm • Why the translation is safe? • The process breaks a cycle into a 3-cycle and (k-2)-cylce.
Algorithm • In the following, there are only three types of cycles in simple graph. • 1-cycle • 2-cycle • 3-cycle
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 .
Algorithm • The result is to increase two odd cycle. • Therefore, it is a 2-transposition.
Algorithm • Only two possible configurations of 3-cycle: • Oriented cycle: • Unoriented cycle:
Algorithm • While 3-cylces exists, • If oriented cycle exists, apply a 2-transpostion [BP98]: • An oriented cycle can be eliminated by a 2-transposition.
Algorithm • It is a 2-transposition, because .
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 .
For the unoriented cycle, there are two cases, interleaving cycle and shattered cycle. • Interleaving cycle: • Shattered cycle:
Algorithm • While 3-cylces exists, • If interleaving unoriented cycle exists, apply a (0,2,2)-transposition :
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.
Algorithm • First Case: • two out of three cycles are non-intersecting.
Algorithm • Second Case: • Three cycles are mutually intersecting.
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 .
Performance Ratio & Running time • Performance ratio is 1.5, since . • Running time of algorithm is .
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.
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.