A Simple Streaming Bit-parallel Algorithm for Swap Pattern Matching - - PowerPoint PPT Presentation

a simple streaming bit parallel algorithm for swap
SMART_READER_LITE
LIVE PREVIEW

A Simple Streaming Bit-parallel Algorithm for Swap Pattern Matching - - PowerPoint PPT Presentation

Introduction Algorithm Conclusion A Simple Streaming Bit-parallel Algorithm for Swap Pattern Matching V aclav Bla zej (joint work with Ond rej Such y and Tom a s Valla) Faculty of Information Technology Czech Technical


slide-1
SLIDE 1

Introduction Algorithm Conclusion

A Simple Streaming Bit-parallel Algorithm for Swap Pattern Matching

V´ aclav Blaˇ zej (joint work with Ondˇ rej Such´ y and Tom´ aˇ s Valla)

Faculty of Information Technology Czech Technical University in Prague

November 15, 2017

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-2
SLIDE 2

Introduction Algorithm Conclusion Motivation Definition History

Exact pattern matching

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-3
SLIDE 3

Introduction Algorithm Conclusion Motivation Definition History

Exact pattern matching

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-4
SLIDE 4

Introduction Algorithm Conclusion Motivation Definition History

Exact pattern matching

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-5
SLIDE 5

Introduction Algorithm Conclusion Motivation Definition History

Exact pattern matching

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-6
SLIDE 6

Introduction Algorithm Conclusion Motivation Definition History

Swap pattern matching (Swap Matching)

What is sawp pattren matchnig?

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-7
SLIDE 7

Introduction Algorithm Conclusion Motivation Definition History

Swap pattern matching (Swap Matching)

What is sawp pattren matchnig? Did you mean: “What is swap pattern matching?” ?

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-8
SLIDE 8

Introduction Algorithm Conclusion Motivation Definition History

Swap pattern matching (Swap Matching)

What is sawp pattren matchnig? Did you mean: “What is swap pattern matching?” ?

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-9
SLIDE 9

Introduction Algorithm Conclusion Motivation Definition History

Swap pattern matching (Swap Matching)

What is sawp pattren matchnig? Did you mean: “What is swap pattern matching?” ? x we are allowed to swap adjacent symbols

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-10
SLIDE 10

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-11
SLIDE 11

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped),

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-12
SLIDE 12

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped), 2 for all i, π(i) ∈ {i − 1, i, i + 1} (swap only adjacent symbols),

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-13
SLIDE 13

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped), 2 for all i, π(i) ∈ {i − 1, i, i + 1} (swap only adjacent symbols), 3 when π(i) = i then Sπ(i) = Si (cannot swap same symbols).

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-14
SLIDE 14

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped), 2 for all i, π(i) ∈ {i − 1, i, i + 1} (swap only adjacent symbols), 3 when π(i) = i then Sπ(i) = Si (cannot swap same symbols).

acbabcabbab acbab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-15
SLIDE 15

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped), 2 for all i, π(i) ∈ {i − 1, i, i + 1} (swap only adjacent symbols), 3 when π(i) = i then Sπ(i) = Si (cannot swap same symbols).

acbabcabbab acbab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-16
SLIDE 16

Introduction Algorithm Conclusion Motivation Definition History

Definition of Swap Matching problem

We search for occurrences of patterns in the text while allowing pattern to swap adjacent symbols. We define swaps π : {1 . . . n} → {1 . . . n} in the pattern S such that:

1 when π(i) = j then π(j) = i (symbols Si, Sj are swapped), 2 for all i, π(i) ∈ {i − 1, i, i + 1} (swap only adjacent symbols), 3 when π(i) = i then Sπ(i) = Si (cannot swap same symbols).

acbabcabbab acbab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-17
SLIDE 17

Introduction Algorithm Conclusion Motivation Definition History

Swap Matching example

Search for abba in text abbabaaababbbaaabbabaaabbbbaab:

Figure: found occurrences of abba in the text

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-18
SLIDE 18

Introduction Algorithm Conclusion Motivation Definition History

History

  • 1995 - Swap Matching problem was announced as open

problem [Muthukrishnan, CPM 95]

  • 1997 - first solution using FFT, O(nm

1 2 log m) [Amir et al., J.

Algorithms]

  • 2008 - first non-FFT algorithm, using bit-parallelism

[Iliopoulos and Rahman, SOFSEM 2008] O((n + m) log m)

  • 2009 - Cross Sampling algorithm which solves the problem in

O(n) for short patterns [Cantone and Faro, SOFSEM 2009]

  • 2013 - new model using reactive automata and solution with

O(n) complexity for short patterns [Faro, PSC 2013]

  • 2014 - Smalgo-I algorithm, uses bit-parallelism [Ahmed et al.,
  • Theor. Comput. Sci.] O( m

w n)

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-19
SLIDE 19

Introduction Algorithm Conclusion Motivation Definition History

History

  • 1995 - Swap Matching problem was announced as open

problem [Muthukrishnan, CPM 95]

  • 1997 - first solution using FFT, O(nm

1 2 log m) [Amir et al., J.

Algorithms]

  • 2008 - first non-FFT algorithm, using bit-parallelism

[Iliopoulos and Rahman, SOFSEM 2008] FATAL ERROR

  • 2009 - Cross Sampling algorithm which solves the problem in

O(n) for short patterns [Cantone and Faro, SOFSEM 2009]

  • 2013 - new model using reactive automata and solution with

O(n) complexity for short patterns [Faro, PSC 2013]

  • 2014 - Smalgo-I algorithm, uses bit-parallelism [Ahmed et al.,
  • Theor. Comput. Sci.]

FATAL ERROR

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-20
SLIDE 20

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

The Model [Iliopoulos and Rahman, SOFSEM 2008]

  • Graph represents all patterns which are feasible.

a b c b b a c a b c b b a a b c b b b a c c −1 1 1 2 3 4 5 6 7

Figure: Graph for P = abcbbac

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-21
SLIDE 21

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

The Model [Iliopoulos and Rahman, SOFSEM 2008]

  • Graph represents all patterns which are feasible.
  • Each path from first to last column is one such pattern.

a b b c c b b b b a a c c a b c c b b a a b c b b b a c c −1 1 1 2 3 4 5 6 7

Figure: Graph for P = abcbbac

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-22
SLIDE 22

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

The Model [Iliopoulos and Rahman, SOFSEM 2008]

  • Graph represents all patterns which are feasible.
  • Each path from first to last column is one such pattern.

a b b c c b b a a c c a b c c b b a a b c b b b a c c −1 1 1 2 3 4 5 6 7

Figure: Graph for P = abcbbac

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-23
SLIDE 23

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

The Model [Iliopoulos and Rahman, SOFSEM 2008]

  • Graph represents all patterns which are feasible.
  • Each path from first to last column is one such pattern.

a b b c c b b a a c a b c b b a a b c b b b a c c −1 1 1 2 3 4 5 6 7

Figure: Graph for P = abcbbac

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-24
SLIDE 24

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

The Model [Iliopoulos and Rahman, SOFSEM 2008]

  • Graph represents all patterns which are feasible.
  • Each path from first to last column is one such pattern.
  • The signal is information that a path partially matches.

a a b b c c b b a c a b c b b a a b c b b b a c c −1 1 1 2 3 4 5 6 7

Figure: Graph for P = abcbbac

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-25
SLIDE 25

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We designed a new algorithm for the swap matching problem

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-26
SLIDE 26

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We designed a new algorithm for the swap matching problem

  • uses the graph theoretical model,

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-27
SLIDE 27

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We designed a new algorithm for the swap matching problem

  • uses the graph theoretical model,
  • takes input as stream of symbols,

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-28
SLIDE 28

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We designed a new algorithm for the swap matching problem

  • uses the graph theoretical model,
  • takes input as stream of symbols,
  • bitwise parallelism of machine instructions,

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-29
SLIDE 29

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We designed a new algorithm for the swap matching problem

  • uses the graph theoretical model,
  • takes input as stream of symbols,
  • bitwise parallelism of machine instructions,
  • can be implemented using only 7 + |Σ| memory cells.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-30
SLIDE 30

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b a b a c b a c c b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-31
SLIDE 31

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b a b a c b a c c b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-32
SLIDE 32

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b b a b a c b a c c b b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-33
SLIDE 33

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c c b a b a c c b a c c b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-34
SLIDE 34

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b a a b a c b a c c b a a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-35
SLIDE 35

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b a b b a c b a c c b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-36
SLIDE 36

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

We use the bitwise representation and operations to simulate signal propagation through the model.

  • Represent each row with bit array.
  • Use shift and or to move signal.
  • Use and to filter our signal.

a a c b a b a a c b a c c b a b

Figure: Example run for P = acbab and T = acabab

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-37
SLIDE 37

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 1 – signal propagation – using shift and or operation a a c b b a b a c b a c b a a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-38
SLIDE 38

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 1 – signal propagation – using shift and or operation

  • for row 0 shift and make or of rows −1 and 0

a c b a b a c b a c b a a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-39
SLIDE 39

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 1 – signal propagation – using shift and or operation

  • for row 0 shift and make or of rows −1 and 0
  • for row 1 shift and make or of rows −1 and 0

a c b a b a c b a c b a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-40
SLIDE 40

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 1 – signal propagation – using shift and or operation

  • for row 0 shift and make or of rows −1 and 0
  • for row 1 shift and make or of rows −1 and 0
  • for row −1 shift and add row 1

a c b a b a c b a c b a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-41
SLIDE 41

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 2 – signal filtration – using and operation a a c b b a a b a a c b a a c b a a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-42
SLIDE 42

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 2 – signal filtration – using and operation

  • get mask for currently read symbol (say a)

a c b b a a b a a c b a a c c b a a b b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-43
SLIDE 43

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 2 – signal filtration – using and operation

  • get mask for currently read symbol (say a)
  • make and operation so that invalid signals are filtered out

a a c b b a a b a a c b a a c c b a a b b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-44
SLIDE 44

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 2 – signal filtration – using and operation

  • get mask for currently read symbol (say a)
  • make and operation so that invalid signals are filtered out

a a c b b a b a a c b a a c b a a b b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-45
SLIDE 45

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 3 – check result a a c b a a b b a c b a a c b a a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-46
SLIDE 46

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Our algorithm

Step 3 – check result

  • check if there is a signal in the last column

a a c b a a b b a a c b a a c b a a b −1 1 1 2 3 4 5

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-47
SLIDE 47

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Properties of our algorithm

For pattern of length m, text n and word size w (using the word-Ram model) we have

  • time complexity

O(⌈m w ⌉(|Σ| + n) + m),

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-48
SLIDE 48

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Properties of our algorithm

For pattern of length m, text n and word size w (using the word-Ram model) we have

  • time complexity

O(⌈m w ⌉(|Σ| + n) + m),

  • space complexity

O(⌈m w ⌉|Σ|).

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-49
SLIDE 49

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Properties of our algorithm

For pattern of length m, text n and word size w (using the word-Ram model) we have

  • time complexity

O(⌈m w ⌉(|Σ| + n) + m),

  • space complexity

O(⌈m w ⌉|Σ|).

  • If m ≤ w we get O(|Σ| + m + n) time and O(|Σ|) space.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-50
SLIDE 50

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with DFA?

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-51
SLIDE 51

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with DFA?

  • Use the model to create non-deterministic automaton.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-52
SLIDE 52

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with DFA?

  • Use the model to create non-deterministic automaton.

a c b a b a c b a c b a b

c b a b b a b a c b a b a b a b

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-53
SLIDE 53

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with DFA?

  • Use the model to create non-deterministic automaton.
  • Determinize the automaton.

a c b a b a c b a c b a b

c b a b b a b a c b a b a b a b

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-54
SLIDE 54

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with DFA?

  • Use the model to create non-deterministic automaton.
  • Determinize the automaton.
  • Any time it reaches final state it reports an occurrence and

continues reading input.

a c b a b a c b a c b a b

c b a b b a b a c b a b a b a b

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-55
SLIDE 55

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with a small DFA?

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-56
SLIDE 56

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Question: Is Swap Matching problem solvable with a small DFA? Theorem

There is an infinite family F of patterns such that any deterministic finite automaton AP accepting the language LS(P) = {uπ(P) | u ∈ Σ∗, π is a swap permutation for P} for P ∈ F has 2Ω(|P |) states.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-57
SLIDE 57

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Theorem

There is an infinite family F of patterns such that any deterministic finite automaton AP accepting the language LS(P) = {uπ(P) | u ∈ Σ∗, π is a swap permutation for P} for P ∈ F has 2Ω(|P |) states.

Length if these patterns is |4 + 5k| a k ∈ {1, 2, . . . }. P = T0 acccabcccabccc T1 acccbacccabccc T2 acccabcccbaccc T3 acccbacccbaccc

Table: All strings for k = 2.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-58
SLIDE 58

Introduction Algorithm Conclusion Model Our algorithm Unsolvable with DFA

Deterministic Finite Automaton (DFA)

Theorem

There is an infinite family F of patterns such that any deterministic finite automaton AP accepting the language LS(P) = {uπ(P) | u ∈ Σ∗, π is a swap permutation for P} for P ∈ F has 2Ω(|P |) states.

Length if these patterns is |4 + 5k| a k ∈ {1, 2, . . . }. P = T0 acccabcccabccc T1 acccbacccabccc T2 acccabcccbaccc T3 acccbacccbaccc

Table: All strings for k = 2. If the automaton is in the same state after reading strings Ti, Tj such that Ti = Tj, then there exists such a suffix S such that Ti.S ∈ A and Tj.S / ∈ A.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-59
SLIDE 59

Introduction Algorithm Conclusion

Conclusion

Our results:

  • new algorithm for Swap Matching
  • uses the graph theoretical model
  • takes input as stream
  • bitwise parallelism
  • can be implemented in few registers

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-60
SLIDE 60

Introduction Algorithm Conclusion

Conclusion

Our results:

  • new algorithm for Swap Matching
  • uses the graph theoretical model
  • takes input as stream
  • bitwise parallelism
  • can be implemented in few registers
  • found an error in known swap matching algorithm

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-61
SLIDE 61

Introduction Algorithm Conclusion

Conclusion

Our results:

  • new algorithm for Swap Matching
  • uses the graph theoretical model
  • takes input as stream
  • bitwise parallelism
  • can be implemented in few registers
  • found an error in known swap matching algorithm
  • proved that Swap Matching is not solvable in poly-time with

deterministic finite automata

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-62
SLIDE 62

Introduction Algorithm Conclusion

Conclusion

Our results:

  • new algorithm for Swap Matching
  • uses the graph theoretical model
  • takes input as stream
  • bitwise parallelism
  • can be implemented in few registers
  • found an error in known swap matching algorithm
  • proved that Swap Matching is not solvable in poly-time with

deterministic finite automata Open problem: Considering some computational model, is Swap Matching problem solvable in linear time? If not prove there is no effective solution.

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching

slide-63
SLIDE 63

Introduction Algorithm Conclusion

Conclusion

Our results:

  • new algorithm for Swap Matching
  • uses the graph theoretical model
  • takes input as stream
  • bitwise parallelism
  • can be implemented in few registers
  • found an error in known swap matching algorithm
  • proved that Swap Matching is not solvable in poly-time with

deterministic finite automata Open problem: Considering some computational model, is Swap Matching problem solvable in linear time? If not prove there is no effective solution. Thank you for your attention!

V´ aclav Blaˇ zej Streaming Algorithm for Swap Matching