String Pattern Matching Algorithms

An alphabet Σ is a finite set. A symbol is an element sΣ. A string is a finite sequence of symbols, i.e, elements of an alphabet. The set of all strings over Σ is denoted by Σ. We say a string pΣ is a pattern over a fixed alphabet Σ if p consists of symbols from Σ Let s be a string and denote s:=s1sn. We say that a subsequence sisj of s is a substring of s. A ocurrence of u in s is a pair (i,j) such that u:=sisj is a substring of s.

Let P be a set of patterns over a fixed alphabet Σ and let T be a fixed string. The Multiple Pattern String Matching (MPSM) is the problem of finding all occurrences of all patterns of P in T. The Single Pattern String Matching (SPSM) is a special case of (MPSM) by adding the constraint |P|=1.

The Multiple Pattern String Matching is one of the basic string algorithms problems and several algorithms have been proposed to solve it. There are practical solutions to real-world problems that can be developed using these algorithms, including, but not limited to, intrusion detection systems, evolutionary biology, computational linguistics, and data retrieval.


Proposal

Poster

Monography

Implementations