TY - GEN
T1 - Dynamic dictionary matching in the online model
AU - Golan, Shay
AU - Kociumaka, Tomasz
AU - Kopelowitz, Tsvi
AU - Porat, Ely
N1 - Publisher Copyright: © Springer Nature Switzerland AG 2019.
PY - 2019
Y1 - 2019
N2 - In the classic dictionary matching problem, the input is a dictionary of patterns D= { P1, P2, …, Pk} and a text T, and the goal is to report all the occurrences in T of every pattern from D. In the dynamic version of the dictionary matching problem, patterns may be either added or removed from D. In the online version of the dictionary matching problem, the characters of T arrive online, one at a time, and the goal is to establish, immediately after every new character arrival, which of the patterns in D are a suffix of the current text. In this paper, we consider the dynamic version of the online dictionary matching problem. For the case where all the patterns have the same length m, we design an algorithm that adds or removes a pattern in (formula presented) time and processes a text character in (formula presented) time, where(formula presented). For the general case where patterns may have different lengths, the cost of adding or removing a pattern P is (formula presented) while the cost per text character is (formula presented), where d= | D| is the number of patterns in D and occ is the size of the output. These bounds improve on the state of the art for dynamic dictionary matching, while also providing online features. All our algorithms are Las-Vegas randomized and the time costs are in the worst-case with high probability. A by-product of our work is a solution for the fringed colored ancestor problem, resolving an open question of Breslauer and Italiano [J. Discrete Algorithms, 2013].
AB - In the classic dictionary matching problem, the input is a dictionary of patterns D= { P1, P2, …, Pk} and a text T, and the goal is to report all the occurrences in T of every pattern from D. In the dynamic version of the dictionary matching problem, patterns may be either added or removed from D. In the online version of the dictionary matching problem, the characters of T arrive online, one at a time, and the goal is to establish, immediately after every new character arrival, which of the patterns in D are a suffix of the current text. In this paper, we consider the dynamic version of the online dictionary matching problem. For the case where all the patterns have the same length m, we design an algorithm that adds or removes a pattern in (formula presented) time and processes a text character in (formula presented) time, where(formula presented). For the general case where patterns may have different lengths, the cost of adding or removing a pattern P is (formula presented) while the cost per text character is (formula presented), where d= | D| is the number of patterns in D and occ is the size of the output. These bounds improve on the state of the art for dynamic dictionary matching, while also providing online features. All our algorithms are Las-Vegas randomized and the time costs are in the worst-case with high probability. A by-product of our work is a solution for the fringed colored ancestor problem, resolving an open question of Breslauer and Italiano [J. Discrete Algorithms, 2013].
UR - http://www.scopus.com/inward/record.url?scp=85070615269&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-030-24766-9_30
DO - https://doi.org/10.1007/978-3-030-24766-9_30
M3 - منشور من مؤتمر
SN - 9783030247652
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 409
EP - 422
BT - Algorithms and Data Structures - 16th International Symposium, WADS 2019, Proceedings
A2 - Friggstad, Zachary
A2 - Salavatipour, Mohammad R.
A2 - Sack, Jörg-Rüdiger
PB - Springer Verlag
T2 - 16th International Symposium on Algorithms and Data Structures, WADS 2019
Y2 - 5 August 2019 through 7 August 2019
ER -