Fast full permuted pattern matching algorithms on multi-track strings

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)


A multi-track string is a tuple of strings of the same length. The full permuted pattern matching problem is, given two multi-track strings T = (t1, t2, . . . , tN) and P = (p1, p2, . . . , pN) such that |p1| = = |pN| ≤ |t1| = = |tN|, to find all positions i such that P = (tr1 [i : I+m-1], . . . , trN [i : I+m-1]) for some permutation (r1, . . . , rN) of (1, . . . ,N), where m = |p1| and t[i : J] denotes the substring of t from position i to j. We propose new algorithms that perform full permuted pattern matching practically fast. The first and second algorithms are based on the Boyer-Moore algorithm and the Horspool algorithm, respectively. The third algorithm is based on the Aho-Corasick algorithm where we use a multi-track character instead of a single character in the so-called goto function. The fourth algorithm is an improvement of the multi-track Knuth-Morris-Pratt algorithm that uses an automaton instead of the failure function of the original algorithm. Our experiment results demonstrate that those algorithms perform permuted pattern matching faster than existing algorithms.

Original languageEnglish
Title of host publicationProceedings of the Prague Stringology Conference, PSC 2016
EditorsJan Holub, Jan Zdarek
PublisherPrague Stringology Club
Number of pages15
ISBN (Electronic)9788001059968
Publication statusPublished - 2016
Event20th Prague Stringology Conference, PSC 2016 - Prague, Czech Republic
Duration: 2016 Aug 292016 Aug 31

Publication series

NameProceedings of the Prague Stringology Conference, PSC 2016


Conference20th Prague Stringology Conference, PSC 2016
Country/TerritoryCzech Republic


  • AC-automaton
  • Boyer-Moore algorithm
  • Horspool algorithm
  • Multi-track string
  • Permuted pattern matching

ASJC Scopus subject areas

  • Mathematics(all)


Dive into the research topics of 'Fast full permuted pattern matching algorithms on multi-track strings'. Together they form a unique fingerprint.

Cite this