Pattern masking for dictionary matching: theory and practice
Charalampopoulos, Panagiotis and Chen, H. and Christen, P. and Loukides, G. and Pisanti, N. and Pissis, S.P. and Radoszewski, J. (2024) Pattern masking for dictionary matching: theory and practice. Algorithmica , ISSN 0178-4617.
![]() |
Text
PP_string_masking.pdf - Author's Accepted Manuscript Restricted to Repository staff only Available under License Creative Commons Attribution. Download (764kB) |
|
|
Text
53168a.pdf - Published Version of Record Available under License Creative Commons Attribution. Download (1MB) | Preview |
Abstract
Data masking is a common technique for sanitizing sensitive data maintained in database systems which is becoming increasingly important in various application areas, such as in record linkage of personal data. This work formalizes the Pattern Masking for Dictionary Matching (PPSM) problem: given a dictionary D of d strings, each of length l, a query string q of length l, and a positive integer z, we are asked to compute a smallest set K⊆{1,...,l}, so that if q[i] is replaced by a wildcard for all i∈K, then q matches at least z strings from D. Solving PPSM allows providing data utility guarantees as opposed to existing approaches. We first show, through a reduction from the well-known k-Clique problem, that a decision version of the PPSM problem is NP-complete, even for binary strings. We thus approach the problem from a more practical perspective. We show a combinatorial O((dl)^{|K|/3}+dl)-time and O(dl)-space algorithm for PPSM for |K|=O(1). In fact, we show that we cannot hope for a faster combinatorial algorithm, unless the combinatorial k-Clique hypothesis fails [Abboud et al., SIAM J. Comput. 2018; Lincoln et al., SODA 2018]. Our combinatorial algorithm, executed with small |K|, is the backbone of a greedy heuristic that we propose. Our experiments on real-world and synthetic datasets show that our heuristic finds nearly-optimal solutions in practice and is also very efficient. We also generalize this algorithm for the problem of masking multiple query strings simultaneously so that every string has at least z matches in D. PPSM can be viewed as a generalization of the decision version of the dictionary matching with mismatches problem: by querying a PPSM data structure with string q and z=1, one obtains the minimal number of mismatches of q with any string from D. The query time or space of all known data structures for the more restricted problem of dictionary matching with at most k mismatches incurs some exponential factor with respect to k. A simple exact algorithm for PPSM runs in time O(2^l d). We present a data structure for PPSM that answers queries over D in time O(2^{l/2}(2^{l/2}+τ)l) and requires space O(2^{l}d^2/τ^2+2^{l/2}d), for any parameter τ∈[1,d]. We complement our results by showing a two-way polynomial-time reduction between PPSM and the Minimum Union problem [Chlamtac et al., SODA 2017]. This gives a polynomial-time O(d^{1/4+ε})-approximation algorithm for PPSM, which is tight under a plausible complexity conjecture. This is an extended version of a paper that was presented at ISAAC 2021.
Metadata
Item Type: | Article |
---|---|
School: | Birkbeck Faculties and Schools > Faculty of Science > School of Computing and Mathematical Sciences |
Depositing User: | Panagiotis Charalampopoulos |
Date Deposited: | 29 Feb 2024 14:34 |
Last Modified: | 01 May 2024 18:11 |
URI: | https://eprints.bbk.ac.uk/id/eprint/53168 |
Statistics
Additional statistics are available via IRStats2.