,
Alessio Conte
,
Shuhei Denzumi,
Roberto Grossi,
Costas S. Iliopoulos,
Kazuhiro Kurita
,
Kunihiro Wasa
Creative Commons Attribution 3.0 Unported license
A k-anticover of a string x is a set of pairwise distinct factors of x of equal length k, such that every symbol of x is contained into an occurrence of at least one of those factors. The existence of a k-anticover can be seen as a notion of non-redundancy, which has application in computational biology, where they are associated with various non-regulatory mechanisms. In this paper we address the complexity of the problem of finding a k-anticover of a string x if it exists, showing that the decision problem is NP-complete on general strings for k ≥ 3. We also show that the problem admits a polynomial-time solution for k=2. For unbounded k, we provide an exact exponential algorithm to find a k-anticover of a string of length n (or determine that none exists), which runs in O*(min {3^{(n-k)/3)}, ((k(k+1))/2)^{n/(k+1)) time using polynomial space.
@InProceedings{alzamel_et_al:LIPIcs.CPM.2020.2,
author = {Alzamel, Mai and Conte, Alessio and Denzumi, Shuhei and Grossi, Roberto and Iliopoulos, Costas S. and Kurita, Kazuhiro and Wasa, Kunihiro},
title = {{Finding the Anticover of a String}},
booktitle = {31st Annual Symposium on Combinatorial Pattern Matching (CPM 2020)},
pages = {2:1--2:11},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-149-8},
ISSN = {1868-8969},
year = {2020},
volume = {161},
editor = {G{\o}rtz, Inge Li and Weimann, Oren},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CPM.2020.2},
URN = {urn:nbn:de:0030-drops-121270},
doi = {10.4230/LIPIcs.CPM.2020.2},
annote = {Keywords: Anticover, String algorithms, Stringology, NP-complete}
}