Dictionary Matching with One Gap
Abstract
The dictionary matching with gaps problem is to preprocess a dictionary of gapped patterns over alphabet , where each gapped pattern is a sequence of subpatterns separated by bounded sequences of don't cares. Then, given a query text of length over alphabet , the goal is to output all locations in in which a pattern , , ends. There is a renewed current interest in the gapped matching problem stemming from cyber security. In this paper we solve the problem where all patterns in the dictionary have one gap with at least and at most don't cares, where and are given parameters. Specifically, we show that the dictionary matching with a single gap problem can be solved in either time and space, and query time , where is the number of patterns found, or preprocessing time and space: , and query time , where is the number of patterns found. As far as we know, this is the best solution for this setting of the problem, where many overlaps may exist in the dictionary.
Cite
@article{arxiv.1408.2350,
title = {Dictionary Matching with One Gap},
author = {Amihood Amir and Avivit Levy and Ely Porat and B. Riva Shalom},
journal= {arXiv preprint arXiv:1408.2350},
year = {2014}
}
Comments
A preliminary version was published at CPM 2014