for String Problems SODA 2022 Shyan Akmal MIT Ce Jin MIT Basic Problems in Stringology Exact Pattern Matching Longest Common Substring Lexicographically Minimal String Rotation Longest Palindromic Substring ID: 1010728
Download Presentation The PPT/PDF document "Near-Optimal Quantum Algorithms" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. Near-Optimal Quantum Algorithms for String ProblemsSODA 2022Shyan AkmalMITCe JinMIT
2. Basic Problems in StringologyExact Pattern MatchingLongest Common SubstringLexicographically Minimal String RotationLongest Palindromic SubstringLongest Square Substring……Well-known (quasi-) linear time classical algorithmsRecent interest in quantum algorithms = nan = banana = banana = ananas = banana = abanan = bananas = banbananas KMP’70Weiner’73Booth’80, Shiloach’81Manacher’75Main-Lorentz’79, Crochemore’81
3. Quantum Black-box ModelInput string polynomially bounded alphabet Quantum Oracle Query complexity = number of quantum queries to (Goal: sublinear )Example: For computing takes quantum queries (Grover Search) Time complexity also counts # elementary gates (& quantum random-access gates)(Goal: time-efficient implementation with ) For a quantum query algorithm (with 2/3 success probability):
4. Simple Example: Longest Common PrefixInput: as oraclesOutput: Length of LCP of Binary Search for prefix length :Grover Search detects : in quantum time.total quantum time = bananas = banquetLCP = 3 Lexicographical order: hides factors
5. Previous Sublinear Quantum Algorithms* They obtained additional results for average-case/approximation/non-repetitive casesProblem Quantum Time Exact Pattern Matching Ramesh & Vinay (2003) Lexico. Minimal String Rotation Longest Common SubstringLongest Palindromic Substring Wang & Ying (2020)* Le Gall & Seddighin (2020, ITCS’22)*Le Gall & Seddighin (2020, ITCS’22) tighttight??Quantum Query LB( = nan = banana) ( = banana = abanan ) ( = banana = ananas ) ( = bananas )
6. Our ResultsProblem Quantum Time Quantum Query LBExact Pattern Matching Ramesh & Vinay (2003) Lexico. Minimal String Rotation Longest Common SubstringLongest Palindromic Substring This work This workLe Gall & Seddighin (2020, ITCS’22) tighttighttighttightLongest Square Substring This work tight(and more: Maximum/Minimum Suffix, Longest Lyndon Substring, …)This talk( = nan = banana) ( = banana = abanan ) ( = banana = ananas ) ( = bananas ) ( = banbananas)
7. This talk: LCSProblem Quantum Time Quantum Query LBLongest Common Substring (LCS) This work tight Le Gall & Seddighin (2020, ITCS’22)** [LG-S] gave tight algo for -approx LCS in non-repetitive strings List Disjointness ProblemInput: Two integer lists Output: Return YES iff for all (i.e, ) Le Gall & SeddighinQuantum query LB: (Aaronson & Shi ’02)Quantum walk algorithm: (Ambainis ’04) Input: two strings Output: maximum such that for some reduction from ( = banana = ananas output = 5)
8. LCS – Warm up (Le Gall & Seddighin)Decision problem: ?i.e., find such that Reduces to List Disjointness each lexicographical comparison takes quantum time time via Ambainis’ algorithm (comparison-based version) Considering all possible pairs is too wasteful … …
9. Anchoring for LCS [SV13, CCIKPRRW18, ACPR19, ACPR20, BGKK20, CGP20, CKPR21, …]( Decision problem: ? )Construct anchor sets such that: If , then exists anchored length- common substring. banabananahhnabanabababa = anchor
10. ( Decision problem: ? )Construct anchor sets such that: If , then exists anchored length- common substring. banabananahh = anchornabanabababaAnchoring for LCS [SV13, CCIKPRRW18, ACPR19, ACPR20, BGKK20, CGP20, CKPR21, …]
11. ( Decision problem: ? )Construct anchor sets such that: If , then exists an anchored length- common substring.Task: Find (a “witness pair”) such that. banabananahh (common substring with such that ) = anchornabanabababa Anchoring for LCS [SV13, CCIKPRRW18, ACPR19, ACPR20, BGKK20, CGP20, CKPR21, …]
12. Design anchor sets Small size Easy to compute: “Strongly explicitly”--time computableGiven , output the -th anchor in quantum time. Design anchor sets Small size Easy to computeFind a witness pair Algorithm outline( Decision problem: ? ) quantum time (Compare) warm-up LCS algorithm: quantum time Quantum Walk [Magniez-Nayak-Roland-Santha’11]Quantum Walk [Ambainis’04]Overall quantum time with dynamic data structures (Skip Lists, 2D Segment Trees, …)to maintain Lexicographical order & LCP array & other stuff
13. Difference Cover [Mae85, BK03](Construct anchor sets such that: If , then exists anchored length- common substring)Pro: -time-computable (input-oblivious)Con: Size too largeThere are size constructions (e.g. [Ben-Nun, Golan, Kociumaka, and Kraus’20]) (not easily computable) (input-dependent)
14. Approximate Difference CoverProximity parameter (previously )Size = Only guarantees Next: Align them based on their contextString Synchronizing Sets [Kempa-Kociumaka STOC’19] with parameter (Finally we will set )
15. bbbanabananabbanananaa (concatenated input )A (randomized) subset of positions :Consistency: whether depends only on (and random coins)Density: is nonempty, for all Sparsity: , for all For every in the approximate difference cover, add synchronizing positions from into anchor set (computable in time)#anchors = |apx diff cover| = bananabananabbananaana -string synchronizing set [KK19] (common substr length ) : apx diff coverbold : sync. positions()
16. Periodic caseNo synchronizing positions in highly-periodic regionsExtend the period to both directions (up to distance) in quantum time (binary search + Grover search)Add the starting positions of the Lyndon roots near the boundaries into anchor set aanabababababababababanab bnnbbababababababababanaa Lyndon root = ab (defn: lexico minimal rotation of the length-p substr, where p = minimal period) #anchors = |apx diff cover| = Reporting time = Set : apx diff cover
17. Algorithm outlineDesign anchor setsSmall size Easy to compute: “Strongly explicitly”--time computableGiven , output the -th anchor in quantum time.Find a witness pair quantum time (Decision problem: ?) Overall quantum time
18. Open Problem can be computed in quantum time, but..“ ?” could be decided faster for large Le Gall-Seddighin: quantum timeWhat’s the optimal dependency on ?Thanks!
19. Finding a witness pair using quantum walksQuantum Walk Search on Johnson Graph [Ambainis’04, Szegedy’04, Magniez-Nayak-Roland-Santha’11, …]Quantum analogue of the following Markov chainState: -subset () Transition: (where ).Search for an -subset that contains a witness pair= fraction of -subsets are marked (if a witness pair exists).Associate every -subset with a data structure (Anchor set : size ) - Setup step: initialize the data structure- Update step: update when - Checking step: check if contains a witness pair, given Total complexity: SC U
20. For -subset , includesLexicographical order of length- substrings associated with all anchors in ( , for all and all ) LCPs of lexicographically adjacent pairs ( together determine LCP of every pair)Update step: In time, compute the anchor to be inserted.Binary search on the lexicographical order, where each comparison takes time.Query & Time complexity (using suitable data structures to maintain the order)Setup step: insertionsChecking step (“does contain a witness pair?”):Query complexity = 0. Time complexity?? (Anchor set : size , -time computable)(Witness pair : . ) Finding a witness pair using quantum walks…backbandbonabond…LCP=2LCP=1LCP=3
21. For -subset , includesLexicographical order of length- substrings associated with all anchors in ( , for all and all ) LCPs of lexicographically adjacent pairs ( together determine LCP of every pair)Update step: In time, compute the anchor to be inserted.Binary search on the lexicographical order, where each comparison takes time.Query & Time complexity (using suitable data structures to maintain the order)Setup step: insertionsChecking step “does contain a witness pair?”Query complexity = 0. Time complexity?? Linear time is too slow… (Anchor set : size , -time computable)(Witness pair : . ) Finding a witness pair using quantum walks (also called Two string families LCP problem)
22. Time complexity of checking stepTask: Maintain a dynamic anchor subset to supportCheck whether contains a witness pairInsert/delete an anchorThe data structure must be “quantum-walk-friendly”:(1) History independence(2) Worst-case time complexity per update (w.p. )(This precludes the amortized data structure of [Charalampopoulos-Gawrychowski-Pokorski’20])Grover search for and :Query: Does there exist such that and Checking time complexity Total cost = SCU This can be reduced to 2D orthogonal range search