Amihood Amir, Gary Benson, Avivit Levy, Ely Porat, Uzi Vishne

Slides:



Advertisements
Similar presentations
Sublinear Algorithms … Lecture 23: April 20.
Advertisements

The beauty of prime numbers vs the beauty of the random Ely Porat Bar-Ilan University Israel.
Lecture 24 MAS 714 Hartmut Klauck
Longest Common Subsequence
Applied Algorithmics - week7
Greedy Algorithms Amihood Amir Bar-Ilan University.
Asynchronous Pattern Matching - Metrics Amihood Amir CPM 2006.
Approximate On-line Palindrome Recognition, and Applications Amihood Amir Benny Porat.
Global Flow Optimization (GFO) in Automatic Logic Design “ TCAD91 ” by C. Leonard Berman & Louise H. Trevillyan CAD Group Meeting Prepared by Ray Cheung.
Bar Ilan University And Georgia Tech Artistic Consultant: Aviya Amir.
Asynchronous Pattern Matching - Metrics Amihood Amir.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Advanced Topics in Algorithms and Data Structures Page 1 Parallel merging through partitioning The partitioning strategy consists of: Breaking up the given.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 · L 2 means: For some polynomial time computable map r : 8 x: x 2 L 1 iff.
Function Matching Amihood Amir Yonatan Aumann Moshe Lewenstein Ely Porat Bar Ilan University.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
Computability and Complexity 32-1 Computability and Complexity Andrei Bulatov Boolean Circuits.
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
Deterministic Length Reduction: Fast Convolution in Sparse Data and Applications Written by: Amihood Amir, Oren Kapah and Ely Porat.
Analysis of Algorithms CS 477/677
Faster Algorithm for String Matching with k Mismatches Amihood Amir, Moshe Lewenstin, Ely Porat Journal of Algorithms, Vol. 50, 2004, pp Date.
Pattern Matching in Weighted Sequences Oren Kapah Bar-Ilan University Joint Work With: Amihood Amir Costas S. Iliopoulos Ely Porat.
Asynchronous Pattern Matching - Address Level Errors Amihood Amir Bar Ilan University 2010.
S C A L E D Pattern Matching Amihood Amir Ayelet Butman Bar-Ilan University Moshe Lewenstein and Johns Hopkins University Bar-Ilan University.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
1 A Simpler 1.5- Approximation Algorithm for Sorting by Transpositions Combinatorial Pattern Matching (CPM) 2003 Authors: T. Hartman & R. Shamir Speaker:
On The Connections Between Sorting Permutations By Interchanges and Generalized Swap Matching Joint work of: Amihood Amir, Gary Benson, Avivit Levy, Ely.
Length Reduction in Binary Transforms Oren Kapah Ely Porat Amir Rothschild Amihood Amir Bar Ilan University and Johns Hopkins University.
Faster Algorithm for String Matching with k Mismatches (II) Amihood Amir, Moshe Lewenstin, Ely Porat Journal of Algorithms, Vol. 50, 2004, pp
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Combinatorial Optimization Problems in Computational Biology Ion Mandoiu CSE Department.
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
06/12/2015Applied Algorithmics - week41 Non-periodicity and witnesses  Periodicity - continued If string w=w[0..n-1] has periodicity p if w[i]=w[i+p],
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Computer Science Background for Biologists CSC 487/687 Computing for Bioinformatics Fall 2005.
Interchange and Weighted-Interchange Rearrangement Distances in Strings Joint work of: Amihood Amir, Tzvika Hartman, Oren Kapah and Avivit Levy.
On the Hardness of Optimal Vertex Relabeling and Restricted Vertex Relabeling Amihood Amir Benny Porat.
Pattern Matching With Don’t Cares Clifford & Clifford’s Algorithm Orgad Keller.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
A new matching algorithm based on prime numbers N. D. Atreas and C. Karanikas Department of Informatics Aristotle University of Thessaloniki.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
Chapter 11 Sorting Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and Mount.
The NP class. NP-completeness
P & NP.
Chapter 10 NP-Complete Problems.
Fundamental Data Structures and Algorithms
Introduction to Randomized Algorithms and the Probabilistic Method
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Algorithms and Networks
Computational Molecular Biology
Algorithms and Complexity
Fast Fourier Transform
Analysis and design of algorithm
Pattern Matching With Don’t Cares Clifford & Clifford’s Algorithm
ICS 353: Design and Analysis of Algorithms
RS – Reed Solomon List Decoding.
CSE838 Lecture notes copy right: Moon Jung Chung
Chapter 34: NP-Completeness
Chapter 3 Brute Force Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Sungho Kang Yonsei University
In Pattern Matching Convolutions: O(n log m) using FFT b0 b1 b2
Chapter 11 Limitations of Algorithm Power
CSE 589 Applied Algorithms Spring 1999
3. Brute Force Selection sort Brute-Force string matching
Prabhas Chongstitvatana
3. Brute Force Selection sort Brute-Force string matching
FanChang Hao, Melvin Zhang, and Hon Wai Leong Review for TCBB
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 7 April 23, 2019.
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

Amihood Amir, Gary Benson, Avivit Levy, Ely Porat, Uzi Vishne On The Connections Between Sorting Permutations By Interchanges and Generalized Swap Matching Amihood Amir, Gary Benson, Avivit Levy, Ely Porat, Uzi Vishne

Motivation

Motivation In the “old” days: Pattern and text are given in correct sequential order. It is possible that the content is erroneous. New paradigm: Content is exact, but the order of the pattern symbols may be scrambled. Why? Transmitted asynchronously? The nature of the application?

Example: Swaps Tehse knids of typing mistakes are very common So when searching for pattern These we are seeking the symbols of the pattern but with an order changed by swaps. Surprisingly, pattern matching with swaps is easier than pattern matching with mismatches (ACHLP:01)

Example: Reversals AAAGGCCCTTTGAGCCC AAAGAGTTTCCCGGCCC Given a DNA substring, a piece of it can detach and reverse. This process still computationally tough. Question: What is the minimum number of reversals necessary to sort a permutation of 1,…,n

Global Rearrangements? Berman & Hannenhalli (1996) called this Global Rearrangement as opposed to Local Rearrangement (edit distance). Showed it is NP-hard. Our Thesis: This is a special case of errors in the address rather than content.

Example: Transpositions AAAGGCCCTTTGAGCCC AATTTGAGGCCCAGCCC Given a DNA substring, a piece of it can be transposed to another area. Question: What is the minimum number of transpositions necessary to sort a permutation of 1,…,n ?

Complexity? Bafna & Pevzner (1998), Christie (1998), Hartman (2001): 1.5 Polynomial Approximation. Not known whether efficiently computable. This is another special case of errors in the address rather than content.

Example: Block Interchanges AAAGGCCCTTTGAGCCC AAGTTTAGGCCCAGCCC Given a DNA substring, two non-empty subsequences can be interchanged. Question: What is the minimum number of block interchanges necessary to sort a permutation of 1,…,n ? Christie (1996): O(n ) 2

Summary Biology: sorting permutations Reversals Transpositions (Berman & Hannenhalli, 1996) Transpositions (Bafna & Pevzner, 1998) Pattern Matching: Swaps (Amir, Lewenstein & Porat, 2002) NP-hard ? O(n log m) Block interchanges O(n2) (Christie, 1996) Note: A swap is a block interchange simplification 1. Block size 2. Only once 3. Adjacent

Edit operations map Reversal, Transposition, Block interchange: 1. arbitrary block size 2. not once 3. non adjacent 4. permutation 5. optimization Interchange: 1. block of size 1 2. not once 3. non adjacent Generalized-swap: 1. block of size 1 2. once 3. non adjacent 4. repetitions 5. optimization/decision Swap: 1. block of size 1 2. once 3. adjacent

Definitions S=abacb F=bbaca S=abacb F=bbaac S=abacb F=bcaba interchange S=abacb F=bbaca interchange matches S1=bbaca S2=bbaac S=abacb F=bbaac S1=bbaca S2=bcaba generalized-swap matches S=abacb F=bcaba

Generalized Swap Matching INPUT: text T[0..n], pattern P[0..m] OUTPUT: all i s.t. P generalized-swap matches T[i..i+m] Reminder: Convolution The convolution of the strings t[1..n] and p[1..m] is the string t*p such that: Fact: The convolution of n-length text and m-length pattern can be done in O(n log m) time using FFT.

In Pattern Matching Convolutions: O(n log m) using FFT b0 b1 b2

Problem: O(n log m) only in algebraically closed fields, e.g. C. Solution: Reduce problem to (Boolean/integer/real) multiplication. S This reduction costs! Example: Hamming distance. A B A B C A B B B A Counting mismatches is equivalent to Counting matches

Example: 1 0 1 1 0 1 1 0 1 Count all “hits” of 1 in pattern and 1 in text.

For Define: 1 if a=b 0 o/w Example:

For Do: + + Result: The number of times a in pattern matches a in text + the number of times b in pattern matches b in text + the number of times c in pattern matches c in text.

Generalized Swap Matching: a Randomized Algorithm… Idea: assign natural numbers to alphabet symbols, and construct: T’: replacing the number a by the pair a2,-a P’: replacing the number b by the pair b, b2. Convolution of T’ and P’ gives at every location 2i: j=0..mh(T’[2i+j],P’[j]) where h(a,b)=ab(a-b).  3-degree multivariate polynomial.

Generalized Swap Matching: a Randomized Algorithm… Since: h(a,a)=0 h(a,b)+h(b,a)=ab(b-a)+ba(a-b)=0, a generalized-swap match  0 polynomial. Example: Text: ABCBAABBC Pattern: CCAABABBB 1 -1, 4 -2, 9 -3,4 -2,1 -1,1 -1,4 -2,4 -2,9 -3 3 9, 3 9, 1 1,1 1,2 4, 1 1,2 4, 2 4,2 4 3 -9,12 -18,9 -3,4 -2,2 -4,1 -1,8 -8,8 -8,18 -12

Generalized Swap Matching: a Randomized Algorithm… Problem: It is possible that coincidentally the result will be 0 even if no swap match. Example: for text ace and pattern bdf we get a multivariate degree 3 polynomial: We have to make sure that the probability for such a possibility is quite small.

Generalized Swap Matching: a Randomized Algorithm… What can we say about the 0’s of the polynomial? By Schwartz-Zippel Lemma prob. of 0degree/|domain|. Conclude: Theorem: There exist an O(n log m) algorithm that reports all generalized-swap matches and reports false matches with prob.1/n.

Generalized Swap Matching: De-randomization? Can we detect 0’s thus de-randomize the algorithm? Suggestion: Take h1,…hk having no common root. It won’t work, k would have to be too large !

Generalized Swap Matching: De-randomization?… Theorem: (m/log m) polynomial functions are required to guarantee a 0 convolution value is a 0 polynomial. Proof: By a linear reduction from word equality. Given: m-bit words w1 w2 at processors P1 P2 Construct: T=w1,1,2,…,m P=1,2,…,m,w2. Now, T generalized-swap matches P iff w1=w2. P1 computes: w1 * (1,2,…,m) log m bit result P2 computes: (1,2,…,m) * w2 Communication Complexity: word equality requires exchanging (m) bits, We get: klog m= (m), so k must be (m/log m).

Interchange Distance Problem INPUT: text T[0..n], pattern P[0..m] OUTPUT: The minimum number of interchanges s.t. T[i..i+m] interchange matches P. Reminder: permutation cycle The cycles (143) 3-cycle, (2) 1-cycle represent 3241. Fact: The representation of a permutation as a product of disjoint permutation cycles is unique.

Interchange Distance Problem… Lemma: Sorting a k-length permutation cycle requires exactly k-1 interchanges. Proof: By induction on k. Cases: (1), (2 1), (3 1 2) Theorem: The interchange distance of an m-length permutation  is m-c(), where c() is the number of permutation cycles in . Result: An O(nm) algorithm to solve the interchange distance problem. A connection between sorting by interchanges and generalized-swap matching?

Interchange Generation Distance Problem INPUT: text T[0..n], pattern P[0..m] OUTPUT: The minimum number of interchange- generations s.t. T[i..i+m] interchange matches P. Definition: Let S=S1,S2,…,Sk=F, Sl+1 derived from Sl via interchange Il. An interchange-generation is a subsequence of I1,…,Ik-1 s.t. the interchanges have no index in common. Note: Interchanges in a generation may occur in parallel.

Interchange Generation Distance Problem… Lemma: Let  be a cycle of length k>2. It is possible to sort  in 2 generations and k-1 interchanges. Example: (1,2,3,4,5,6,7,8,0) generation 1: (1,8),(2,7),(3,6),(4,5) (8,7,6,5,4,3,2,1,0) generation 2: (0,8),(1,7),(2,6),(3,5) (0,1,2,3,4,5,6,7,8)

Interchange Generation Distance Problem… Theorem: Let maxl() be the length of the longest permutation cycle in an m-length permutation . The interchange generation distance of  is exactly: 0, if maxl()=1. 1, if maxl()=2. 2, if maxl()>2. Note: There is a generalized-swap match iff sorting by interchanges is done in 1 generation.

Open Problems 1. Interchange distance faster than O(nm)? 2. Asynchronous communication – different errors in address bits. 3. Different error measures than interchange/block interchange/transposition/reversals for errors arising from address bit errors. Note: The techniques employed in asynchronous pattern matching have so far proven new and different from traditional pattern matching.

The End