Source author record

B. Riva Shalom

Explore this author’s publications, collaborators and research topics. This catalog record has not been claimed by its author.

ResearcherUnclaimed source record

Catalog footprint

Research overview

2works
1topics
4close collaborators

Published work

2 publications

preprint2015arXiv

Mind the Gap

We examine the complexity of the online Dictionary Matching with One Gap Problem (DMOG) which is the following. Preprocess a dictionary DD of dd patterns, where each pattern contains a special gap symbol that can match any string, so that given a text that arrives online, a character at a time, we can report all of the patterns from DD that are suffixes of the text that has arrived so far, before the next character arrives. In more general versions the gap symbols are associated with bounds determining the possible lengths of matching strings. Finding efficient algorithmic solutions for (online) DMOG has proven to be a difficult algorithmic challenge. We demonstrate that the difficulty in obtaining efficient solutions for the DMOG problem even, in the offline setting, can be traced back to the infamous 3SUM conjecture. Interestingly, our reduction deviates from the known reduction paths that follow from 3SUM. In particular, most reductions from 3SUM go through the set-disjointness problem, which corresponds to the problem of preprocessing a graph to answer edge-triangles queries. We use a new path of reductions by considering the complementary, although structurally very different, vertex-triangles queries. Using this new path we show a conditional lower bound of Ω(δ(GD)+op)Ω(δ(G_D)+op) time per text character, where GDG_D is a bipartite graph that captures the structure of DD, δ(GD)δ(G_D) is the degeneracy of this graph, and opop is the output size. We also provide matching upper-bounds (up to sub-polynomial factors) for the vertex-triangles problem, and then extend these techniques to the online DMOG problem. In particular, we introduce algorithms whose time cost depends linearly on δ(GD)δ(G_D). Our algorithms make use of graph orientations, together with some additional techniques. Finally, when δ(GD)δ(G_D) is large we are able to obtain even more efficient solutions.

preprint2014arXiv

Dictionary Matching with One Gap

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.

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

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