We study quantum algorithms for several fundamental string problems, including Longest Common Substring, Lexicographically Minimal String Rotation, and Longest Square Substring. These problems have been widely studied in the stringology literature since the 1970s, and are known to be solvable by near-linear time classical algorithms. In this work, we give quantum algorithms for these problems with near-optimal query complexities and time complexities. Specifically, we show that: - Longest Common Substring can be solved by a quantum algorithm in $\tilde O(n^{2/3})$ time, improving upon the recent $\tilde O(n^{5/6})$-time algorithm by Le Gall and Seddighin (2020). Our algorithm uses the MNRS quantum walk framework, together with a careful combination of string synchronizing sets (Kempa and Kociumaka, 2019) and generalized difference covers. - Lexicographically Minimal String Rotation can be solved by a quantum algorithm in $n^{1/2 + o(1)}$ time, improving upon the recent $\tilde O(n^{3/4})$-time algorithm by Wang and Ying (2020). We design our algorithm by first giving a new classical divide-and-conquer algorithm in near-linear time based on exclusion rules, and then speeding it up quadratically using nested Grover search and quantum minimum finding. - Longest Square Substring can be solved by a quantum algorithm in $\tilde O(\sqrt{n})$ time. Our algorithm is an adaptation of the algorithm by Le Gall and Seddighin (2020) for the Longest Palindromic Substring problem, but uses additional techniques to overcome the difficulty that binary search no longer applies. Our techniques naturally extend to other related string problems, such as Longest Repeated Substring, Longest Lyndon Substring, and Minimal Suffix.
翻译:我们研究数个基本字符串问题的量子算法, 包括Longest Common Substruting、Lexical minimal String routation 和Longest Square Substring。 这些问题自1970年代以来已在字符串文献文献中得到广泛研究, 并已知近线时间古典算法可以溶解。 在这项工作中, 我们以接近最佳查询的复杂性和时间复杂性为这些问题提供量子算法。 具体地说, 我们显示: - 最远常见的子字符串可以通过 $tilde O (n%2/3}) 的量子算法来解决, 在最近的 STilde O(n%5/6} 和Seddiphin (202020) 的美元时间算法得到改进。 我们的量子运算法使用MNDRS 量子行框架, 以及串同步的组合( Kempa 和 Kociencialak, 20) 和直线性变的量算算法, 由最近Oraldealde listral- dalal- dalmax, 通过我们的量算算法, 和Oralxxxxxxxxxxxxxxxx,, 和我们更Lxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx