1、Asynchronous Pattern Matching - Metrics,Amihood Amir CPM 2006,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? Tra
2、nsmitted 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 mat
3、ching 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 Rearrangement
4、s?,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 AATTTGAGGCCCAGCCCGiven a DNA substring, a
5、 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 s
6、pecial 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 ? Christi
7、e (1996): O(n ),2,A General-Purpose Metric,Options: 1. count interchanges,interchange,interchange matches,S1=bbaca S2=bbaac,2. L1 , L2 ,or any other metric on the address. Example: AGGTTCCAATC1 22 1 12 215 11 GTAGCAACTCT,In This Talk:,We concentrate on counting the interchanges As a metric. (we also
8、 have results on the L2 metric, partial results on L1, and Address register errors)We have a pedagogical reason for this,Summary,Biology: sorting permutations Reversals (Berman & Hannenhalli, 1996) Transpositions (Bafna & Pevzner, 1998),Pattern Matching: Swaps (Amir, Lewenstein & Porat, 2002),NP-har
9、d ?,Block interchanges O(n2) (Christie, 1996),O(n log m),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 adjacent4. permutation 5. optimization Interch
10、ange: 1. block of size 1 2. not once 3. non adjacent4. permutation 5. optimization Generalized-swap: 1. block of size 1 2. once 3. non adjacent4. repetitions 5. optimization/decision Swap: 1. block of size 1 2. once 3. adjacent4. repetitions 5. optimization/decision,interchange,interchange matches,S
11、1=bbaca S2=bbaac,generalized-swapmatches,S1=bbaca S2=bcaba,Definitions,Generalized Swap Matching,INPUT: text T0n, pattern P0m OUTPUT: all i s.t. P generalized-swap matches Tii+m,Reminder: Convolution The convolution of the strings t1n and p1m is the string t*p such that:,Fact: The convolution of n-l
12、ength 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,b0 b1 b2,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 reduc
13、tion costs!,Example: Hamming distance.,Counting mismatches is equivalent to Counting matches,A B A B C A B B B A,Example:,Count all “hits” of 1 in pattern and 1 in text.,1 0 1,1 0 1,1 0 1,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
14、 number of times b in pattern matches b in text + the number of times c in pattern matches c in text.,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 locati
15、on 2i:j=0mh(T2i+j,Pj) where h(a,b)=ab(a-b). 3-degree multivariate polynomial.,Generalized Swap Matching: a Randomized Algorithm,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:
16、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,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
17、3 polynomial:We have to make sure that the probability for such a possibility is quite small.,Generalized Swap Matching: a Randomized Algorithm,Generalized Swap Matching: a Randomized Algorithm,What can we say about the 0s of the polynomial?,By Schwartz-Zippel Lemma prob. of 0degree/|domain|.Conclud
18、e:,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 0s thus de-randomize the algorithm?,Suggestion: Take h1,hk having no common root.,It wont work, k would have t
19、o 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
20、, T generalized-swap matches P iff w1=w2.,Communication Complexity: word equality requires exchanging (m) bits, We get: klog m= (m), so k must be (m/log m).,P1 computes: w1 * (1,2,m),log m bit result,P2 computes: (1,2,m) * w2,Interchange Distance Problem,INPUT: text T0n, pattern P0m OUTPUT: The mini
21、mum number of interchanges s.t. Tii+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 permu
22、tation cycle requires exactly k-1 interchanges. Proof: By induction on k.,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 in
23、terchanges and generalized-swap matching?,Cases: (1), (2 1), (3 1 2),Interchange Generation Distance Problem,INPUT: text T0n, pattern P0m OUTPUT: The minimum number of interchange- generations s.t. Tii+m interchange matches P.,Definition: Let S=S1,S2,Sk=F, Sl+1 derived from Sl via interchange Il. An
24、 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 k2. It is possible to sort in 2 generations and k-1 interchanges. Examp
25、le: (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 dis
26、tance 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,
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1