A Simpler 1.5-Approximation Algorithm for sorting by transposition Tzvika Hartman.

Slides:



Advertisements
Similar presentations
A Simpler 1.5-Approximation Algorithm for Sorting by Transpositions Tzvika Hartman Weizmann Institute.
Advertisements

Sorting by reversals Bogdan Pasaniuc Dept. of Computer Science & Engineering.
 Theorem 5.9: Let G be a simple graph with n vertices, where n>2. G has a Hamilton circuit if for any two vertices u and v of G that are not adjacent,
Lower Bound for Sparse Euclidean Spanners Presented by- Deepak Kumar Gupta(Y6154), Nandan Kumar Dubey(Y6279), Vishal Agrawal(Y6541)
Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
Approximation Algorithms
Generalization and Specialization of Kernelization Daniel Lokshtanov.
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
Combinatorial Algorithms
The Breakpoint Graph The Breakpoint Graph Augment with 0 = n
The number of edge-disjoint transitive triples in a tournament.
Introduction Sorting permutations with reversals in order to reconstruct evolutionary history of genome Reversal mutations occur often in chromosomes where.
Greedy Algorithms And Genome Rearrangements
2k-Cycle Free Bipartite Graph Steven Wu. What is a bipartite graph?
Perfect Graphs Lecture 23: Apr 17. Hard Optimization Problems Independent set Clique Colouring Clique cover Hard to approximate within a factor of coding.
Definition Hamiltonian graph: A graph with a spanning cycle (also called a Hamiltonian cycle). Hamiltonian graph Hamiltonian cycle.
Vertex Cover, Dominating set, Clique, Independent set
Sorting Signed Permutations By Reversals (The Hannenhalli – Pevzner Theory) Seminar in Bioinformatics – ©Shai Lubliner.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Transforming Cabbage into Turnip: Polynomial Algorithm for Sorting Signed Permutations by Reversals Journal of the ACM, vol. 46, No. 1, Jan 1999, pp
Coloring Algorithms and Networks. Coloring2 Graph coloring Vertex coloring: –Function f: V  C, such that for all {v,w}  E: f(v)  f(w) Chromatic number.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
A Linear-Time Algorithm for Computing Inversion Distance between signed Permutations with an experimental Study David Bader, Bernard Moret, Mi Yan Presented.
7-1 Chapter 7 Genome Rearrangement. 7-2 Background In the late 1980‘s Jeffrey Palmer and colleagues discovered a remarkable and novel pattern of evolutionary.
Lesson 1.3 Read: Pages Page 38: #1-49 (EOO), #61-85 (EOO)
A Simplified View of DCJ-Indel Distance Phillip Compeau A Simplified View of DCJ- Indel Distance Phillip Compeau University of California-San Diego Department.
Genome Rearrangements …and YOU!! Presented by: Kevin Gaittens.
Genome Rearrangements Tseng Chiu Ting Sept. 24, 2004.
Spring 2015 Lecture 10: Elementary Graph Algorithms
Chapter 2 Graph Algorithms.
1 A Simpler 1.5- Approximation Algorithm for Sorting by Transpositions Combinatorial Pattern Matching (CPM) 2003 Authors: T. Hartman & R. Shamir Speaker:
Section 1.5.
GRAPH SPANNERS by S.Nithya. Spanner Definition- Informal A geometric spanner network for a set of points is a graph G in which each pair of vertices is.
6.3 Permutation groups and cyclic groups  Example: Consider the equilateral triangle with vertices 1 , 2 , and 3. Let l 1, l 2, and l 3 be the angle bisectors.
Genome Rearrangements Unoriented Blocks. Quick Review Looking at evolutionary change through reversals Find the shortest possible series of reversals.
Genome Rearrangements [1] Ch Types of Rearrangements Reversal Translocation
Chap. 7 Genome Rearrangements Introduction to Computational Molecular Biology Chap ~
Sorting by Cuts, Joins and Whole Chromosome Duplications
CS 200 Algorithms and Data Structures
Chap. 7 Genome Rearrangements Introduction to Computational Molecular Biology Chapter 7.1~7.2.4.
Data Reduction for Graph Coloring Problems Bart M. P. Jansen Joint work with Stefan Kratsch August 22 nd 2011, Oslo.
Genome Rearrangements. Turnip vs Cabbage: Look and Taste Different Although cabbages and turnips share a recent common ancestor, they look and taste different.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Tzvika Hartman Elad Verbin Bar Ilan University Tel Aviv University
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Computational Geometry
Lecture 4: Genome Rearrangements. End Sequence Profiling (ESP) C. Collins and S. Volik (UCSF Cancer Center) 1)Pieces of tumor genome: clones ( kb).
Lecture 2: Genome Rearrangements. Outline Cancer Sequencing Transforming Cabbage into Turnip Genome Rearrangements Sorting By Reversals Pancake Flipping.
Vertex Cover, Dominating set, Clique, Independent set
Lecture 3: Genome Rearrangements and Duplications
ICS 353: Design and Analysis of Algorithms
GRAPH SPANNERS.
Richard Anderson Lecture 25 NP-Completeness
CSCI2950-C Lecture 4 Genome Rearrangements
Richard Anderson Lecture 28 NP-Completeness
Greedy Algorithms And Genome Rearrangements
Richard Anderson Autumn 2016 Lecture 5
A Unifying View of Genome Rearrangement
All pairs shortest path problem
Richard Anderson Winter 2009 Lecture 6
FanChang Hao, Melvin Zhang, and Hon Wai Leong Review for TCBB
Greedy Algorithms And Genome Rearrangements
Distance-preserving Subgraphs of Interval Graphs
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Richard Anderson Winter 2019 Lecture 6
Richard Anderson Lecture 5 Graph Theory
Richard Anderson Winter 2019 Lecture 5
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

A Simpler 1.5-Approximation Algorithm for sorting by transposition Tzvika Hartman

Linear and Circular Permutation Linear permutations of {A,B,C,D,E} : [B A E C D],[E C A B D]….. Circular permutation of {A,B,C,D,E} : A C D B E C B A E D

Linear and Circular Permutations the number of possible transpositions on a linear n-permutation is C n+1 3 In a circular n-permutation there are only C n 3 possibilities. A D B C E F

Sorting by transposition Find a shortest sequence of transpositions

Why “ sort ” ? π= “A C D B E” * π=“B D E A C”

Breakpoint Graph Definition 1 Let π = (π 1... π n ) be a circular permutation, and f(π) = π =(π 1... π 2n ). The breakpoint graph G(π) is an edge- colored graph on 2n vertices{1, 2,..., 2n}. For every 1 ≤ i ≤ n, π 2i is joined to π 2i+1 by a black edge (denoted by bi), and 2i is joined to 2i + 1 by a gray edge. Black edge: 兩相鄰字元的連結 Gray edge: 連結正確排序中的兩相鄰字元 ()

An example of Breakpoint Graph

π=“A C D B E” ( )

*π=“B D E A C” ( )

Problem Transformation Input : a permutation Output : a identity permutation Our goal : minimum transposition Input : a breakpoint graph Output : maximum odd cycles (n cycles with one black edge and one gray edge) Our goal : minimum transposition

Definition d(π): transposition distance of a permutation G(π): breakpoint graph of π n(π): number of black edges in G(π) c(π): number of cycles in G(π) Length of a cycle: the number of black edges K-cycle: a cycle of length k A odd cycle: k is odd C odd ( π ): number of odd cycle arc: an interval in the cyclic order

∆c(π,τ) = c(τ·π) - c(π), and ∆c odd (π,τ) = c odd (τ·π) - c odd (π). τis a k-transposition if ∆c odd (π,τ) =k

Lower bound of d( π ) Lemma 2 For all permutations π and transpositionsτ, it holds that ∆ c(π, τ) belong {-2, 0, 2}, and ∆ c odd (π, τ) belong {-2, 0, 2}. Theorem 3 For all permutations π, d(π) ≧ (n(π) - c odd (π))/2. A transposition create two odd cycle!!

Transformation into Equivalent Simple Permutations A k-cycle in the breakpoint graph is called short if k ≦ 3 A breakpoint graph is called simple if it contains only short cycles. A permutation π is called simple if G(π) is simple.

(g,b)-split Let b = (v b, w b ) be a black edge and g = (v g, w g ) be a gray edge belonging to the same cycle C = (..., v b, w b,..., w g, v g,...) in G(π). A (g, b)-split of G(π) is a sequence of operations on G(π), resulting in a new graph *G(π) with one more cycle, as follows: – Removing edges b and g. – Adding two new vertices v and w. – Adding two new black edges (v b, v) and (w,w b ). – Adding two new gray edges (w g, w) and (v, v g ).

A (g, b)-split is called safe if n(π) - c odd (π) = n(*π) - c odd ( *π) Lemma 5 Every permutation can be transformed into a simple one by safe splits. Lemma 6 Let *π be a simple permutation that is equivalent to π, then every sorting of *π mimics a sorting of π with the same number of operations.

Algorithm Sort(π) 1. Transform permutation π into an equivalent simple permutation *π (Lemma 5). 2. While G = G(*π) contains a 2-cycle, apply a 2-transposition (Lemma 7). 3. While G contains an oriented 3-cycle, apply a 2-transposition on it. 4. If two interleaving 3-cycles are found in G, apply a (0, 2, 2 )-sequence (Lemma 8). 5. If a shattered unoriented 3-cycle is found in G, apply a (0, 2, 2)-sequence(Lemma 12). 6. If G contains a cycle of length greater than 1, go to step Mimic the sorting of π using the sorting of *π (Lemma 6). Step2-6 is called Algorithm SortSimple

Possible case in Simple permutation (graph) 1-cycle 2-cycle Oriented 3-cycle Unoriented 3-cycle OK!! a 2-transposition Two interleaving 3-cycle Three unoriented 3-cycle (one is shattered by another two) Can’t solve it independently

How to deal with unoriented 3-cycle? 4. If two interleaving 3-cycles are found in G, apply a (0, 2, 2 )-sequence (Lemma 8). 5. If a shattered unoriented 3-cycle is found in G, apply a (0, 2, 2)-sequence(Lemma 12). 6. If G contains a cycle of length greater than 1, go to step 4. What we want is interleaving 3-cycles!!

Lemma 7 If π is a permutation that contains a 2-cycle, then there exists a 2- transposition on π. Lemma 8 Let π be a permutation that contains two interleaving unoriented 3-cycles. Then, there exists a (0, 2, 2)-sequence of transpositions on π.

(0,2,2)-sequence A (0,2,2)-sequence is a sequence of three transpositions, of which the first is a 0-transposition, and the next two are 2-transpositions.

Lemma 9 Let C and D be two intersecting unoriented 3-cycles that are not interleaving. Then, there exists a transposition which transforms C and D into a 1-cycle and an oriented 5-cycle.

Lemma 10 Let C be an unoriented cycle in G(π), and let bi and b j be black edges of C. Then, (b i, b j ) intersects with some cycle in G(π). Corollary 11 Let π be a simple permutation that contains no 2-cycles, no oriented 3-cycles, and no pair of interleaving 3-cycles. Then, there exists a triple of 3-cycles C,D and E in G(π), such that E is shattered by C and D. Lemma 12 Let π be a permutation that contains three unoriented 3-cycles C,D and E, such that E is shattered by C and D. Then, there exists a (0, 2, 2)-sequence of transpositions on π

Running Time and Approximation Theorem 13 In this algorithm we only use 2-transposition,(0,2,2)-transposition The 1.5-approximation is hold!! Number of transpositions performed is O(n) Perform a transposition is O(n) Deciding which transposition is applied is constant time Total : O(n 2 )

Theorem 14 Algorithm Sort is a 1.5-approximation algorithm for general permutations, and it runs in time O(n2). Proof. By Theorem 13, we are guaranteed that alg(*π) ≤ 1.5 · d(*π), where alg(*π) is the number of transpositions used by Algorithm SortSimple to sort *π. Thus,by Theorem 3