Emergent Mind

Dictionary Matching with One Gap

(1408.2350)
Published Aug 11, 2014 in cs.DS

Abstract

The dictionary matching with gaps problem is to preprocess a dictionary $D$ of $d$ gapped patterns $P1,\ldots,Pd$ over alphabet $\Sigma$, where each gapped pattern $Pi$ is a sequence of subpatterns separated by bounded sequences of don't cares. Then, given a query text $T$ of length $n$ over alphabet $\Sigma$, the goal is to output all locations in $T$ in which a pattern $Pi\in D$, $1\leq i\leq d$, 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 $\alpha$ and at most $\beta$ don't cares, where $\alpha$ and $\beta$ are given parameters. Specifically, we show that the dictionary matching with a single gap problem can be solved in either $O(d\log d + |D|)$ time and $O(d\log{\varepsilon} d + |D|)$ space, and query time $O(n(\beta -\alpha )\log\log d \log 2 \min { d, \log |D| } + occ)$, where $occ$ is the number of patterns found, or preprocessing time and space: $O(d2 + |D|)$, and query time $O(n(\beta -\alpha ) + occ)$, where $occ$ 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.

We're not able to analyze this paper right now due to high demand.

Please check back later (sorry!).

Generate a summary of this paper on our Pro plan:

We ran into a problem analyzing this paper.

Newsletter

Get summaries of trending comp sci papers delivered straight to your inbox:

Unsubscribe anytime.