a fast algorithm for permutation pattern matching based
play

A Fast Algorithm for Permutation Pattern Matching Based on - PowerPoint PPT Presentation

A Fast Algorithm for Permutation Pattern Matching Based on Alternating Runs Marie-Louise Bruner (Joint work with Martin Lackner) Vienna University of Technology June 13, 2012 Permutation Patterns, Glasgow Marie-Louise Bruner A Fast Algorithm


  1. A Fast Algorithm for Permutation Pattern Matching Based on Alternating Runs Marie-Louise Bruner (Joint work with Martin Lackner) Vienna University of Technology June 13, 2012 Permutation Patterns, Glasgow Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 1

  2. Permutation Pattern Matching Permutation Pattern Matching ( PPM ) Instance: A permutation T of length n (the text) and a permutation P of length k ≤ n (the pattern). Is there a matching of P into T ? Question: Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 2

  3. Permutation Pattern Matching Permutation Pattern Matching ( PPM ) Instance: A permutation T of length n (the text) and a permutation P of length k ≤ n (the pattern). Is there a matching of P into T ? Question: Is there an algorithm that runs faster than exponential time? Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 2

  4. PPM is NP-complete 1993 (Bose, Buss, Lubiw): PPM is in general NP-complete. Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 3

  5. PPM is NP-complete 1993 (Bose, Buss, Lubiw): PPM is in general NP-complete. ⇒ unless P = NP, PPM cannot be solved in polynomial time Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 3

  6. Tractable cases of PPM O ( kn 4 ) ◮ Pattern avoids both 3142 and 2413 ◮ P = 12 . . . k or P = k . . . 21 O ( n log log n ) ◮ P has length at most 4 O ( n log n ) O ( k 2 n 6 ) ◮ Pattern and Text avoid 321 Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 4

  7. The general case Anything better than the O ∗ (2 n ) runtime of brute-force search? Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 5

  8. Parameterized Complexity Theory Idea: confine the combinatorial explosion to a parameter of the input Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 6

  9. Parameterized Complexity Theory Idea: confine the combinatorial explosion to a parameter of the input Parameterized Problem: L ⊆ Σ ∗ × N Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 6

  10. Parameterized Complexity Theory Idea: confine the combinatorial explosion to a parameter of the input Parameterized Problem: L ⊆ Σ ∗ × N Fixed-parameter tractability A parameterized problem L is fixed-parameter tractable if there is a computable function f and an integer c such that there is an algorithm solving L in time O ( f ( p ) · | I | c ). Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 6

  11. Alternating runs 12 11 10 9 8 7 6 5 4 3 2 1 1 8 12 (up), 4 (down), 7 11 (up), 6 3 2 (down), 9 (up), 5 (down), 10 (up) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 7

  12. Alternating runs 12 11 10 9 8 7 6 5 4 3 2 1 1 8 12 (up), 4 (down), 7 11 (up), 6 3 2 (down), 9 (up), 5 (down), 10 (up) Notation run( π )...the number of alternating runs in π , r ( i ) = j if i lies in the j -th run Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 7

  13. The alternating run algorithm ◮ Matching functions: Reduce the search space ◮ Dynamic programming algorithm: Checks for every matching function whether there is a compatible matching Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 8

  14. Matching functions Pattern P ↓ matching function ↓ Text T Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 9

  15. Matching functions - an example Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 10

  16. Matching functions - an example Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (2) F (1) F (3) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 10

  17. The algorithm - finding a matching The dynamic programming algorithm - Part 1 X 0 := { (0 , . . . , 0) } . For every κ ∈ [ k ] the data structure X κ is recursively constructed. For x ∈ X κ − 1 we search for ν ∈ [ n ] satisfying: ◮ ν ∈ F ( r ( κ )) ◮ Among all elements that are larger than x r ( κ − 1) and on the correct side of x r ( κ ) , ν has to be a valley. ◮ If κ is not the largest element in its run in P , there has to be another larger element in F ( r ( κ )) lying to the right (resp. left) of ν if κ lies in a run up (resp. down). Place x ν := ( x 1 , . . . , x r ( κ ) − 1 , ν, x r ( κ )+1 , . . . , x run( P ) ) in X ′ κ . Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 11

  18. The algorithm - finding a matching The dynamic programming algorithm - Part 1 X ′ κ still consists of too many elements. In order to obtain the desired runtime bounds, we apply the following rules: ◮ We call a vale a subsequence of T consisting of a consecutive run down and up. If the entries of x ν and y µ all lie within the same vales, it is sufficient to keep one of the two. ◮ If κ is the largest element in its run in P , it is enough to keep one choice for every x in X κ − 1 . The remaining x ν ’s then form X κ . Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 12

  19. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (2) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  20. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (2) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  21. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (1) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  22. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (1) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  23. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (1) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  24. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (1) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  25. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (1) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  26. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (3) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  27. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (3) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  28. The algorithm - finding a matching Pattern P Text T 12 11 10 9 4 8 7 3 6 5 2 4 3 1 2 1 F (3) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 13

  29. Runtime √ run( T ) Matching functions: 2 O ∗ (1 . 2611 run( T ) ) Dynamic programming algorithm: Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 14

  30. Runtime √ run( T ) Matching functions: 2 O ∗ (1 . 2611 run( T ) ) Dynamic programming algorithm: O ∗ (1 . 784 run( T ) ) In total: Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 14

  31. Runtime √ run( T ) Matching functions: 2 O ∗ (1 . 2611 run( T ) ) Dynamic programming algorithm: O ∗ (1 . 784 run( T ) ) In total: → This is a fixed-parameter tractable (FPT) algorithm, i.e. a runtime of f ( k ) · n c . Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 14

  32. Runtime √ run( T ) Matching functions: 2 O ∗ (1 . 2611 run( T ) ) Dynamic programming algorithm: O ∗ (1 . 784 run( T ) ) In total: → This is a fixed-parameter tractable (FPT) algorithm, i.e. a runtime of f ( k ) · n c . O ∗ (1 . 784 n ) Since run( T ) ≤ n , we also obtain Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 14

  33. Alternating runs in the pattern run( P ) O ∗ (1 . 784 run( T ) ) FPT, i.e. f ( k ) · n c n 2 � run( P ) � O ∗ �� XP, i.e. n f ( k ) 2run( P ) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 15

  34. Alternating runs in the pattern run( P ) O ∗ (1 . 784 run( T ) ) FPT, i.e. f ( k ) · n c n 2 � run( P ) � O ∗ �� XP, i.e. n f ( k ) 2run( P ) no FPT result possible (W[1]-hardness) Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 15

  35. Conclusion What have we done? We found ◮ a fast algorithm for the parameter run( T ), ◮ a slow algorithm for the parameter run( P ). Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 16

  36. Conclusion What have we done? We found ◮ a fast algorithm for the parameter run( T ), ◮ a slow algorithm for the parameter run( P ). Future work ◮ PPM parameterized by some other parameter of P ? By k = run( P )? Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 16

  37. Conclusion What have we done? We found ◮ a fast algorithm for the parameter run( T ), ◮ a slow algorithm for the parameter run( P ). Future work ◮ PPM parameterized by some other parameter of P ? By k = run( P )? ◮ Other permutation statistics in the text? Marie-Louise Bruner A Fast Algorithm for PPM June 13, 2012 16

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend