Asymmetric Streaming Approximate
Pattern Matching
Abstract
We study the space complexity of pattern matching in the asymmetric streaming model, focusing on approximate pattern matching under the Hamming and edit distances. In this problem, we are given an -length pattern and an -length text and must compute, for every position of the text, the smallest distance between the pattern and a substring of the text which ends at this position. In the asymmetric streaming model, we assume to have constant-time random access to the pattern, while the text arrives as a stream, one letter at a time.
It is known that computing all distances exactly in the asymmetric streaming model requires space (for the edit distance see Li and Zheng [FSTTCS 2021]). Hence, to achieve sublinear space, a relaxation of the problem is necessary. One possible variant is to consider the small distance regime, where the algorithm must compute only those distances that are bounded by a small integer parameter . In this case, existing algorithms in a more restrictive fully streaming model (Kociumaka, Clifford, Porat [SODA’19], Bhattacharya, Koucký [ICALP’23]) straightforwardly imply the existence of -space asymmetric streaming algorithms. Another possible relaxation is computing all distances approximately. For this variant, we don’t have small-space algorithms in the fully streaming model: the best known algorithm solves pattern matching under the Hamming distance -approximately using space (Starikovskaya, Svagerka, Uznański [APPROX’20]).222Hereafter, hides factors polylogarithmic in . For the edit distance, no efficient approximation algorithms are known.
In this work, we show approximation algorithms for pattern matching under the Hamming and edit distances in the asymmetric streaming model for any constant :
-
1.
We show that there is a simple randomised asymmetric streaming algorithm that solves approximate pattern matching under the Hamming distance -approximately using bits.
-
2.
As our second and main contribution, we extend the result of Cheng et al. [ICALP 2021] and show that for any integer there is a deterministic asymmetric streaming algorithm that solves pattern matching under the edit distance -approximately using space.
Keywords and phrases:
Asymmetric streaming, Pattern matching, Approximation, Edit distance, Hamming distanceCopyright and License:
2012 ACM Subject Classification:
Theory of computation Streaming, sublinear and near linear time algorithms ; Theory of computation Approximation algorithms analysis ; Theory of computation Pattern matchingFunding:
Partially funded by a grant ANR-20-CE48-0001 from the French National Research Agency and by the Polish National Science Centre grant number 2023/51/B/ST6/01505.Editors:
Philip Bille and Nicola PrezzaSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
In this work, we study the space complexity of pattern matching in the streaming setting. We focus on approximate pattern matching under the Hamming and edit distances. For the Hamming distance and a pattern of length , the algorithm should output the Hamming distance to the pattern for each length- window of the text. For the edit distance, we should find, for every position of text , the distance between pattern and a substring of for a position minimising this value.
In the fully streaming setting, we assume that arrives first, the algorithm preprocesses it, and then receives as a stream. We account for all the space used to store the information about the pattern (which is not available via random access) and the text. This work is focused on the more recent asymmetric streaming model proposed by Saks and Seshadhri [18] in the context of the longest common subsequence problem (see also the work of Andoni, Krauthgamer, and Onak [3]).
In this model, we are given constant-time random access to the pattern , which arrives first, and the text arrives as a stream. Thus, we have read-only access to the pattern and do not account for the space used to store it. This is a natural variant of the fully streaming setting, as two parts of the input (pattern/text) are inherently different and it is easy to imagine some fixed relatively short pattern residing in working memory, while fully storing the whole text is out of reach. As such, the asymmetric streaming model represents a practically interesting intermediate point between the read-only setting (where both the pattern and the text are read-only) and the fully streaming setting.
It is known that computing all distances exactly in the approximate pattern matching problem, by information-theoretic argument, requires space, even in the asymmetric streaming model. Hence, to achieve sublinear space one must consider a relaxation of the problem.
One possible variant is to consider the small distance regime, where one must compute only those distances that are bounded by a small integer parameter . In such a case, efficient fully streaming algorithms exist, and they carry on to the asymmetric streaming model. The study of fully streaming algorithms for pattern matching under the Hamming distance in the small-distance regime was initiated by Porat and Porat [17], who showed that the problem can be solved in space and time per letter of the text. Subsequent improvements [7, 14] led to the current best solution [8], which solves the problem in space and time per letter of the text. [13] studied trade-offs between streaming space and time. For the edit distance, two algorithms are known [15, 4], the best [4] by Bhattacharya and Koucký taking space and time in the streaming model.
Another possible relaxation is computing all distances approximately. For this variant, we don’t have algorithms using polylogarithmic space in the fully streaming model: the best known algorithm solves pattern matching under the Hamming distance -approximately using space [9, 19]. For the edit distance, no efficient approximation algorithms are known.
1.1 Our results
In this work, we study the approximate pattern matching and show that the asymmetric streaming model does allow for space-efficient algorithms.
Hamming distance.
As our first result, we give an efficient algorithm for the approximate pattern matching under the Hamming distance, in the asymmetric streaming model:
Theorem 1.
Let be a constant, be a read-only pattern of length , and be a streaming text of length on a polynomial-size alphabet. There is an asymmetric streaming algorithm that solves approximate pattern matching under the Hamming distance -approximately using bits and polynomial time. The algorithm is randomised and is correct with high probability.333By high probability we mean probability that is bigger than for a constant .
By the lower bound for counting ones in a sliding window [10] (see also [9]), any asymmetric streaming algorithm for this problem must use bits.
The main idea of our algorithm is to divide the text, for every natural , into blocks of varying length but each at a distance roughly from the pattern. For any level and each of the latest blocks on this level, we store a sketch which uses bits and allows to compute -approximation of the Hamming distance. We then show that if the Hamming distance between and is at most , where is the latest arrived letter of the text, then whole is covered by the stored blocks on level , and we can use the sketches to compute an approximation of the Hamming distance, with some additive error which is reduced by the chosen parameters.
Edit distance.
As our second and main contribution, we show a space-efficient asymmetric streaming algorithm for approximating the edit distances between the pattern and text substrings. Namely, for each position of the text , we must compute an approximate value of the smallest possible edit distance between and some substring .
Asymmetric query complexity for edit distance was first considered in [3], with free access to one string and the goal of minimising the number of queries for letters in the other string. Saks and Seshadhri [18] furthered this idea and developed the asymmetric streaming model, along with the first asymmetric streaming algorithm for the longest common subsequence problem (LCS). The merged paper of Cheng, Farhadi, Hajiaghayi, Jin, Li, Rubinstein, Seddighin, and Zheng [5] (full versions [11], [6]) revisited the problem of computing the edit distance, and showed that there is (i) a deterministic asymmetric streaming algorithm which computes -approximation of the edit distance between two strings using space and polynomial time, and (ii) -approximation of the edit distance between two strings using space for any constant . Li and Zheng [16] improved the space complexity of the -approximation algorithm to , where is the edit distance between the input strings. They also showed that any asymmetric streaming algorithm (even randomised) computing the edit distance exactly must use bits, and that computing the edit distance -approximately requires bits.
For the problem of approximate pattern under the edit distance, we show the following:
Theorem 2.
Let be a constant, a constant integer, a read-only pattern of length , and a streaming text on a polynomial-size alphabet. There is an asymmetric streaming algorithm that solves approximate pattern matching under the edit distance -approximately, using bits and polynomial time. The algorithm is deterministic.
Therefore, we are able to extend the result of [5] from string-to-string edit distance to approximate pattern matching under the edit distance, in the same space complexity , losing only an additional factor in the (large) constant-factor approximation.
The structure of our solution for the edit distance is similar to that for the Hamming distance; in particular, we still divide text into blocks, for multiple levels parametrised by distances. However, unlike the Hamming distance, there are no small-space sketches for approximating the edit distance between strings, which is the main source of difficulty. In their solution for string-to-string edit distance computation, [5] suggested approximating the blocks of the text with the closest substrings of the pattern (to which we have constant-time random access). We extend their techniques to pattern matching. There are some challenges in this approach: first, [5] works with a static decomposition of a fixed-length string, while we must maintain the decomposition for appropriate suffixes of the streamed longer text. To this end, we maintain a number of the latest static blocks in a queue, but then a substring , where is the latest arrived letter of the text, is rarely fully aligned with the chosen blocks. The first and last blocks need to be trimmed, introducing a small additive error, which nevertheless can be transformed into a multiplicative one.
Open questions.
Our results lead to intriguing open problems. First, what is the best time complexity one can achieve for approximate pattern matching under the Hamming distance while using polylogarithmic space? Ideally, the time per letter of the text would also be polylogarithmic, but in our solution complexity is dominated by computing distances to all substrings of given length, which takes quadratic time per letter due to sketch properties. Second, can pattern matching under the Hamming distance be solved with a deterministic algorithm more efficiently than under the edit distance? Our space-efficient algorithm uses randomised sketches.
For the pattern matching with edits, can we achieve -approximation in space? Note that even for only string-to-string edit distance, the best existing solution takes bits, so the first step would be to match this for pattern matching. Finally, can randomisation help to achieve a better space or time complexity for the edit distance? The time complexity of known deterministic algorithms is large.
1.2 Preliminaries
Throughout the paper, we index strings starting from 1. is a substring of from index to , which is the same as or . denotes the concatenation of two strings. is the edit distance between two strings, that is, the minimal number of single-letter insertions, deletions, or substitutions necessary to transform into . denotes the Hamming distance between a pair of strings of equal length, that is, the number of letter substitutions necessary to transform into . By -approximation of value we will always mean a number in the range .
The distance of string from pattern is the minimum distance between and any substring of .
2 Approximate Hamming Distance
We first assume that the alphabet is binary and show how to lift this assumption later. For the Hamming distance, one can adapt randomised so-called tug-of-war sketches of polylogarithmic size, developed for estimating frequency moments in the stream [2, 12]. We will use the following sketches, designed by Achlioptas:
Corollary 3 ([1, Theorem 1.1], see also [9, 19]).
There is a sketching function , such that for any two strings of equal lengths at most , we can with high probability obtain -approximation of using , in time. The sketch of a string can be maintained in streaming using bits and in time per letter.
Let us define an approximate block to be a tuple storing a Hamming distance sketch for some text substring , length , as well as a pair of indices describing a pattern substring (which will be close to ). We say that such a block is an approximation of .
Queues Construction.
For each value , where , we create a queue storing up to approximate blocks. Assume that the last block in the queue is an approximation of a substring of ending at a position (if is empty, set ). We maintain the Hamming distance sketch of a substring starting at the index . When a new letter arrives, we update the sketch and use it to compute the minimum of approximate Hamming distances from to substrings of of length . If this minimum is at least , we create a new approximate block, where the stored indices are the endpoints of a substring of realising the minimum approximate distance to , and add the block to . By Corollary 3, with high probability is at distance at least from , and the distance between the block and the stored substring of is in range . It might also be the case that we read letters from the stream without achieving the threshold of distance from , if the substring of the text is very similar to the pattern; then we also finalise a block. If the size of exceeds , the oldest block is removed from the queue.
Note that the last processed index of is usually further than the end of the last block in , as the new approximate block covering the current suffix of the streamed text has not yet been created. Nevertheless, the algorithm maintains a sketch of this suffix. We have:
Definition 4.
The index in is covered by the queue of approximate blocks if the first block in is an approximation of and .
Proposition 5.
Let the last processed index of be , and . For any , if , then with high probability is covered by .
The above follows from the fact that holds up to last blocks, and each block is an approximation of some at distance at least from . Assume that , then we observe that cannot contain such blocks starting at indices larger than . This means the first block in starts before , and is covered by .
Approximating the distance.
Let be the current -length suffix of , so . Assume that , so is covered by . Let be a substring of stored in a block in approximating with and maximal . For all blocks following in and the last unfinished block, we have sketches and strings lengths, therefore we can obtain -approximation of by partitioning into substrings with lengths equal to consecutive blocks lengths, computing sketches of these substrings, and finally summing approximate block-to-substring distances. Let the resulting value be . For the prefix of there is no sketch available, but letting , by construction is at a distance at most from , thus by the triangle inequality:
We can compute exactly, and finally obtain that
since , and for .
Complexity analysis.
We use sketches of length , for every of the queues, each storing blocks, resulting in space complexity of bits. With high probability, the output is correct for every alignment. Time complexity is per letter, dominated by using sketches to compute distances to all substrings of fixed lengths.
Extension to polynomial-size alphabets.
To handle any polynomial-size alphabet, we can use a known method described for example in [19]. For the alphabet we use mapping such that , which exactly doubles the Hamming distance. Given string over , we instead run the algorithm on over the binary alphabet. Then in Corollary 3 sketches use bits, which is asymptotically the same for a polynomial-size alphabet. Time complexity is not affected either, due to the sketching algorithm performing operations only for letters in the text, see [19].
3 Approximate Edit Distance
In this section, we prove Theorem 2. We will use the following basic facts:
Proposition 6.
For any integer , consider arbitrary partitions of two strings into substrings as and . It holds that . Moreover, there exists a partition of into such that .
We will also use redefined approximate blocks:
Definition 7.
-approximate block for a text substring and the pattern is a pair of indices describing and an additive value such that for any substring of the pattern it holds that .
In other words, by leveraging the read-only pattern, we can store just bits, providing us with a -approximation of the edit distance between some text substring and any substring of the pattern. For brevity, we will often say that some is an approximate block, omitting stored additive factor . The following observation using the triangle inequality is a cornerstone of algorithms for asymmetric streaming edit distance:
Proposition 8 ([11]).
Let be a substring of with the smallest edit distance to some text substring . Then with an additive value of is a 3-approximate block for . (See Figure 1.)
For any string , we will refer to a substring of with the smallest edit distance to as its closest substring. Recall that the distance of from is the distance between and its closest substring. We will also use:
Fact 9 ([5, Theorem 3]).
For any constants and , there is an algorithm that outputs -approximation of edit distance between two given read-only strings using space and polynomial time.
3.1 First Step: -approximation in space
We start by showing the following result:
Theorem 10.
There is an asymmetric streaming algorithm providing a -approximation for pattern matching with edits in space and polynomial time.
Theorem 2 is then obtained by applying this algorithm recursively, as described in the next subsection. Let us set . The goal is to maintain a queue of up to 3-approximate blocks, each at the distance from .
To this end, consider some index in , initially , and read from the stream. Then compute, in space , the closest substring along with the full list of edit operations necessary to transform into . Next, remove from the working space and read . Observe that we still have access to all letters of , via and the list of edits. Therefore, we can compute the closest substring of , again with the full list of edit operations. If , we stop and place in the queue as a 3-approximate (by Proposition 8) block for the processed fragment of text, clearly at the distance of from . In the other case, the process continues iteratively until the closest substring is finally at a distance larger than . Then we push the block on the queue, removing the oldest element from if the queue already contained blocks. Until the block is finished, we retain full access to the corresponding suffix of . This is presented in Algorithm 1. See also Figure 2.
The set of edit operations can be stored sorted by indices, allowing access to while using bits. We can compute the edit distance in line 7 using bits, even though the two strings can be much longer. This is since the distance cannot be larger than , thus computing central diagonals in the standard dynamic programming for the edit distance is enough:
Proposition 11.
For two read-only strings , if , we can compute using only additional space.
The set of edit operations can be obtained similarly. Let us now consider a useful property of the computed queue.
Proposition 12.
Let the last processed index of be . For any , if , then is covered by .
Proof.
The above follows from the fact that holds up to latest blocks, and each block is an approximation of some at distance from exceeding .
Assume , and is not covered by , thus the queue must be full. For the -th block in for , denote that it stores as an approximation of . As is not covered, we have . By Proposition 6, consider a partition of such that . By definition of blocks stored in , they are at distance larger than from , so for any . But this contradicts , as there are blocks at a distance larger than .
It remains to bound the approximation we can obtain using the queue. For some index , assume that , with the last processed index of being . By Proposition 12, is covered by . We consider a string constructed as follows, in order to approximate (which is not stored explicitly) with blocks from the queue.
Let be a block in being approximation of with and maximal . Recall is a substring of . Set , as is an approximate block for a substring of extending too far to the left of . Since we are interested in the edit distance to just , we drop a prefix of of length , using the fact that removing the first letters from two strings does not increase the edit distance between them. That is, , for any . Note that we need to know , but it can be stored for any approximate block without affecting space complexity (we omit this detail in the pseudocode).
Then, append to all blocks following in the queue, and finally append the suffix of which is still being processed by the queue procedure. Let be an additive value for the -th concatenated full approximate block, and . See Figure 3.
We do not build explicitly, as it can be much more than letters. It is just represented as a sequence of indices to the read-only pattern, and for the unprocessed suffix, additionally a list of edit operations and a buffer of the most recent letters. Next, we show that can be used to approximate distance between and arbitrary substring of the pattern:
Lemma 13.
Let the last processed index of be , be any substring of such that , and . We can compute in polynomial time -approximation of , and a value such that .
Proof.
Recall that is a block in being approximation of with and maximal . Let be the sequence of indices such that -th block in after initial block is an approximation of . Note that:
By Proposition 6, can be partitioned into consecutive substrings such that . Note this is not necessarily a partition optimal for computing with selected blocks.
We have , which means that:
| (1) |
for any string , by the triangle inequality. We cannot claim 3-approximation here, as is not the closest substring of , but only a trimmed closest substring of , which was at distance at most .
Moreover, from definition of 3-approximate blocks, for any it holds that . We want to avoid guessing the optimal partition of necessary for block-by-block computation, so instead need to tie , relatively easy to compute, to . The algorithm will return value . As an upper bound for this estimate of , we get:
Claim 14.
Proof.
| (2) | |||
| (3) | |||
| (4) | |||
| (5) |
(3) holds as we partition into , and into blocks. (4) is by using (1) and the blocks being 3-approximate. (5) follows just by the chosen partition of optimal for computing .
To obtain a lower bound for the returned estimate, let us consider another partition of into consecutive substrings such that .
Claim 15.
Proof.
| (6) | ||||
| (7) | ||||
| (8) |
(6) follows from being a partition of . (7) is by using (1) and the blocks being 3-approximate. (8) holds by the chosen partition of optimal for computing .
By Claims 14 and 15, . The algorithm can compute -approximation of , using Fact 9, as we have access to all letters of . is known to the algorithm.
By Lemma 13, for any constant we can compute -approximation of but with an additive factor . To get rid of it, we create an additional queue storing blocks at a constant distance from , augmented with the full list of edit operations transforming a substring of into a substring of ; so these are in fact not approximate blocks, but provide exact access to substrings of . This can be done by a variant of Algorithm 1, replacing the inequality in line 7 with instead of , and additionally reading only a single letter into the buffer. This ensures that the distance of a block from is always 1. stores up to augmented blocks, and we have that:
Proposition 16.
Let the last processed index of be . For any , if , then is covered by .
This allows us to compute the edit distance exactly for suffixes of close to the pattern. Otherwise, we can assume that . By Lemma 13 and Proposition 12, we can obtain estimate such that . As , Algorithm 2 can compute -approximation of for any constant , for large enough.
The total space used by the algorithm is bits, as uses bits for storing blocks and lists of edit operations. uses a smaller number of bits to store the blocks and one list of edit operations for the unfinished block. bits is also enough to compute this list of edit operations by Proposition 11. Using Fact 9 requires asymptotically fewer bits. This finishes the proof of Theorem 10.
3.2 Second Step: (-approximation in space
In this section, we apply the previous approach iteratively, arriving at our main result of Theorem 2. We need the following extension of Proposition 8:
Proposition 17.
Let be the distance from some text substring to its closest substring in . Let be a substring of , and be a value for which holds, for some . Then with an additive value is -approximate block for .
Proof.
Let be any substring of , by assumption . by the triangle inequality. On the other hand, .
For an integer , set as roughly the space complexity we are aiming for. We assume is a power of two, otherwise we can take the largest power of two smaller than . The algorithm maintains the set of queues for , each queue holding up to approximate blocks (assume is an integer). The index is called a level of the queue . We will be using Fact 9 with some small constant to be specified later.
The base of the algorithm is formed by , constructed exactly as in the previous section, and providing access to the suffix of the streamed text which is very close to the pattern. The queues on further levels cannot be constructed in the same manner, since we do not want to maintain in a buffer a suffix of which is at a distance larger than from . Instead, we will maintain using , so there are steps in the inductive structure. could also be built directly, but not any of the further queues, so we choose not to distinguish . We construct queues with the following properties:
Lemma 18.
Let , and , for some to be defined later depending on the desired final approximation factor. The following holds for :
-
1.
stores -approximate blocks, up to of them.
-
2.
For any block in , which is an approximation of some text substring , the distance from to is in range .
-
3.
If the last processed index of is , for any , if , then is covered by .
Proof.
Let . We will proceed by induction on levels. As in Lemma 13, can be used to compute distance to any substring of . For some long suffix of we possibly can no longer compute the closest substring in , but still can obtain an approximate closest substring, compounding the approximation factor for each consecutive level, by Proposition 17. This is described in Algorithm 3; works as in the previous section.
For the ease of presentation, in the pseudocode each queue moves the current index in , while in fact this process should be synchronised between all queues processing the next letter from the stream, starting from level 0. The details of the algorithm in lines 5 or 9 are described below. A temporary block is a substring of with the smallest approximate distance to the current suffix of on level ; only in we could afford direct access to this suffix. As previously, we create a new full block only when the (approximate) distance from exceeds some threshold.
We need to inductively bound the approximation factor, as in the lemma statement. All properties hold for the base of , so assume they hold for and consider . is constructing blocks using and its -approximate blocks. Let the current suffix be , meaning the last block in ended at and the current index is , and consider any substring of the pattern.
The algorithm can approximate as follows, similarly to Lemma 13. Let be a block in being approximation of with and maximal . Such a block exists since is covered by , and recall that is a substring of . Set , as is an approximate block for a substring of extending too far to the left. Then, append to all blocks following from , and finally append , the temporary block approximating the suffix which is still being processed by the queue procedure in . Again, is not built explicitly, but as it is a concatenation of fragments of , we can access any of its letters. Let be the additive value for the -th concatenated full approximate block , and . Let be the sequence of indices such that the -th block in the after is an approximation of .
Recall is the approximation ratio of blocks in . By Proposition 6, can be partitioned into consecutive substrings such that . From the second property of we have , thus by the triangle inequality for any string it holds that:
For any , , by the first property and the definition of approximate blocks. By Line 7 of Algorithm 3, we have that is enforced directly, so again for any :
Since the algorithm have no access to , it estimates with value of . We can obtain the following upper bound:
where steps are analogous to those in Lemma 13. To get a lower bound, consider another partition of into substrings with . We then have:
Therefore, Algorithm 3 uses as , with approximated using Fact 9, incurring additional error.
Consider the second property of the lemma. For at distance at most from , by the third property is covered by when is the current index. Moreover, for any with , using as above we have:
assuming and . All of this ensures that the block in is not created until the distance from to is at least .
For the first property, we can now assume that creates blocks only for suffixes at distance from at least . Consider with , and so we have . We use Fact 9 to obtain a -approximation of . Now if we take with the minimal reported approximate distance to , since , by Proposition 17 we obtain -approximate block, satisfying the first property.
Regarding the third property, the proof is analogous to the Proposition 12, as any at distance at most from can be partitioned into parts each at distance at most from , and by the second property blocks in approximate substrings at distances at least from . This finishes the proof of the lemma.
Now, to obtain Theorem 2, we try all the queues and indices covered by them, then take the minimum reported edit distance. Consider at distance from . will provide desired approximation for . Indeed, for values in this range covers , thus we can construct and compute a value which is at most
Let . We can set so . For large enough, is smaller than for any constant . Similarly , for large enough and as above. Overall, we will get -approximate solution.
As , space complexity of the algorithm is bits with a constant number of queues, each storing blocks, and time complexity for each letter read remains polynomial in . Parameters in Fact 9 can be set so that it has space complexity , which is asymptotically smaller for any constant .
References
- [1] Dimitris Achlioptas. Database-friendly random projections: Johnson-Lindenstrauss with binary coins. J. Comput. Syst. Sci., 66(4):671–687, 2003. doi:10.1016/S0022-0000(03)00025-4.
- [2] Noga Alon, Yossi Matias, and Mario Szegedy. The space complexity of approximating the frequency moments. J. Comput. Syst. Sci., 58(1):137–147, 1999. doi:10.1006/JCSS.1997.1545.
- [3] Alexandr Andoni, Robert Krauthgamer, and Krzysztof Onak. Polylogarithmic approximation for edit distance and the asymmetric query complexity. In FOCS, pages 377–386. IEEE Computer Society, 2010. doi:10.1109/FOCS.2010.43.
- [4] Sudatta Bhattacharya and Michal Koucký. Streaming k-edit approximate pattern matching via string decomposition. In ICALP, volume 261 of LIPIcs, pages 22:1–22:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPIcs.ICALP.2023.22.
- [5] Kuan Cheng, Alireza Farhadi, MohammadTaghi Hajiaghayi, Zhengzhong Jin, Xin Li, Aviad Rubinstein, Saeed Seddighin, and Yu Zheng. Streaming and small space approximation algorithms for edit distance and Longest Common Subsequence. In ICALP, volume 198 of LIPIcs, pages 54:1–54:20. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.ICALP.2021.54.
- [6] Kuan Cheng, Zhengzhong Jin, Xin Li, and Yu Zheng. Space efficient deterministic approximation of string measures. CoRR, abs/2002.08498, 2020. arXiv:2002.08498.
- [7] Raphaël Clifford, Allyx Fontaine, Ely Porat, Benjamin Sach, and Tatiana Starikovskaya. The k-mismatch problem revisited. In SODA, pages 2039–2052. SIAM, 2016. doi:10.1137/1.9781611974331.CH142.
- [8] Raphaël Clifford, Tomasz Kociumaka, and Ely Porat. The streaming k-mismatch problem. In SODA, pages 1106–1125. SIAM, 2019. doi:10.1137/1.9781611975482.68.
- [9] Raphaël Clifford and Tatiana Starikovskaya. Approximate Hamming distance in a stream. In ICALP, volume 55 of LIPIcs, pages 20:1–20:14. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2016. doi:10.4230/LIPIcs.ICALP.2016.20.
- [10] Mayur Datar, Aristides Gionis, Piotr Indyk, and Rajeev Motwani. Maintaining stream statistics over sliding windows. SIAM J. Comput., 31(6):1794–1813, 2002. doi:10.1137/S0097539701398363.
- [11] Alireza Farhadi, MohammadTaghi Hajiaghayi, Aviad Rubinstein, and Saeed Seddighin. Asymmetric streaming algorithms for edit distance and LCS. CoRR, abs/2002.11342, 2020.
- [12] Joan Feigenbaum, Sampath Kannan, Martin Strauss, and Mahesh Viswanathan. An approximate L1-difference algorithm for massive data streams. SIAM J. Comput., 32(1):131–151, 2002. doi:10.1137/S0097539799361701.
- [13] Shay Golan, Tomasz Kociumaka, Tsvi Kopelowitz, and Ely Porat. The streaming k-mismatch problem: Tradeoffs between space and total time. In CPM, volume 161 of LIPIcs, pages 15:1–15:15. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.CPM.2020.15.
- [14] Shay Golan, Tsvi Kopelowitz, and Ely Porat. Towards optimal approximate streaming pattern matching by matching multiple patterns in multiple streams. In ICALP, volume 107 of LIPIcs, pages 65:1–65:16. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2018. doi:10.4230/LIPIcs.ICALP.2018.65.
- [15] Tomasz Kociumaka, Ely Porat, and Tatiana Starikovskaya. Small-space and streaming pattern matching with k edits. In FOCS, pages 885–896. IEEE, 2021.
- [16] Xin Li and Yu Zheng. Lower bounds and improved algorithms for asymmetric streaming edit distance and Longest Common Subsequence. In FSTTCS, volume 213 of LIPIcs, pages 27:1–27:23. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2021. doi:10.4230/LIPIcs.FSTTCS.2021.27.
- [17] Benny Porat and Ely Porat. Exact and approximate pattern matching in the streaming model. In FOCS, pages 315–323. IEEE Computer Society, 2009. doi:10.1109/FOCS.2009.11.
- [18] Michael E. Saks and C. Seshadhri. Space efficient streaming algorithms for the distance to monotonicity and asymmetric edit distance. In SODA, pages 1698–1709. SIAM, 2013. doi:10.1137/1.9781611973105.122.
- [19] Tatiana Starikovskaya, Michal Svagerka, and Przemyslaw Uznanski. L pattern matching in a stream. In APPROX-RANDOM, volume 176 of LIPIcs, pages 35:1–35:23. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2020. doi:10.4230/LIPIcs.APPROX/RANDOM.2020.35.
