BIROn - Birkbeck Institutional Research Online

    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. (In Press)

    [img]
    Preview
    Text
    PP_string_masking.pdf - Author's Accepted Manuscript
    Available under License Creative Commons Attribution.

    Download (764kB) | 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: 29 Mar 2024 01:10
    URI: https://eprints.bbk.ac.uk/id/eprint/53168

    Statistics

    Activity Overview
    6 month trend
    10Downloads
    6 month trend
    72Hits

    Additional statistics are available via IRStats2.

    Archive Staff Only (login required)

    Edit/View Item Edit/View Item