Abstract

The dictionary matching with gaps problem is to preprocess a dictionary DD of dd gapped patterns P1,…,PdP_1,\ldots,P_d over alphabet ΣΣ, where each gapped pattern PiP_i is a sequence of subpatterns separated by bounded sequences of don't cares. Then, given a query text TT of length nn over alphabet ΣΣ, the goal is to output all locations in TT in which a pattern Pi∈DP_i\in D, 1≤i≤d1\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 αα 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 O(dlog⁡d+∣D∣)O(d\log d + |D|) time and O(dlog⁡εd+∣D∣)O(d\log^{\varepsilon} d + |D|) space, and query time O(n(β−α)log⁡log⁡dlog⁡2min⁡{d,log⁡∣D∣}+occ)O(n(β-α)\log\log d \log ^2 \min \{ d, \log |D| \} + occ), where occocc is the number of patterns found, or preprocessing time and space: O(d2+∣D∣)O(d^2 + |D|), and query time O(n(β−α)+occ)O(n(β-α) + occ), where occocc 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.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.