Amir, Amihood ;
Charalampopoulos, Panagiotis ;
Pissis, Solon P. ;
Radoszewski, Jakub
Longest Common Substring Made Fully Dynamic
Abstract
Given two strings S and T, each of length at most n, the longest common substring (LCS) problem is to find a longest substring common to S and T. This is a classical problem in computer science with an O(n)time solution. In the fully dynamic setting, edit operations are allowed in either of the two strings, and the problem is to find an LCS after each edit. We present the first solution to this problem requiring sublinear time in n per edit operation. In particular, we show how to find an LCS after each edit operation in O~(n^(2/3)) time, after O~(n)time and space preprocessing.
This line of research has been recently initiated in a somewhat restricted dynamic variant by Amir et al. [SPIRE 2017]. More specifically, they presented an O~(n)sized data structure that returns an LCS of the two strings after a single edit operation (that is reverted afterwards) in O~(1) time. At CPM 2018, three papers (Abedin et al., Funakoshi et al., and Urabe et al.) studied analogously restricted dynamic variants of problems on strings. We show that the techniques we develop can be applied to obtain fully dynamic algorithms for all of these variants. The only previously known sublineartime dynamic algorithms for problems on strings were for maintaining a dynamic collection of strings for comparison queries and for pattern matching, with the most recent advances made by Gawrychowski et al. [SODA 2018] and by Clifford et al. [STACS 2018].
As an intermediate problem we consider computing the solution for a string with a given set of k edits, which leads us, in particular, to answering internal queries on a string. The input to such a query is specified by a substring (or substrings) of a given string. Data structures for answering internal string queries that were proposed by Kociumaka et al. [SODA 2015] and by Gagie et al. [CCCG 2013] are used, along with new ones, based on ingredients such as the suffix tree, heavypath decomposition, orthogonal range queries, difference covers, and string periodicity.
BibTeX  Entry
@InProceedings{amir_et_al:LIPIcs:2019:11127,
author = {Amihood Amir and Panagiotis Charalampopoulos and Solon P. Pissis and Jakub Radoszewski},
title = {{Longest Common Substring Made Fully Dynamic}},
booktitle = {27th Annual European Symposium on Algorithms (ESA 2019)},
pages = {6:16:17},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {9783959771245},
ISSN = {18688969},
year = {2019},
volume = {144},
editor = {Michael A. Bender and Ola Svensson and Grzegorz Herman},
publisher = {Schloss DagstuhlLeibnizZentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2019/11127},
URN = {urn:nbn:de:0030drops111275},
doi = {10.4230/LIPIcs.ESA.2019.6},
annote = {Keywords: longest common substring, string algorithms, dynamic algorithms}
}
2019
Keywords: 

longest common substring, string algorithms, dynamic algorithms 
Seminar: 

27th Annual European Symposium on Algorithms (ESA 2019)

Issue date: 

2019 
Date of publication: 

2019 