Title: BitParallelism in Approximate Matching Agrep
1Bit-Parallelism in Approximate Matching Agrep
Dynamic Programming
Ni Bing Nov. 30th, 2006
2Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
3Introduction
- Approximate matching
- Given a text Tt0t1...tn-1, a pattern
Pp0p1...pm-1, (m - Find all the substrings tste of T such that,
- Transformation of P to tste can be done with
less than k errors, where - Errors can be insertion, deletion and
substitution
4Introduction
w number of bits in one machine word, for
example w32 for 32-bit machine
5Introduction
- Reasons of capability of Agrep against
traditional DP - Bit-parallelism permits executing several
operations simultaneously over a set of bits or
numbers stored in a single computer word.
6Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
7Equivalence between Agrep DP
Table DP is the combination of the table Rd (0satisfy cell Rdi,j1
8Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
9Exact matching Cell Dependencies
Definition R0i,j 1, if p0 pi match up to
tj 0, or else.
10Exact matching Column-wise Bit-parallelism (
Agrep )
R0i,j R0i-1,j-1 (pi tj)
, where
- Denote R0j as all the bits in the j-th column
- Assume p0 pm-1 is in the top-down direction
11Approximate matching - Cell Dependencies
Definition R1i,j 1, if p0 pi match up to
tj with not larger than 1 error 0, or else.
R1i,j (R0i-1,j-1 1) (R0i,j-1 1)
(R0i-1,j 1) R1i-1,j-1 (pi
tj)
12Approximate matching Column-wise
Bit-parallelism ( Agrep )
R1i,j R0i-1,j-1 R0i,j-1
R0i-1,j R1i-1,j-1 (pi tj)
13One more word
- The Column-wise Bit-parallelism in Agrep is
called later as - NFA (non-deterministic Finite Automaton) based
Bit-parallelism
14Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
15Dynamic Programming- Cell Dependencies
Definition Local alignment of DP DPi,j d,
such that p0 pi match up to tj with minimum d
errors
16Dynamic Programming
- Differential DPi,j
- Myer99
- Hyy Nava03
Bit-Parallelism possible ?
17Dynamic Programming- Cell Structure
- The difference in the
- horizontal direction,
- vertical direction, and
- diagonal direction
18Dynamic Programming- Cell representation (Myer99)
- To represent the difference
- Vertically,
- Hirozontally,
- And diagonally,
19Dynamic Programming- input/output function
(Myer99)
- 1 Conceptually think of as a function of
- modulated by a boolean value Xv,
- Xv Eq or
- Brute-force enumeration
- Symmetrically,
20Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
21Comparisons Observations
22Outline
- Introduction
- Equivalence between Agrep DP
- Agrep
- Dynamic Programming
- Comparisons Observations
- Foresee
23Foresee
- Bit-parallelism done on structure instead of text