Succinct 2D Dictionary Matching

Succinct 2D Dictionary Matching

0.00 Avg rating0 Votes
Article ID: iaor20131268
Volume: 65
Issue: 3
Start Page Number: 662
End Page Number: 684
Publication Date: Mar 2013
Journal: Algorithmica
Authors: ,
Keywords: matching, text processing, time complexity
Abstract:

The dictionary matching problem seeks all locations in a given text that match any of the patterns in a given dictionary. Efficient algorithms for dictionary matching scan the text once, searching for all patterns simultaneously. Existing algorithms that solve the 2‐dimensional dictionary matching problem all require working space proportional to the size of the dictionary. This paper presents the first efficient 2‐dimensional dictionary matching algorithm that operates in small space. Given d patterns, D={P 1,…,P d }, each of size m×m, and a text T of size n×n, our algorithm finds all occurrences of P i , 1≤id, in T. The preprocessing of the dictionary forms a compressed self‐index of the patterns, after which the original dictionary may be discarded. Our algorithm uses O(dmlogdm) extra bits of space. The time complexity of our algorithm is close to linear, O(dm 2+n 2 τlogσ), where τ is the time it takes to access a character in the compressed self‐index and σ is the size of the alphabet. Using recent results τ is at most sub‐logarithmic.

Reviews

Required fields are marked *. Your email address will not be published.