Ely Porat

dblp:02/836 · DBLP profile ↗
← Back
171ranked-venue papers
10as first author
17since 2021 · last 2026
0000-0001-6912-5766ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 120 · 7 first-author · 8 since 2021Databases, data management, data science and information retrieval · 24 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 22 · 2 first-author · 5 since 2021Systems, architecture and hardware · 4Computer networks · 3 · 1 since 2021Artificial intelligence and machine learning · 2Applied, interdisciplinary, general and emerging computing · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 1 · 1 since 2021
YearPublicationVenuePosition
2026 Hamming Distance Oracles
abstract
In this paper, we present and study the Hamming distance oracle problem. In this problem, the task is to preprocess two strings S and T of lengths n and m, respectively, to obtain a data structure that is able to return the Hamming distance between a substring of S and a substring of T. For strings over a constant-size alphabet, we show that for every x ≤ min{n,m} there is a data structure with Õ(nm/x) preprocessing time and O(x) query time. We also provide a conditional lower bound, showing that for every ε > 0 there is no combinatorial data structure with query time O(x) and preprocessing time O((nm/x)^{1-ε}) unless combinatorial fast matrix multiplication is possible. For strings over a general alphabet, we present a data structure with Õ(nm/√x) pre-processing time and O(x) query time for every x ≤ min {n,m}. Moreover, for every ε > 0 we provide a data structure with a preprocessing time of Õ((n+m)/ε³) that returns with high probability a (1±ε) approximation of the Hamming distance of two input substrings. The query time of the approximation data structure is Õ(1/ε²).
Itai Boneh, Dvir Fried, Shay Golan 0001, Matan Kraus, Ely Porat
CPM5
2026 Exploring the Gap Between LCS and LCStr
abstract
The Longest Common Subsequence (LCS) problem and the Longest Common Substring (LCStr) problem are classical string problems with broad theoretical and practical significance. The former has a quadratic conditional lower bound [FOCS, 2015], while the latter admits a linear-time solution. In this paper, we study a natural variation of these problems, the Longest Common Subsequence-Substring (LCSS) problem. The LCSS problem seeks the longest string that is simultaneously a subsequence of one input string and a substring of the other. This variant bridges LCS and LCStr, raising intriguing algorithmic questions: Does the complexity of computing LCSS interpolate between the linear time of LCStr and the quadratic time of LCS? What about approximability? We also examine a natural extension of LCSS to multiple strings, parameterizing the balance between subsequence and substring requirements. Our results reveal several insights. First, under the SETH conjecture, the inherent complexity of LCSS is quadratic, similar to LCS. In contrast, we provide a linear-time approximation for LCSS. Finally, for the multi-string variant, unlike both problems, we design a quadratic-time algorithm, uncovering deeper structural properties of the problem. By studying the complexity of the LCSS problem, we aim to gain some understanding of what influences whether a variant of the LCS problem behaves more like the standard LCS or like LCStr. Our findings suggest that hybrid constraints can create computational "sweet spots," where problems become more tractable than their pure counterparts. This opens a broader research direction in constraint-mediated algorithm design. Beyond LCSS itself, our work highlights unexpected connections between subsequence and substring constraints, advancing the theoretical understanding of string problems and laying the foundation for new algorithmic techniques and complexity-theoretic insights in the rich space between classical string comparison paradigms.
Shay Golan 0001, Matan Kraus, Ely Porat, B. Riva Shalom
CPM3
2026 Set Parameterized Matching via Multi-Layer Hashing
abstract
We study the set parameterized matching problem, a generalization of the classical parameterized matching problem introduced by Baker [Baker, 1993; Baker, 1997]. In set parameterized matching, both the pattern and text are sequences where each position contains a set of characters rather than a single character. Two set-strings parameterized match if there exists a bijection between their alphabets that maps one to the other set-wise. Boussidan [Aaron Boussidan, 2025] introduced this problem for the case of equal-length set-strings. We present a randomized algorithm running in O(N + M) time with high probability, where N is the text size and M is the pattern size. Our approach employs a novel three-layer hashing scheme based on Karp-Rabin fingerprinting that addresses the challenges of (1) the size blowup in representations of the problem, (2) set-to-set matching, and (3) the dynamic nature of encodings of text substrings during pattern scanning.
Moshe Lewenstein, Ely Porat
CPM2
2025 Monitoring Distributed Systems Based on Partial Order Executions with Global States
Moran Omer, Doron A. Peled, Ely Porat, Vijay K. Garg
RV3
2025 Longest Common Subsequence in K-Length Substrings for Run-Length Encoded Strings
B. Riva Shalom, Eitan Kondratovsky, Ely Porat
SPIRE3
2025 Locally Consistent Parsing for Text Indexing in Small Space
abstract
Abstract. We consider two closely related problems of text indexing in a sublinear working space. The first problem is the sparse suffix tree construction, where a text [Formula: see text] is given in read-only memory, along with a set of suffixes [Formula: see text], and the goal is to construct the compressed trie of all these suffixes ordered lexicographically, using only [Formula: see text] words of space. The second problem is the longest common extension problem, where again a text [Formula: see text] of length [Formula: see text] is given in read-only memory with some trade-off parameter [Formula: see text], and the goal is to construct a data structure that uses [Formula: see text] words of space and can compute for any pair of suffixes their longest common prefix length as fast as possible as a function of [Formula: see text] ([Formula: see text] time for a randomized Las Vegas data structure or [Formula: see text] time for a deterministic data structure). We show how to use ideas based on the locally consistent parsing technique, that were introduced by Sahinalp and Vishkin [ Proceedings of the 26 th Annual ACM Symposium on Theory of Computing, 1994, pp. 300–309 ], in some nontrivial ways in order to improve the known results for the above problems under the space constraints. We introduce the first almost-linear, [Formula: see text], deterministic construction for both problems, where all previous algorithms take at least [Formula: see text] time. We also introduce the first linear-time Las Vegas algorithms for both problems, achieving [Formula: see text] construction time with high probability. This is an improvement over the last result of Gawrychowski and Kociumaka [ Proceedings of the 28 th Annual ACM-SIAM Symposium on Discrete Algorithms, 2017, pp. 425–439 ], which obtained [Formula: see text] time for the Monte Carlo algorithm and [Formula: see text] time with high probability for the Las Vegas algorithm.
Or Birenzwige, Shay Golan 0001, Ely Porat
SIAM J. Comput.3
2025 Partial permutations comparison, maintenance and applications
abstract
This paper studies partial permutations and their use in algorithmic tasks. A partial permutation over Σ is a bijection π p a r : Σ 1 ↦ Σ 2 mapping a subset Σ 1 ⊂ Σ to a subset Σ 2 ⊂ Σ , where | Σ 1 | = | Σ 2 | ( | Σ | denotes the size of a set Σ). Intuitively, two partial permutations agree if their mapping pairs do not form conflicts . We formally define this notion enabling a consistent as well as informatively rich comparison between partial permutations. We define the Partial Permutations Agreement problem (PPA), as follows. Given two sets A 1 , A 2 of partial permutations over alphabet Σ, each of size n , output a pair ( π i , π j ) , where π i ∈ A 1 , π j ∈ A 2 and π i agrees with π j , if exists. We study the existence of a data structure for efficiently maintaining a dynamic set of partial permutations enabling to retrieve agreement of partial permutations giving both negative and positive results. As applications we point out: (1) fruitful/futile methods for efficient genes sequences comparison in database, (2) an automatic color transformation data augmentation technique for image processing through neural networks, (3) negatively answer a recently posed open question on the strict parameterized dictionary matching with one gap (PDMOG) problem over general dictionary alphabets.
Avivit Levy, Ely Porat, B. Riva Shalom
Theor. Comput. Sci.2
2024 Removing the log Factor from (min, +)-Products on Bounded Range Integer Matrices
abstract
The main contribution of this paper is a new improved variant of the laser method for designing matrix multiplication algorithms. Building upon the recent techniques of [Duan, Wu, Zhou, FOCS 2023], the new method introduces several new ingredients that not only yield an improved bound on the matrix multiplication exponent $ω$, but also improve the known bounds on rectangular matrix multiplication by [Le Gall and Urrutia, SODA 2018]. In particular, the new bound on $ω$ is $ω\le 2.371552$ (improved from $ω\le 2.371866$). For the dual matrix multiplication exponent $α$ defined as the largest $α$ for which $ω(1,α,1)=2$, we obtain the improvement $α\ge 0.321334$ (improved from $α\ge 0.31389$). Similar improvements are obtained for various other exponents for multiplying rectangular matrices.
Dvir Fried, Tsvi Kopelowitz, Ely Porat
ESA3
2024 Burst Edit Distance
Itai Boneh, Shay Golan 0001, Avivit Levy, Ely Porat, B. Riva Shalom
SPIRE4
2024 An Improved Algorithm for The k-Dyck Edit Distance Problem
abstract
A Dyck sequence is a sequence of opening and closing parentheses (of various types) that is balanced. The Dyck edit distance of a given sequence of parentheses S is the smallest number of edit operations (insertions, deletions, and substitutions) needed to transform S into a Dyck sequence. We consider the threshold Dyck edit distance problem, where the input is a sequence of parentheses S and a positive integer k , and the goal is to compute the Dyck edit distance of S only if the distance is at most k , and otherwise report that the distance is larger than k . Backurs and Onak [PODS’16] showed that the threshold Dyck edit distance problem can be solved in O ( n + k 16 ) time. In this work, we design new algorithms for the threshold Dyck edit distance problem which costs O ( n + k 4.544184 ) time with high probability or O ( n + k 4.853059 ) deterministically. Our algorithms combine several new structural properties of the Dyck edit distance problem, a refined algorithm for fast (min, +) matrix product, and a careful modification of ideas used in Valiant’s parsing algorithm.
Dvir Fried, Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat, Tatiana Starikovskaya
ACM Trans. Algorithms5
2023 String Factorization via Prefix Free Families
Matan Kraus, Moshe Lewenstein, Alexandru Popa 0001, Ely Porat, Yonathan Sadia
CPM4
2022 Partial Permutations Comparison, Maintenance and Applications
abstract
This paper focuses on the concept of partial permutations and their use in algorithmic tasks. A partial permutation over Σ is a bijection π_{par}: Σ₁↦Σ₂ mapping a subset Σ₁ ⊂ Σ to a subset Σ₂ ⊂ Σ, where |Σ₁| = |Σ₂| (|Σ| denotes the size of a set Σ). Intuitively, two partial permutations agree if their mapping pairs do not form conflicts. This notion, which is formally defined in this paper, enables a consistent as well as informatively rich comparison between partial permutations. We formalize the Partial Permutations Agreement problem (PPA), as follows. Given two sets A₁, A₂ of partial permutations over alphabet Σ, each of size n, output all pairs (π_i, π_j), where π_i ∈ A₁, π_j ∈ A₂ and π_i agrees with π_j. The possibility of having a data structure for efficiently maintaining a dynamic set of partial permutations enabling to retrieve agreement of partial permutations is then studied, giving both negative and positive results. Applying our study enables to point out fruitful versus futile methods for efficient genes sequences comparison in database or automatic color transformation data augmentation technique for image processing through neural networks. It also shows that an efficient solution of strict Parameterized Dictionary Matching with One Gap (PDMOG) over general dictionary alphabets is not likely, unless the Strong Exponential Time Hypothesis (SETH) fails, thus negatively answering an open question posed lately.
Avivit Levy, Ely Porat, B. Riva Shalom
CPM2
2022 An Improved Algorithm for The k-Dyck Edit Distance Problem
abstract
A Dyck sequence is a sequence of opening and closing parentheses (of various types) that is balanced. The Dyck edit distance of a given sequence of parentheses S is the smallest number of edit operations (insertions, deletions, and substitutions) needed to transform S into a Dyck sequence. We consider the threshold Dyck edit distance problem, where the input is a sequence of parentheses S and a positive integer k, and the goal is to compute the Dyck edit distance of S only if the distance is at most k, and otherwise report that the distance is larger than k. Backurs and Onak [PODS'16] showed that the threshold Dyck edit distance problem can be solved in O(n + k16) time. In this work, we design new algorithms for the threshold Dyck edit distance problem which costs O(n + k4.782036) time with high probability or O(n + k4.853059) deterministically. Our algorithms combine several new structural properties of the Dyck edit distance problem, a refined algorithm for fast (min, +) matrix product, and a careful modification of ideas used in Valiant's parsing algorithm.
Dvir Fried, Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat, Tatiana Starikovskaya
SODA5
2021 Incremental Edge Orientation in Forests
abstract
First introduced in 1954, linear probing is one of the oldest data structures in computer science, and due to its unrivaled data locality, it continues to be one of the fastest hash tables in practice. It is widely believed and taught, however, that linear probing should never be used at high load factors; this is because primary-clustering effects cause insertions at load factor $1 - 1 /x$ to take expected time $Θ(x^2)$ (rather than the ideal $Θ(x)$). The dangers of primary clustering, first discovered by Knuth in 1963, have been taught to generations of computer scientists, and have influenced the design of some of many widely used hash tables. We show that primary clustering is not a foregone conclusion. We demonstrate that small design decisions in how deletions are implemented have dramatic effects on the asymptotic performance of insertions, so that, even if a hash table operates continuously at a load factor $1 - Θ(1/x)$, the expected amortized cost per operation is $\tilde{O}(x)$. This is because tombstones created by deletions actually cause an anti-clustering effect that combats primary clustering. We also present a new variant of linear probing (which we call graveyard hashing) that completely eliminates primary clustering on \emph{any} sequence of operations: if, when an operation is performed, the current load factor is $1 - 1/x$ for some $x$, then the expected cost of the operation is $O(x)$. One corollary is that, in the external-memory model with a data blocks of size $B$, graveyard hashing offers the following remarkable guarantee: at any load factor $1 - 1/x$ satisfying $x = o(B)$, graveyard hashing achieves $1 + o(1)$ expected block transfers per operation. Past external-memory hash tables have only been able to offer a $1 + o(1)$ guarantee when the block size $B$ is at least $Ω(x^2)$.
Michael A. Bender, Tsvi Kopelowitz, William Kuszmaul, Ely Porat, Clifford Stein 0001
ESA4
2021 Small-space and streaming pattern matching with $k$ edits
abstract
In this work, we revisit the fundamental and well-studied problem of approximate pattern matching under edit distance. Given an integer$k$, a pattern$P$of length$m$, and a text$T$of length$n\geq m$, the task is to find substrings of$T$that are within edit distance$k$from$P$. Our main result is a streaming algorithm that solves the problem in$\tilde{\mathcal{O}}(k^{5})$space11Hereafter,$\tilde{\mathcal{O}}(\cdot)$hides a$\text{poly} (\log n)$factor. and$\tilde{\mathcal{O}}(k^{8})$amortized time per character of the text, providing answers correct with high probability. This answers a decade-old question: since the discovery of a poly ($k\ \text{log}\ n$) -space streaming algorithm for pattern matching under Hamming distance by Porat and Porat [FOCS 2009], the existence of an analogous result for edit distance remained open. Up to this work, no poly ($k\ \text{log}\ n$)-space algorithm was known even in the simpler semi-streaming model, where$T$comes as a stream but$P$is available for read-only access. In this model, we give a deterministic algorithm that achieves slightly better complexity. Our central technical contribution is a new space-efficient deterministic encoding of two strings, called the greedy encoding, which encodes a set of all alignments of cost at most$k$with a certain property (we call such alignments greedy). On strings of length at most$n$, the encoding occupies$\tilde{\mathcal{O}}(k^{2})$space. We use the encoding to compress substrings of the text that are close to the pattern. In order to do so, we compute the encoding for substrings of the text and of the pattern, which requires read-only access to the latter. In order to develop the fully streaming algorithm, we further introduce a new edit distance sketch parameterized by integers$n > k$. For any string of length at most$n$, the sketch is of size$\tilde{\mathcal{O}}\overline{(k}^{2})$, and it can be computed with an$\tilde{\mathcal{O}}(k^{2})$-space streaming algorithm. Given the sketches of two strings, in$\tilde{\mathcal{O}}(k^{3})$time we can compute their edit distance or certify that it is larger than$k$. This result improves upon$\tilde{\mathcal{O}}(k^{8})$-size sketches of Belazzougui and Zhang [FOCS 2016] and very recent$\tilde{\mathcal{O}}(k^{3})$-size sketches of Jin, Nelson, and Wu [STACS 2021].
Tomasz Kociumaka, Ely Porat, Tatiana Starikovskaya
FOCS2
2021 Support Optimality and Adaptive Cuckoo Filters
Tsvi Kopelowitz, Samuel McCauley, Ely Porat
WADS3
2021 Avoiding Flow Size Overestimation in Count-Min Sketch With Bloom Filter Constructions
abstract
The Count-Min sketch is the most popular data structure for flow size estimation, a basic measurement task required in many networks. Typically the number of potential flows is large, eliminating the possibility to maintain a counter per flow within memory of high access rate. The Count-Min sketch is probabilistic and relies on mapping each flow to multiple counters through hashing. This implies potential estimation error such that the size of a flow is overestimated when all flow counters are shared with other flows with observed traffic. Although the error in the estimation can be probabilistically bounded, many applications can benefit from accurate flow size estimation and the guarantee to completely avoid overestimation. We describe a design of the Count-Min sketch with accurate estimations whenever the number of flows with observed traffic follows a known bound, regardless of the identity of these particular flows. We make use of a concept of Bloom filters that avoid false positives and indicate the limitations of existing Bloom filter designs towards accurate size estimation. We suggest new Bloom filter constructions that allow scalability with the support for a larger number of flows and explain how these can imply the unique guarantee of accurate flow size estimation in the well known Count-Min sketch.
Ori Rottenstreich, Pedro Reviriego, Ely Porat, S. Muthukrishnan 0001
IEEE Trans. Netw. Serv. Manag.3
2020 Improved Circular k-Mismatch Sketches
abstract
The shift distance $\mathsf{sh}(S_1,S_2)$ between two strings $S_1$ and $S_2$ of the same length is defined as the minimum Hamming distance between $S_1$ and any rotation (cyclic shift) of $S_2$. We study the problem of sketching the shift distance, which is the following communication complexity problem: Strings $S_1$ and $S_2$ of length $n$ are given to two identical players (encoders), who independently compute sketches (summaries) $\mathtt{sk}(S_1)$ and $\mathtt{sk}(S_2)$, respectively, so that upon receiving the two sketches, a third player (decoder) is able to compute (or approximate) $\mathsf{sh}(S_1,S_2)$ with high probability. This paper primarily focuses on the more general $k$-mismatch version of the problem, where the decoder is allowed to declare a failure if $\mathsf{sh}(S_1,S_2)>k$, where $k$ is a parameter known to all parties. Andoni et al. (STOC'13) introduced exact circular $k$-mismatch sketches of size $\widetilde{O}(k+D(n))$, where $D(n)$ is the number of divisors of $n$. Andoni et al. also showed that their sketch size is optimal in the class of linear homomorphic sketches. We circumvent this lower bound by designing a (non-linear) exact circular $k$-mismatch sketch of size $\widetilde{O}(k)$; this size matches communication-complexity lower bounds. We also design $(1\pm \varepsilon)$-approximate circular $k$-mismatch sketch of size $\widetilde{O}(\min(\varepsilon^{-2}\sqrt{k}, \varepsilon^{-1.5}\sqrt{n}))$, which improves upon an $\widetilde{O}(\varepsilon^{-2}\sqrt{n})$-size sketch of Crouch and McGregor (APPROX'11).
Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat, Przemyslaw Uznanski
APPROX-RANDOM4
2020 The Streaming k-Mismatch Problem: Tradeoffs Between Space and Total Time
abstract
We revisit the k-mismatch problem in the streaming model on a pattern of length m and a streaming text of length n, both over a size-σ alphabet. The current state-of-the-art algorithm for the streaming k-mismatch problem, by Clifford et al. [SODA 2019], uses Õ(k) space and Õ(√k) worst-case time per character. The space complexity is known to be (unconditionally) optimal, and the worst-case time per character matches a conditional lower bound. However, there is a gap between the total time cost of the algorithm, which is Õ(n√k), and the fastest known offline algorithm, which costs Õ(n + min(nk/√m, σn)) time. Moreover, it is not known whether improvements over the Õ(n√k) total time are possible when using more than O(k) space. We address these gaps by designing a randomized streaming algorithm for the k-mismatch problem that, given an integer parameter k≤s≤m, uses Õ(s) space and costs Õ(n+min(nk²/m, nk/√s, σnm/s)) total time. For s=m, the total runtime becomes Õ(n + min(nk/√m, σn)), which matches the time cost of the fastest offline algorithm. Moreover, the worst-case time cost per character is still Õ(√k).
Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat
CPM4
2020 An O(log3/2 n) Parallel Time Population Protocol for Majority with O(log n) States
abstract
In population protocols, the underlying distributed network consists of n nodes (or agents), denoted by V, and a scheduler that continuously selects uniformly random pairs of nodes to interact. When two nodes interact, their states are updated by applying a state transition function that depends only on the states of the two nodes prior to the interaction. The efficiency of a population protocol is measured in terms of both time (which is the number of interactions until the nodes collectively have a valid output) and the number of possible states of nodes used by the protocol. By convention, we consider the parallel time cost, which is the time divided by n.
Stav Ben-Nun, Tsvi Kopelowitz, Matan Kraus, Ely Porat
PODC4
2020 Locally Consistent Parsing for Text Indexing in Small Space
abstract
We consider two closely related problems of text indexing in a sub-linear working space. The first problem is the Sparse Suffix Tree (SST) construction, where a text S is given in read-only memory, along with a set of suffixes B, and the goal is to construct the compressed trie of all these suffixes ordered lexicographically, using only (|B|) words of space. The second problem is the Longest Common Extension (LCE) problem, where again a text S of length n is given in read-only memory with some parameter 1 ≤ τ n, and the goal is to construct a data structure that uses words of space and can compute for any pair of suffixes their longest common prefix length. We show how to use ideas based on the Locally Consistent Parsing technique, that were introduced by Sahinalp and Vishkin [44], in some nontrivial ways in order to improve the known results for the above problems. We introduce new Las-Vegas and deterministic algorithms for both problems. For the randomized algorithms, we introduce the first Las-Vegas SST construction algorithm that takes (n) time. This is an improvement over the last result of Gawrychowski and Kociumaka [22] who obtained (n) time for Monte Carlo algorithm, and time with hight probability for Las-Vegas algorithm. In addition, we introduce a randomized Las-Vegas construction for a data structure that uses words of space, can be constructed in linear time with high probability and answers LCE queries in (τ) time. For the deterministic algorithms, we introduce an SST construction algorithm that takes time (for |B| = Ω(log n)). This is the first almost linear time, (n · polylog n), deterministic SST construction algorithm, where all previous algorithms take at least time. For the LCE problem, we introduce a data structure that uses words of space and answers LCE queries in time, with (n log τ) construction time (for ). This data structure improves both query time and construction time upon the results of Tanimura et al. [47].
Or Birenzwige, Shay Golan 0001, Ely Porat
SODA3
2020 Approximating text-to-pattern Hamming distances
abstract
We revisit a fundamental problem in string matching: given a pattern of length m and a text of length n, both over an alphabet of size σ, compute the Hamming distance (i.e., the number of mismatches) between the pattern and the text at every location. Several randomized (1+ε)-approximation algorithms have been proposed in the literature (e.g., by Karloff (Inf. Proc. Lett., 1993), Indyk (FOCS 1998), and Kopelowitz and Porat (SOSA 2018)), with running time of the form O(ε−O(1) nlognlogm), all using fast Fourier transform (FFT). We describe a simple randomized (1+ε)-approximation algorithm that is faster and does not need FFT. Combining our approach with additional ideas leads to numerous new results (all Monte-Carlo randomized) in different settings:
Timothy M. Chan, Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat
STOC5
2020 Online recognition of dictionary with one gap
Amihood Amir, Avivit Levy, Ely Porat, B. Riva Shalom
Inf. Comput.3
2019 On the Hardness of Set Disjointness and Set Intersection with Bounded Universe
abstract
In the SetDisjointness problem, a collection of $m$ sets $S_1,S_2,...,S_m$ from some universe $U$ is preprocessed in order to answer queries on the emptiness of the intersection of some two query sets from the collection. In the SetIntersection variant, all the elements in the intersection of the query sets are required to be reported. These are two fundamental problems that were considered in several papers from both the upper bound and lower bound perspective. Several conditional lower bounds for these problems were proven for the tradeoff between preprocessing and query time or the tradeoff between space and query time. Moreover, there are several unconditional hardness results for these problems in some specific computational models. The fundamental nature of the SetDisjointness and SetIntersection problems makes them useful for proving the conditional hardness of other problems from various areas. However, the universe of the elements in the sets may be very large, which may cause the reduction to some other problems to be inefficient and therefore it is not useful for proving their conditional hardness. In this paper, we prove the conditional hardness of SetDisjointness and SetIntersection with bounded universe. This conditional hardness is shown for both the interplay between preprocessing and query time and the interplay between space and query time. Moreover, we present several applications of these new conditional lower bounds. These applications demonstrates the strength of our new conditional lower bounds as they exploit the limited universe size. We believe that this new framework of conditional lower bounds with bounded universe can be useful for further significant applications.
Isaac Goldstein, Moshe Lewenstein, Ely Porat
ISAAC3
2019 The streaming k-mismatch problem
abstract
We consider the streaming complexity of a fundamental task in approximate pattern matching: the k-mismatch problem. In this problem, we must compute Hamming distances between a pattern of length n and all length-n substrings of a text for which the Hamming distance does not exceed a given threshold k. In our problem formulation, we report not only the Hamming distance but also, on demand, the full mismatch information, that is the list of mismatched pairs of symbols and their indices. The twin challenges of streaming pattern matching derive from the need both to achieve small working space and also to guarantee that every arriving input symbol is processed quickly. We present a streaming algorithm for the k-mismatch problem which uses bits of space and spends time on each symbol of the input stream. In our formulation, the pattern is also in the stream, arriving directly before the text. The running time almost matches the classic offline solution [5] and the space usage is within a logarithmic factor of optimal. Our new algorithm therefore effectively resolves and also extends a problem first introduced in FOCS’09 [38]. En route to this solution, we also give a deterministic -bit encoding of all the alignments with Hamming distance at most k of a length-n pattern within a text of length O(n). This secondary result provides an optimal solution to a natural encoding problem which may be of independent interest.
Raphaël Clifford, Tomasz Kociumaka, Ely Porat
SODA3
2019 Dynamic Dictionary Matching in the Online Model
Shay Golan 0001, Tomasz Kociumaka, Tsvi Kopelowitz, Ely Porat
WADS4
2019 Mind the Gap! - Online Dictionary Matching with One Gap
Amihood Amir, Tsvi Kopelowitz, Avivit Levy, Seth Pettie, Ely Porat, B. Riva Shalom
Algorithmica5
2019 Streaming Pattern Matching with d Wildcards
Shay Golan 0001, Tsvi Kopelowitz, Ely Porat
Algorithmica3
2019 Approximate cover of strings
abstract
Regularities in strings arise in various areas of science, including coding and automata theory, formal language theory, combinatorics, molecular biology and many others. A common notion to describe regularity in a string T is a cover, which is a string C for which every letter of T lies within some occurrence of C. The alignment of the cover repetitions in the given text is called a tiling. In many applications finding exact repetitions is not sufficient, due to the presence of errors. In this paper, we use a new approach for handling errors in coverable phenomena and define the approximate cover problem (ACP), in which we are given a text that is a sequence of some cover repetitions with possible mismatch errors, and we seek a string that covers the text with the minimum number of errors. We first show that the ACP is NP-hard, by studying the cover-length relaxation of the ACP, in which the requested length of the approximate cover is also given with the input string. We show that this relaxation is already NP-hard. We also study another two relaxations of the ACP, which we call the partial-tiling relaxation of the ACP and the full-tiling relaxation of the ACP, in which a tiling of the requested cover is also given with the input string. A given full tiling retains all the occurrences of the cover before the errors, while in a partial tiling there can be additional occurrences of the cover that are not marked by the tiling. We show that the partial-tiling relaxation has a polynomial time complexity and give experimental evidence that the full-tiling also has polynomial time complexity. The study of these relaxations, besides shedding another light on the complexity of the ACP, also involves a deep understanding of the properties of covers, yielding some key lemmas and observations that may be helpful for a future study of regularities in the presence of errors.
Amihood Amir, Avivit Levy, Ronit Lubin, Ely Porat
Theor. Comput. Sci.4
2018 Quasi-Periodicity Under Mismatch Errors
abstract
Tracing regularities plays a key role in data analysis for various areas of science, including coding and automata theory, formal language theory, combinatorics, molecular biology and many others. Part of the scientific process is understanding and explaining these regularities. A common notion to describe regularity in a string T is a cover or quasi-period, which is a string C for which every letter of T lies within some occurrence of C. In many applications finding exact repetitions is not sufficient, due to the presence of errors. In this paper we initiate the study of quasi-periodicity persistence under mismatch errors, and our goal is to characterize situations where a given quasi-periodic string remains quasi-periodic even after substitution errors have been introduced to the string. Our study results in proving necessary conditions as well as a theorem stating sufficient conditions for quasi-periodicity persistence. As an application, we are able to close the gap in understanding the complexity of Approximate Cover Problem (ACP) relaxations studied by [Amir 2017a, Amir 2017b] and solve an open question.
Amihood Amir, Avivit Levy, Ely Porat
CPM3
2018 Improved Space-Time Tradeoffs for kSUM
abstract
In the kSUM problem we are given an array of numbers $a_1,a_2,...,a_n$ and we are required to determine if there are $k$ different elements in this array such that their sum is 0. This problem is a parameterized version of the well-studied SUBSET-SUM problem, and a special case is the 3SUM problem that is extensively used for proving conditional hardness. Several works investigated the interplay between time and space in the context of SUBSET-SUM. Recently, improved time-space tradeoffs were proven for kSUM using both randomized and deterministic algorithms. In this paper we obtain an improvement over the best known results for the time-space tradeoff for kSUM. A major ingredient in achieving these results is a general self-reduction from kSUM to mSUM where $m1$. (iv) An algorithm for 6SUM running in $O(n^4)$ time using just $O(n^{2/3})$ space. (v) A solution to 3SUM on random input using $O(n^2)$ time and $O(n^{1/3})$ space, under the assumption of a random read-only access to random bits.
Isaac Goldstein, Moshe Lewenstein, Ely Porat
ESA3
2018 Towards Optimal Approximate Streaming Pattern Matching by Matching Multiple Patterns in Multiple Streams
abstract
Recently, there has been a growing focus in solving approximate pattern matching problems in the streaming model. Of particular interest are the pattern matching with k-mismatches (KMM) problem and the pattern matching with w-wildcards (PMWC) problem. Motivated by reductions from these problems in the streaming model to the dictionary matching problem, this paper focuses on designing algorithms for the dictionary matching problem in the multi-stream model where there are several independent streams of data (as opposed to just one in the streaming model), and the memory complexity of an algorithm is expressed using two quantities: (1) a read-only shared memory storage area which is shared among all the streams, and (2) local stream memory that each stream stores separately. In the dictionary matching problem in the multi-stream model the goal is to preprocess a dictionary D={P_1,P_2,...,P_d} of d=|D| patterns (strings with maximum length m over alphabet Sigma) into a data structure stored in shared memory, so that given multiple independent streaming texts (where characters arrive one at a time) the algorithm reports occurrences of patterns from D in each one of the texts as soon as they appear. We design two efficient algorithms for the dictionary matching problem in the multi-stream model. The first algorithm works when all the patterns in D have the same length m and costs O(d log m) words in shared memory, O(log m log d) words in stream memory, and O(log m) time per character. The second algorithm works for general D, but the time cost per character becomes O(log m+log d log log d). We also demonstrate the usefulness of our first algorithm in solving both the KMM problem and PMWC problem in the streaming model. In particular, we obtain the first almost optimal (up to poly-log factors) algorithm for the PMWC problem in the streaming model. We also design a new algorithm for the KMM problem in the streaming model that, up to poly-log factors, has the same bounds as the most recent results that use different techniques. Moreover, for most inputs, our algorithm for KMM is significantly faster on average.
Shay Golan 0001, Tsvi Kopelowitz, Ely Porat
ICALP3
2018 Improved Worst-Case Deterministic Parallel Dynamic Minimum Spanning Forest
abstract
This paper gives a new deterministic algorithm for the dynamic Minimum Spanning Forest (MSF) problem in the EREW PRAM model, where the goal is to maintain a MSF of a weighted graph with n vertices and m edges while supporting edge insertions and deletions. We show that one can solve the dynamic MSF problem using $O(\sqrt n)$ processors and $O(łog n)$ worst-case update time, for a total of $O(\sqrt n łog n)$ work. This improves on the work of Ferragina [IPPS 1995] which costs $O(łog n)$ worst-case update time and $O(n^2/3 łog\fracm n )$ work.
Tsvi Kopelowitz, Ely Porat, Yair Rosenmutter
SPAA2
2018 Worst-case Optimal Join Algorithms
Hung Q. Ngo 0001, Ely Porat, Christopher Ré, Atri Rudra
J. ACM2
2017 Approximate Cover of Strings
Amihood Amir, Avivit Levy, Ronit Lubin, Ely Porat
CPM4
2017 Real-Time Streaming Multi-Pattern Search for Constant Alphabet
abstract
In the streaming multi-pattern search problem, which is also known as the streaming dictionary matching problem, a set D={P_1,P_2, . . . ,P_d} of d patterns (strings over an alphabet Sigma), called the dictionary, is given to be preprocessed. Then, a text T arrives one character at a time and the goal is to report, before the next character arrives, the longest pattern in the dictionary that is a current suffix of T. We prove that for a constant size alphabet, there exists a randomized Monte-Carlo algorithm for the streaming dictionary matching problem that takes constant time per character and uses O(d log m) words of space, where m is the length of the longest pattern in the dictionary. In the case where the alphabet size is not constant, we introduce two new randomized Monte-Carlo algorithms with the following complexities: * O(log log |Sigma|) time per character in the worst case and O(d log m) words of space. * O(1/epsilon) time per character in the worst case and O(d |\Sigma|^epsilon log m/epsilon) words of space for any 0<epsilon<= 1. These results improve upon the algorithm of [Clifford et al., ESA'15] which uses O(d log m) words of space and takes O(log log (m+d)) time per character.
Shay Golan 0001, Ely Porat
ESA2
2017 Simultaneously Load Balancing for Every p-norm, With Reassignments
abstract
This paper investigates the task of load balancing where the objective function is to minimize the p-norm of loads, for p\geq 1, in both static and incremental settings. We consider two closely related load balancing problems. In the bipartite matching problem we are given a bipartite graph G=(C\cup S, E) and the goal is to assign each client c\in C to a server s\in S so that the p-norm of assignment loads on S is minimized. In the graph orientation problem the goal is to orient (direct) the edges of a given undirected graph while minimizing the p-norm of the out-degrees. The graph orientation problem is a special case of the bipartite matching problem, but less complex, which leads to simpler algorithms. For the graph orientation problem we show that the celebrated Chiba-Nishizeki peeling algorithm provides a simple linear time load balancing scheme whose output is an orientation that is 2-competitive, in a p-norm sense, for all p\geq 1. For the bipartite matching problem we first provide an offline algorithm that computes an optimal assignment. We then extend this solution to the online bipartite matching problem with reassignments, where vertices from C arrive in an online fashion together with their corresponding edges, and we are allowed to reassign an amortized O(1) vertices from C each time a new vertex arrives. In this online scenario we show how to maintain a single assignment that is 8-competitive, in a p-norm sense, for all p\geq 1.
Aaron Bernstein, Tsvi Kopelowitz, Seth Pettie, Ely Porat, Clifford Stein 0001
ITCS4
2017 Orthogonal Vectors Indexing
abstract
In the recent years, intensive research work has been dedicated to prove conditional lower bounds in order to reveal the inner structure of the class P. These conditional lower bounds are based on many popular conjectures on well-studied problems. One of the most heavily used conjectures is the celebrated Strong Exponential Time Hypothesis (SETH). It turns out that conditional hardness proved based on SETH goes, in many cases, through an intermediate problem - the Orthogonal Vectors (OV) problem. Almost all research work regarding conditional lower bound was concentrated on time complexity. Very little attention was directed toward space complexity. In a recent work, Goldstein et al.[WADS '17] set the stage for proving conditional lower bounds regarding space and its interplay with time. In this spirit, it is tempting to investigate the space complexity of a data structure variant of OV which is called OV indexing. In this problem n boolean vectors of size clogn are given for preprocessing. As a query, a vector v is given and we are required to verify if there is an input vector that is orthogonal to it or not. This OV indexing problem is interesting in its own, but it also likely to have strong implications on problems known to be conditionally hard, in terms of time complexity, based on OV. Having this in mind, we study OV indexing in this paper from many aspects. We give some space-efficient algorithms for the problem, show a tradeoff between space and query time, describe how to solve its reporting variant, shed light on an interesting connection between this problem and the well-studied SetDisjointness problem and demonstrate how it can be solved more efficiently on random input.
Isaac Goldstein, Moshe Lewenstein, Ely Porat
ISAAC3
2017 Conditional Lower Bounds for Space/Time Tradeoffs
Isaac Goldstein, Tsvi Kopelowitz, Moshe Lewenstein, Ely Porat
WADS4
2017 A Grouping Approach for Succinct Dynamic Dictionary Matching
Guy Feigenblat, Ely Porat, Ariel Shiftan
Algorithmica2
2017 Erratum to: A Grouping Approach for Succinct Dynamic Dictionary Matching
Guy Feigenblat, Ely Porat, Ariel Shiftan
Algorithmica2
2017 d-k-min-wise independent family of hash functions
Guy Feigenblat, Ely Porat, Ariel Shiftan
J. Comput. Syst. Sci.2
2017 For-All Sparse Recovery in Near-Optimal Time
abstract
An approximate sparse recovery system in ℓ 1 norm consists of parameters k , ϵ, N ; an m -by- N measurement Φ; and a recovery algorithm R . Given a vector, x , the system approximates x by xˆ = R (Φ x ), which must satisfy ‖ xˆ- x ‖ 1 ≤ (1+ϵ)‖ x - x k ‖ 1 . We consider the “for all” model, in which a single matrix Φ, possibly “constructed” non-explicitly using the probabilistic method, is used for all signals x . The best existing sublinear algorithm by Porat and Strauss [2012] uses O (ϵ −3 k log ( N / k )) measurements and runs in time O ( k 1 − α N α ) for any constant α > 0. In this article, we improve the number of measurements to O (ϵ − 2 k log ( N / k )), matching the best existing upper bound (attained by super-linear algorithms), and the runtime to O ( k 1+β poly(log N ,1/ϵ)), with a modest restriction that k ⩽ N 1 − α and ϵ ⩽ (log k /log N ) γ for any constants α, β, γ > 0. When k ⩽ log c N for some c > 0, the runtime is reduced to O ( k poly( N ,1/ϵ)). With no restrictions on ϵ, we have an approximation recovery system with m = O ( k /ϵlog ( N / k )((log N /log k ) γ + 1/ϵ)) measurements. The overall architecture of this algorithm is similar to that of Porat and Strauss [2012] in that we repeatedly use a weak recovery system (with varying parameters) to obtain a top-level recovery algorithm. The weak recovery system consists of a two-layer hashing procedure (or with two unbalanced expanders for a deterministic algorithm). The algorithmic innovation is a novel encoding procedure that is reminiscent of network coding and that reflects the structure of the hashing stages. The idea is to encode the signal position index i by associating it with a unique message m i , which will be encoded to a longer message m ′ i (in contrast to Porat and Strauss [2012] in which the encoding is simply the identity). Portions of the message m ′ i correspond to repetitions of the hashing, and we use a regular expander graph to encode the linkages among these portions. The decoding or recovery algorithm consists of recovering the portions of the longer messages m ′ i and then decoding to the original messages m i , all the while ensuring that corruptions can be detected and/or corrected. The recovery algorithm is similar to list recovery introduced in Indyk et al. [2010] and used in Gilbert et al. [2013]. In our algorithm, the messages { m i } are independent of the hashing, which enables us to obtain a better result.
Anna Gilbert 0001, Yi Li 0002, Ely Porat, Martin Strauss 0001
ACM Trans. Algorithms3
2016 Succinct Online Dictionary Matching with Improved Worst-Case Guarantees
abstract
In the online dictionary matching problem the goal is to preprocess a set of patterns D={P_1,...,P_d} over alphabet Sigma, so that given an online text (one character at a time) we report all of the occurrences of patterns that are a suffix of the current text before the following character arrives. We introduce a succinct Aho-Corasick like data structure for the online dictionary matching problem. Our solution uses a new succinct representation for multi-labeled trees, in which each node has a set of labels from a universe of size lambda. We consider lowest labeled ancestor (LLA) queries on multi-labeled trees, where given a node and a label we return the lowest proper ancestor of the node that has the queried label. In this paper we introduce a succinct representation of multi-labeled trees for lambda=omega(1) that support LLA queries in O(log(log(lambda))) time. Using this representation of multi-labeled trees, we introduce a succinct data structure for the online dictionary matching problem when sigma=omega(1). In this solution the worst case cost per character is O(log(log(sigma)) + occ) time, where occ is the size of the current output. Moreover, the amortized cost per character is O(1+occ) time.
Tsvi Kopelowitz, Ely Porat, Yaron Rozen
CPM2
2016 Linear Time Succinct Indexable Dictionary Construction with Applications
abstract
Indexable dictionaries, supporting rank and select queries, are used as building blocks for many algorithms. For a universe U = {0, ..., |U| - 1} and an ordered set S = {s0, ..., sn-1} ⊆ U, an indexable dictionary supports rank and select queries in addition to membership queries, Select(j) query is used to get the j'th ranked element, and Rank(x) is used to retrieve the rank of x among all elements in S. In this work, we give two time-linear, one-pass practical constructions of static succinct indexable dictionaries, both are deterministic in query time, but they differ by construction method and Rank(x) query time. The first supports Rank and Select queries in constant time and has expected linear construction time. The second supports Select queries in constant time, and Rank(x) queries in O(log log |U|/n) time, has worst-case linear construction time, and uses only o(n) additional bits during construction. The latter one is fully indexable dictionary supporting Rank(x) queries on arbitrary x. These indexable dictionaries can be used where construction bounds matter, as in a dynamic algorithm that uses them as a building block, we exemplify this by showing how to utilize them to improve the query time of a dynamic dictionary matching algorithm.
Guy Feigenblat, Ely Porat, Ariel Shiftan
DCC2
2016 Sublinear Distance Labeling
abstract
A distance labeling scheme labels the n nodes of a graph with binary strings such that, given the labels of any two nodes, one can determine the distance in the graph between the two nodes by looking only at the labels. A D-preserving distance labeling scheme only returns precise distances between pairs of nodes that are at distance at least D from each other. In this paper we consider distance labeling schemes for the classical case of unweighted and undirected graphs. We present a O(n/D * log^2(D)) bit D-preserving distance labeling scheme, improving the previous bound by Bollobás et al. [SIAM J. Discrete Math. 2005]. We also give an almost matching lower bound of Omega(n/D). With our D-preserving distance labeling scheme as a building block, we additionally achieve the following results: 1. We present the first distance labeling scheme of size o(n) for sparse graphs (and hence bounded degree graphs). This addresses an open problem by Gavoille et. al. [J. Algo. 2004], hereby separating the complexity from distance labeling in general graphs which require Omega(n) bits, Moon [Proc. of Glasgow Math. Association 1965]. 2. For approximate r-additive labeling schemes, that return distances within an additive error of r we show a scheme of size O(n/r * polylog(r*log(n))/log(n)) for r >= 2. This improves on the current best bound of O(n/r) by Alstrup et al. [SODA 2016] for sub-polynomial r, and is a generalization of a result by Gawrychowski et al. [arXiv preprint 2015] who showed this for r=2.
Stephen Alstrup, Søren Dahlgaard, Mathias Bæk Tejs Knudsen, Ely Porat
ESA4
2016 Streaming Pattern Matching with d Wildcards
abstract
In the pattern matching with d wildcards problem we are given a text T of length n and a pattern P of length m that contains d wildcard characters, each denoted by a special symbol '?'. A wildcard character matches any other character. The goal is to establish for each m-length substring of T whether it matches P. In the streaming model variant of the pattern matching with d wildcards problem the text T arrives one character at a time and the goal is to report, before the next character arrives, if the last m characters match P while using only o(m) words of space. In this paper we introduce two new algorithms for the d wildcard pattern matching problem in the streaming model. The first is a randomized Monte Carlo algorithm that is parameterized by a constant 0<=delta<=1. This algorithm uses ~O(d^{1-delta}) amortized time per character and ~O(d^{1+delta}) words of space. The second algorithm, which is used as a black box in the first algorithm, is a randomized Monte Carlo algorithm which uses O(d+log m) worst-case time per character and O(d log m) words of space.
Shay Golan 0001, Tsvi Kopelowitz, Ely Porat
ESA3
2016 How Hard is it to Find (Honest) Witnesses?
abstract
In recent years much effort was put into developing polynomial-time conditional lower bounds for algorithms and data structures in both static and dynamic settings. Along these lines we suggest a framework for proving conditional lower bounds based on the well-known 3SUM conjecture. Our framework creates a \emph{compact representation} of an instance of the 3SUM problem using hashing and domain specific encoding. This compact representation admits false solutions to the original 3SUM problem instance which we reveal and eliminate until we find a true solution. In other words, from all \emph{witnesses} (candidate solutions) we figure out if an \emph{honest} one (a true solution) exists. This enumeration of witnesses is used to prove conditional lower bound on \emph{reporting} problems that generate all witnesses. In turn, these reporting problems are reduced to various decision problems. These help to enumerate the witnesses by constructing appropriate search data structures. Hence, 3SUM-hardness of the decision problems is deduced. We utilize this framework to show conditional lower bounds for several variants of convolutions, matrix multiplication and string problems. Our framework uses a strong connection between all of these problems and the ability to find \emph{witnesses}. While these specific applications are used to demonstrate the techniques of our framework, we believe that this novel framework is useful for many other problems as well.
Isaac Goldstein, Tsvi Kopelowitz, Moshe Lewenstein, Ely Porat
ESA4
2016 New Parameterized Algorithms for APSP in Directed Graphs
abstract
All Pairs Shortest Path (APSP) is a classic problem in graph theory. While for general weighted graphs there is no algorithm that computes APSP in O(n^{3-epsilon}) time (epsilon > 0), by using fast matrix multiplication algorithms, we can compute APSP in O(n^{omega}*log(n)) time (omega < 2.373) for undirected unweighted graphs, and in O(n^{2.5302}) time for directed unweighted graphs. In the current state of matters, there is a substantial gap between the upper bounds of the problem for undirected and directed graphs, and for a long time, it is remained an important open question whether it is possible to close this gap. In this paper we introduce a new parameter that measures the symmetry of directed graphs (i.e. their closeness to undirected graphs), and obtain a new parameterized APSP algorithm for directed unweighted graphs, that generalizes Seidel's O(n^{omega}*log(n)) time algorithm for undirected unweighted graphs. Given a directed unweighted graph G, unless it is highly asymmetric, our algorithms can compute APSP in o(n^{2.5}) time for G, providing for such graphs a faster APSP algorithm than the state-of-the-art algorithms for the problem.
Ely Porat, Eduard Shahbazian, Roei Tov
ESA1
2016 Distance Labeling Schemes for Trees
abstract
We study the question of ``how robust are the known lower bounds of labeling schemes when one increases the number of consulted labels''. Let $f$ be a function on pairs of vertices. An $f$-labeling scheme for a family of graphs $\cF$ labels the vertices of all graphs in $\cF$ such that for every graph $G\in\cF$ and every two vertices $u,v\in G$, the value $f(u,v)$ can be inferred by merely inspecting the labels of $u$ and $v$. This paper introduces a natural generalization: the notion of $f$-labeling schemes with queries, in which the value $f(u,v)$ can be inferred by inspecting not only the labels of $u$ and $v$ but possibly the labels of some additional vertices. We show that inspecting the label of a single additional vertex (one {\em query}) enables us to reduce the label size of many labeling schemes significantly.
Stephen Alstrup, Inge Li Gørtz, Esben Bistrup Halvorsen, Ely Porat
ICALP4
2016 Mind the Gap: Essentially Optimal Algorithms for Online Dictionary Matching with One Gap
abstract
We examine the complexity of the online Dictionary Matching with One Gap Problem (DMOG) which is the following. Preprocess a dictionary D of d patterns, where each pattern contains a special gap symbol that can match any string, so that given a text that arrives online, a character at a time, we can report all of the patterns from D that are suffixes of the text that has arrived so far, before the next character arrives. In more general versions the gap symbols are associated with bounds determining the possible lengths of matching strings. Online DMOG captures the difficulty in a bottleneck procedure for cyber-security, as many digital signatures of viruses manifest themselves as patterns with a single gap. In this paper, we demonstrate that the difficulty in obtaining efficient solutions for the DMOG problem, even in the offline setting, can be traced back to the infamous 3SUM conjecture. We show a conditional lower bound of Omega(delta(G_D)+op) time per text character, where G_D is a bipartite graph that captures the structure of D, delta(G_D) is the degeneracy of this graph, and op is the output size. Moreover, we show a conditional lower bound in terms of the magnitude of gaps for the bounded case, thereby showing that some known offline upper bounds are essentially optimal. We also provide matching upper-bounds (up to sub-polynomial factors), in terms of the degeneracy, for the online DMOG problem. In particular, we introduce algorithms whose time cost depends linearly on delta(G_D). Our algorithms make use of graph orientations, together with some additional techniques. These algorithms are of practical interest since although delta(G_D) can be as large as sqrt(d), and even larger if G_D is a multi-graph, it is typically a very small constant in practice. Finally, when delta(G_D) is large we are able to obtain even more efficient solutions.
Amihood Amir, Tsvi Kopelowitz, Avivit Levy, Seth Pettie, Ely Porat, B. Riva Shalom
ISAAC5
2016 The k-mismatch problem revisited
abstract
We revisit the complexity of one of the most basic problems in pattern matching. In the k-mismatch problem we must compute the Hamming distance between a pattern of length m and every m-length substring of a text of length n, as long as that Hamming distance is at most k. Where the Hamming distance is greater than k at some alignment of the pattern and text, we simply output “No”. We study this problem in both the standard offline setting and also as a streaming problem. In the streaming k-mismatch problem the text arrives one symbol at a time and we must give an output before processing any future symbols. Our main results are as follows: Our first result is a deterministic O(nk2 log k/m + n polylog m) time offline algorithm for k-mismatch on a text of length n. This is a factor of k improvement over the fastest previous result of this form from SODA 2000 [9, 10]. We then give a randomised and online algorithm which runs in the same time complexity but requires only O(k2 polylog m) space in total. Next we give a randomised (1 + ∊)-approximation algorithm for the streaming k-mismatch problem which uses O(k2 polylog m/∊2) space and runs in O(polylog m/∊2) worst-case time per arriving symbol. Finally we combine our new results to derive a randomised O(k2 polylog m) space algorithm for the streaming k-mismatch problem which runs in worst-case time per arriving symbol. This improves the best previous space complexity for streaming k-mismatch from FOCS 2009 [26] by a factor of k. We also improve the time complexity of this previous result by an even greater factor to match the fastest known offline algorithm (up to logarithmic factors).
Raphaël Clifford, Allyx Fontaine, Ely Porat, Benjamin Sach, Tatiana Starikovskaya
SODA3
2016 Higher Lower Bounds from the 3SUM Conjecture
abstract
The 3SUM conjecture has proven to be a valuable tool for proving conditional lower bounds on dynamic data structures and graph problems. This line of work was initiated by Pâtraşcu (STOC 2010) who reduced 3SUM to an offline SetDisjointness problem. However, the reduction introduced by Pâtraşcu suffers from several inefficiencies, making it difficult to obtain tight conditional lower bounds from the 3SUM conjecture. In this paper we address many of the deficiencies of Pâtraşcu's framework. We give new and efficient reductions from 3SUM to offline SetDisjointness and offline SetIntersection (the reporting version of SetDisjointness) which leads to polynomially higher lower bounds on several problems. Using our reductions, we are able to show the essential optimality of several algorithms, assuming the 3SUM conjecture. Chiba and Nishizeki's O(mα)-time algorithm (SICOMP 1985) for enumerating all triangles in a graph with arboricity/degeneracy α is essentially optimal, for any α. Bjørklund, Pagh, Williams, and Zwick's algorithm (ICALP 2014) for listing t triangles is essentially optimal (assuming the matrix multiplication exponent is ω = 2). Any static data structure for SetDisjointness that answers queries in constant time must spend Ω(N2–o(1)) time in preprocessing, where N is the size of the set system. These statements were unattainable via Pâtraşcu's reductions. We also introduce several new reductions from 3SUM to pattern matching problems and dynamic graph problems. Of particular interest are new conditional lower bounds for dynamic versions of Maximum Cardinality Matching, which introduce a new technique for obtaining amortized lower bounds.
Tsvi Kopelowitz, Seth Pettie, Ely Porat
SODA3
2016 The Family Holiday Gathering Problem or Fair and Periodic Scheduling of Independent Sets
abstract
We introduce the Holiday Gathering Problem which models the difficulty in scheduling non-interfering transmissions in (wireless) networks. Our goal is to schedule transmission rounds so that the antennas that transmit in a given round will not interfere with each other, i.e. all of the other antennas that can interfere will not transmit in that round, while minimizing the number of consecutive rounds in which antennas do not transmit.
Amihood Amir, Oren Kapah, Tsvi Kopelowitz, Moni Naor, Ely Porat
SPAA5
2016 Addendum to 'Exponential time improvement for min-wise based algorithms' [Information and Computation 209 (2011) 737-747]
Guy Feigenblat, Ely Porat, Ariel Shiftan
Inf. Comput.2
2016 Special issue in honor of the 60th birthday of Amihood Amir
Gary Benson, Martin Farach-Colton, Moshe Lewenstein, Ely Porat
Theor. Comput. Sci.4
2016 Corrigendum to "The frequent items problem, under polynomial decay, in the streaming model" [Theoret. Comput. Sci. 411(34-36) (2010) 3048-3054]
Guy Feigenblat, Ofra Itzhaki, Ely Porat
Theor. Comput. Sci.3
2016 Set Intersection and Sequence Matching with mismatch counting
Ariel Shiftan, Ely Porat
Theor. Comput. Sci.2
2016 Optimal In/Out TCAM Encodings of Ranges
abstract
Hardware-based packet classification has become an essential component in many networking devices. It often relies on ternary content-addressable memories (TCAMs), which compare the packet header against a set of rules. TCAMs are not well suited to encode range rules. Range rules are often encoded by multiple TCAM entries, and little is known about the smallest number of entries that one needs for a specific range. In this paper, we introduce the In/Out TCAM, a new architecture that combines a regular TCAM together with a modified TCAM. This custom architecture enables independent encoding of each rule in a set of rules. We provide the following theoretical results for the new architecture: 1) We give an upper bound on the worst-case expansion of range rules in one and two dimensions. 2) For extremal ranges, which are 89% of the ranges that occur in practice, we provide an efficient algorithm that computes an optimal encoding. 3) We present a closed-form formula for the average expansion of an extremal range.
Ori Rottenstreich, Isaac Keslassy, Avinatan Hassidim, Haim Kaplan, Ely Porat
IEEE/ACM Trans. Netw.5
2015 Dictionary Matching in a Stream
Raphaël Clifford, Allyx Fontaine, Ely Porat, Benjamin Sach, Tatiana Starikovskaya
ESA3
2015 Breaking the Variance: Approximating the Hamming Distance in 1/ε Time Per Alignment
abstract
The algorithmic tasks of computing the Hamming distance between a given pattern of length m and each location in a text of length n is one of the most fundamental algorithmic tasks in string algorithms. Unfortunately, there is evidence that for a text T of sizen and a pattern P of size m, one cannot compute the exact Hamming distance for all locations in T in time which is less than O(n√m). However, Karloff [30] showed that if one is willing to suffer a 1 ± € approximation, then it is possible to solve the problem with high probability, in O(2/n) time. Due to related lower bounds for computing the Hamming distance of two strings in the one-way communication complexity model, it is strongly believed that obtaining an algorithm for solving the approximation version cannot be done much faster as a function of 1/ε. We show here that this belief is false by introducing a new O(n/ε ) time algorithm that succeeds with high probability. The main idea behind our algorithm, which is common in sparse recovery problems, is to reduce the variance of a specific randomized experiment by (approximately) separating heavy hitters from non-heavy hitters. However, while known sparse recovery techniques work very well on vectors, they do not seem to apply here, where we are dealing with mismatches between pairs of characters. We introduce two main algorithmic ingredients. The first is a new sparse recovery method that applies for pair inputs (such as in our setting). The second is a new construction of hash/projection functions, for which have which allows us to count the number of projections that induce mismatches between two characters exponentially faster than brute force. We expect that these algorithmic techniques will be of independent interest.
Tsvi Kopelowitz, Ely Porat
FOCS2
2015 Dynamic Set Intersection
Tsvi Kopelowitz, Seth Pettie, Ely Porat
WADS3
2015 Fingerprints for highly similar streams
Yoram Bachrach, Ely Porat
Inf. Comput.2
2015 A PTAS for the Square Tiling Problem
Amihood Amir, Alberto Apostolico, Gad M. Landau, Ely Porat, Oren Sar Shalom
Theor. Comput. Sci.4
2015 Dictionary matching with a few gaps
Amihood Amir, Avivit Levy, Ely Porat, B. Riva Shalom
Theor. Comput. Sci.3
2015 Efficient sampling of non-strict turnstile data streams
Neta Barkay, Ely Porat, Bar Shalem
Theor. Comput. Sci.2
2014 Dictionary Matching with One Gap
Amihood Amir, Avivit Levy, Ely Porat, B. Riva Shalom
CPM3
2014 An Improved Query Time for Succinct Dynamic Dictionary Matching
Guy Feigenblat, Ely Porat, Ariel Shiftan
CPM2
2014 For-All Sparse Recovery in Near-Optimal Time
Anna Gilbert 0001, Yi Li 0002, Ely Porat, Martin Strauss 0001
ICALP (1)3
2014 Orienting Fully Dynamic Graphs with Worst-Case Time Bounds
Tsvi Kopelowitz, Robert Krauthgamer, Ely Porat, Shay Solomon
ICALP (2)3
2014 (Near) optimal resource-competitive broadcast with jamming
abstract
We consider the problem of broadcasting a message from a sender to n ≥ 1 receivers in a time-slotted, single-hop, wireless network with a single communication channel. Sending and listening dominate the energy usage of small wireless devices and this is abstracted as a unit cost per time slot. A jamming adversary exists who can disrupt the channel at unit cost per time slot, and aims to prevent the transmission of the message. Let T be the number of slots jammed by the adversary. Our goal is to design algorithms whose cost is resource-competitive, that is, whose per-device cost is a function, preferably o(T), of the adversary's cost. Devices must work with limited knowledge. The values n, T, and the adversary's jamming strategy are unknown.
Seth Gilbert, Valerie King, Seth Pettie, Ely Porat, Jared Saia, Maxwell Young
SPAA4
2014 Range LCP
Amihood Amir, Alberto Apostolico, Gad M. Landau, Avivit Levy, Moshe Lewenstein, Ely Porat
J. Comput. Syst. Sci.6
2013 Efficient Sampling of Non-strict Turnstile Data Streams
Neta Barkay, Ely Porat, Bar Shalem
FCT2
2013 Sketching for Big Data Recommender Systems Using Fast Pseudo-random Fingerprints
Yoram Bachrach, Ely Porat
ICALP (2)2
2013 ℓ2/ℓ2-Foreach Sparse Recovery with Low Risk
Anna Gilbert 0001, Hung Q. Ngo 0001, Ely Porat, Atri Rudra, Martin Strauss 0001
ICALP (1)3
2013 On finding an optimal TCAM encoding scheme for packet classification
abstract
Hardware-based packet classification has become an essential component in many networking devices. It often relies on TCAMs (ternary content-addressable memories), which need to compare the packet header against a set of rules. But efficiently encoding these rules is not an easy task. In particular, the most complicated rules are range rules, which usually require multiple TCAM entries to encode them. However, little is known on the optimal encoding of such non-trivial rules. In this work, we take steps towards finding an optimal encoding scheme for every possible range rule. We first present an optimal encoding for all possible generalized extremal rules. Such rules represent 89% of all non-trivial rules in a typical real-life classification database. We also suggest a new method of simply calculating the optimal expansion of an extremal range, and present a closed-form formula of the average optimal expansion over all extremal ranges. Next, we present new bounds on the worst-case expansion of general classification rules, both in one-dimensional and two-dimensional ranges. Last, we introduce a new TCAM architecture that can leverage these results by providing a guaranteed expansion on the tough rules, while dealing with simpler rules using a regular TCAM. We conclude by verifying our theoretical results in experiments with synthetic and real-life classification databases.
Ori Rottenstreich, Isaac Keslassy, Avinatan Hassidim, Haim Kaplan, Ely Porat
INFOCOM5
2013 Homomorphic fingerprints under misalignments: sketching edit and shift distances
abstract
Fingerprinting is a widely-used technique for efficiently verifying that two files are identical. More generally, linear sketching is a form of lossy compression (based on random projections) that also enables the "dissimilarity" of non-identical files to be estimated. Many sketches have been proposed for dissimilarity measures that decompose coordinate-wise such as the Hamming distance between alphanumeric strings, or the Euclidean distance between vectors. However, virtually nothing is known on sketches that would accommodate alignment errors. With such errors, Hamming or Euclidean distances are rendered useless: a small misalignment may result in a file that looks very dissimilar to the original file according such measures. In this paper, we present the first linear sketch that is robust to a small number of alignment errors. Specifically, the sketch can be used to determine whether two files are within a small Hamming distance of being a cyclic shift of each other. Furthermore, the sketch is homomorphic with respect to rotations: it is possible to construct the sketch of a cyclic shift of a file given only the sketch of the original file. The relevant dissimilarity measure, known as the shift distance, arises in the context of embedding edit distance and our result addressed an open problem [Question 13 in Indyk-McGregor-Newman-Onak'11] with a rather surprising outcome. Our sketch projects a length $n$ file into D(n) ⋅ polylog n dimensions where D(n)l n is the number of divisors of n. The striking fact is that this is near-optimal, i.e., the D(n) dependence is inherent to a problem that is ostensibly about lossy compression.
Alexandr Andoni, Assaf Goldberger, Andrew McGregor 0001, Ely Porat
STOC4
2013 Guest Editorial for "Group Testing: models and applications"
Ferdinando Cicalese, Ely Porat
Algorithmica2
2013 Preprocess, Set, Query!
Ely Porat, Liam Roditty
Algorithmica1
2013 Sharing Rewards in Cooperative Connectivity Games
abstract
We consider how selfish agents are likely to share revenues derived from maintaining connectivity between important network servers. We model a network where a failure of one node may disrupt communication between other nodes as a cooperative game called the vertex Connectivity Game (CG). In this game, each agent owns a vertex, and controls all the edges going to and from that vertex. A coalition of agents wins if it fully connects a certain subset of vertices in the graph, called the primary vertices. Power indices measure an agent's ability to affect the outcome of the game. We show that in our domain, such indices can be used to both determine the fair share of the revenues an agent is entitled to, and identify significant possible points of failure affecting the reliability of communication in the network. We show that in general graphs, calculating the Shapley and Banzhaf power indices is #P-complete, but suggest a polynomial algorithm for calculating them in trees. We also investigate finding stable payoff divisions of the revenues in CGs, captured by the game theoretic solution of the core, and its relaxations, the epsilon-core and least core. We show a polynomial algorithm for computing the core of a CG, but show that testing whether an imputation is in the epsilon-core is coNP-complete. Finally, we show that for trees, it is possible to test for epsilon-core imputations in polynomial time.
Yoram Bachrach, Ely Porat, Jeffrey S. Rosenschein
J. Artif. Intell. Res.2
2013 Pattern Matching under Polynomial Transformation
abstract
We consider a class of pattern matching problems where a normalizing polynomial transformation can be applied at every alignment of the pattern and text. Normalized pattern matching plays a key role in fields as diverse as image processing and musical information processing, where application specific transformations are often applied to the input. By considering a wide range of such transformations, we provide fast algorithms and the first lower bounds for both new and old problems. Given a pattern of length $m$ and a longer text of length $n$, where both are assumed to contain integer values only, we first show $O(n\log m)$ time algorithms for pattern matching under linear transformations even when wildcard symbols can occur in the input. We then show how to extend the technique to polynomial transformations of arbitrary degree. Next we consider the problem of finding the minimum Hamming distance under polynomial transformation. We show that, for any $\varepsilon>0$, there cannot exist an $O(nm^{1-\varepsilon})$ time algorithm for additive and linear transformations conditional on the hardness of the classic 3Sum problem. Finally, we consider a version of the Hamming distance problem under additive transformations with a bound $k$ on the maximum distance that needs to be reported. We give a deterministic $O(nk\log k)$ time solution, which we then improve by careful use of randomization to $O(n\sqrt{k\log k}\log n)$ time for sufficiently small $k$. Our randomized solution outputs the correct answer at every position with high probability.
Ayelet Butman, Peter Clifford, Raphaël Clifford, Markus Jalsenius, Noa Lewenstein, Benny Porat, Ely Porat, Benjamin Sach
SIAM J. Comput.7
2013 A Space Lower Bound for Dynamic Approximate Membership Data Structures
abstract
An approximate membership data structure is a randomized data structure representing a set which supports membership queries. It allows for a small false positive error rate but has no false negative errors. Such data structures were first introduced by Bloom in the 1970s and have since had numerous applications, mainly in distributed systems, database systems, and networks. The algorithm of Bloom (known as a Bloom filter) is quite effective: it can store an approximation of a set $S$ of size $n$ by using only $\approx 1.44 n \log_2(1/\varepsilon)$ bits while having false positive error $\varepsilon$. This is within a constant factor of the information-theoretic lower bound of $n \log_2(1/\varepsilon)$ for storing such sets. Closing this gap is an important open problem, as Bloom filters are widely used in situations where storage is at a premium. Bloom filters have another property: they are dynamic. That is, they support the iterative insertions of up to $n$ elements. In fact, if one removes this requirement, there exist static data structures that receive the entire set at once and can almost achieve the information-theoretic lower bound; they require only $(1+o(1)) n \log_2(1/\varepsilon)$ bits. Our main result is a new lower bound for the space requirements of any dynamic approximate membership data structure. We show that for any constant $\varepsilon>0$, any such data structure that achieves false positive error rate of $\varepsilon$ must use at least $C(\varepsilon) \cdot n \log_2(1/\varepsilon)$ memory bits, where $C(\varepsilon)>1$ depends only on $\varepsilon$. This shows that the information-theoretic lower bound cannot be achieved by dynamic data structures for any constant error rate.
Shachar Lovett, Ely Porat
SIAM J. Comput.2
2013 Space lower bounds for online pattern matching
Raphaël Clifford, Markus Jalsenius, Ely Porat, Benjamin Sach
Theor. Comput. Sci.3
2012 Pattern Matching in Multiple Streams
Raphaël Clifford, Markus Jalsenius, Ely Porat, Benjamin Sach
CPM3
2012 A Cuckoo Hashing Variant with Improved Memory Utilization and Insertion Time
abstract
Cuckoo hashing [4] is a multiple choice hashing scheme in which each item can be placed in multiple locations, and collisions are resolved by moving items to their alternative locations. In the classical implementation of two-way cuckoo hashing, the memory is partitioned into contiguous disjoint xed-size buckets. Each item is hashed to two buckets, and may be stored in any of the positions within those buckets. Ref. [2] analyzed a variation in which the buckets are contiguous and overlap. However, many systems retrieve data from secondary storage in same-size blocks called pages. Fetching a page is a relatively expensive process, but once a page is fetched, its contents can be accessed orders of magnitude faster. We utilize this property of memory retrieval, presenting a variant of cuckoo hashing incorporating the following constraint: each bucket must be fully contained in a single page, but buckets are not necessarily contiguous. Empirical results show that this modification increases memory utilization and decreases the number of iterations required to insert an item. If each item is hashed to two buckets of capacity two, the page size is 8, and each bucket is fully contained in a single page, the memory utilization equals 89.71% in the classical contiguous disjoint bucket variant, 93.78% in the contiguous overlapping bucket variant, and increases to 97.46% in our new non-contiguous bucket variant. When the memory utilization is 92% and we use breadth rest search to look for a vacant position, the number of iterations required to insert a new item is dramatically reduced from 545 in the contiguous overlapping buckets variant to 52 in our new non-contiguous bucket variant. In addition to the empirical results, we present a theoretical lower bound on the memory utilization of our variation as a function of the page size.
Ely Porat, Bar Shalem
DCC1
2012 Exponential Space Improvement for minwise Based Algorithms
abstract
In this paper we introduce a general framework that exponentially improves the space, the degree of independence, and the time needed by min-wise based algorithms. The authors, in SODA 2011, we introduced an exponential time improvement for min-wise based algorithms by defining and constructing an almost k-min-wise independent family of hash functions. Here we develop an alternative approach that achieves both exponential time and exponential space improvement. The new approach relaxes the need for approximately min-wise hash functions, hence gets around the Omega(log(1/epsilon)) independence lower bound in [Patrascu 2010]. This is done by defining and constructing a d-k-min-wise independent family of hash functions. Surprisingly, for most cases only 8-wise independence is needed for the additional improvement. Moreover, as the degree of independence is a small constant, our function can be implemented efficiently. Informally, under this definition, all subsets of size d of any fixed set X have an equal probability to have hash values among the minimal k values in X, where the probability is over the random choice of hash function from the family. This property measures the randomness of the family, as choosing a truly random function, obviously, satisfies the definition for d=k=|X|. We define and give an efficient time and space construction of approximately d-k-min-wise independent family of hash functions for the case where d=2, as this is sufficient for the additional exponential improvement. We discuss how this construction can be used to improve many min-wise based algorithms. To our knowledge such definitions, for hash functions, were never studied and no construction was given before. As an example we show how to apply it for similarity and rarity estimation over data streams. Other min-wise based algorithms, can be adjusted in the same way.
Guy Feigenblat, Ely Porat, Ariel Shiftan
FSTTCS2
2012 Efficient signature scheme for network coding
abstract
Network coding helps maximize the network throughput. However, such schemes are also vulnerable to pollution attacks in which malicious forwarders inject polluted messages into the system. Traditional cryptographic solution, such as digital signatures, are not suited for network coding, in which nodes do not forward the original packets, but rather linear combinations of the data they received. We describe secure scheme that uses batch techniques and selective verification to efficiently verify the integrity of the received packets. We show that for real peer-to-peer networks, our scheme is much more efficient than previously suggested schemes.
Ely Porat, Erez Waisbard
ISIT1
2012 Worst-case optimal join algorithms: [extended abstract]
abstract
Efficient join processing is one of the most fundamental and well-studied tasks in database research. In this work, we examine algorithms for natural join queries over many relations and describe a novel algorithm to process these queries optimally in terms of worst-case data complexity. Our result builds on recent work by Atserias, Grohe, and Marx, who gave bounds on the size of a full conjunctive query in terms of the sizes of the individual relations in the body of the query. These bounds, however, are not constructive: they rely on Shearer's entropy inequality which is information-theoretic. Thus, the previous results leave open the question of whether there exist algorithms whose running time achieve these optimal bounds. An answer to this question may be interesting to database practice, as we show in this paper that any project-join plan is polynomially slower than the optimal bound for some queries. We construct an algorithm whose running time is worst-case optimal for all natural join queries. Our result may be of independent interest, as our algorithm also yields a constructive proof of the general fractional cover bound by Atserias, Grohe, and Marx without using Shearer's inequality. In addition, we show that this bound is equivalent to a geometric inequality by Bollobás and Thomason, one of whose special cases is the famous Loomis-Whitney inequality. Hence, our results algorithmically prove these inequalities as well. Finally, we discuss how our algorithm can be used to compute a relaxed notion of joins.
Hung Q. Ngo 0001, Ely Porat, Christopher Ré, Atri Rudra
PODS2
2012 Sublinear time, measurement-optimal, sparse recovery for all
abstract
An approximate sparse recovery system in ℓ1 norm makes a small number of measurements of a noisy vector with at most k large entries and recovers those heavy hitters approximately. Formally, it consists of parameters N, k, ∊, an m-by-N measurement matrix, Φ, and a decoding algorithm, D. Given a vector, x, where xk denotes the optimal k-term approximation to x, the system approximates x by , which must satisfy Among the goals in designing such systems are minimizing the number m of measurements and the runtime of the decoding algorithm, D. We consider the “forall” model, in which a single matrix Φ, possibly “constructed” non-explicitly using the probabilistic method, is used for all signals x. Many previous papers have provided algorithms for this problem. But all such algorithms that use the optimal number m = O(k log(N/k)) of measurements require superlinear time Ω(N log(N/k)). In this paper, we give the first algorithm for this problem that uses the optimum number of measurements (up to constant factors) and runs in sublinear time o(N) when k is sufficiently less than N. Specifically, for any positive integer ℓ, our approach uses time O(ℓ5 ∊−3k(N/k)1/ℓ) and uses m = O(ℓ8 ∊−3k log (N/k)) measurements, with access to a data structure requiring space and preprocessing time O(ℓNk0.2/∊).
Ely Porat, Martin Strauss 0001
SODA1
2012 Efficiently Decodable Compressed Sensing by List-Recoverable Codes and Recursion
abstract
We present two recursive techniques to construct compressed sensing schemes that can be "decoded" in sub-linear time. The first technique is based on the well studied code composition method called code concatenation where the "outer" code has strong list recoverability properties. This technique uses only one level of recursion and critically uses the power of list recovery. The second recursive technique is conceptually similar, and has multiple recursion levels. The following compressed sensing results are obtained using these techniques: - Strongly explicit efficiently decodable l_1/l_1 compressed sensing matrices: We present a strongly explicit ("for all") compressed sensing measurement matrix with O(d^2log^2 n) measurements that can output near-optimal d-sparse approximations in time poly(d log n). - Near-optimal efficiently decodable l_1/l_1 compressed sensing matrices for non-negative signals: We present two randomized constructions of ("for all") compressed sensing matrices with near optimal number of measurements: O(d log n loglog_d n) and O_{m,s}(d^{1+1/s} log n (log^(m) n)^s), respectively, for any integer parameters s,m>=1. Both of these constructions can output near optimal d-sparse approximations for non-negative signals in time poly(d log n). To the best of our knowledge, none of the results are dominated by existing results in the literature.
Hung Q. Ngo 0001, Ely Porat, Atri Rudra
STACS2
2012 Mismatch sampling
Raphaël Clifford, Klim Efremenko, Benny Porat, Ely Porat, Amir Rothschild
Inf. Comput.4
2012 Approximate Sparse Recovery: Optimizing Time and Measurements
abstract
A Euclidean approximate sparse recovery system consists of parameters $k,N$, an m-by-N measurement matrix, $\bm{\Phi}$, and a decoding algorithm, $\mathcal{D}$. Given a vector, ${\mathbf x}$, the system approximates ${\mathbf x}$ by $\widehat {\mathbf x}=\mathcal{D}(\bm{\Phi} {\mathbf x})$, which must satisfy $|\widehat {\mathbf x} - {\mathbf x}|_2\le C |{\mathbf x} - {\mathbf x}_k|_2$, where ${\mathbf x}_k$ denotes the optimal k-term approximation to ${\mathbf x}$. (The output $\widehat{\mathbf x}$ may have more than k terms.) For each vector ${\mathbf x}$, the system must succeed with probability at least 3/4. Among the goals in designing such systems are minimizing the number m of measurements and the runtime of the decoding algorithm, $\mathcal{D}$. In this paper, we give a system with $m=O(k \log(N/k))$ measurements—matching a lower bound, up to a constant factor—and decoding time $k\log^{O(1)} N$, matching a lower bound up to a polylog$(N)$ factor. We also consider the encode time (i.e., the time to multiply $\bm{\Phi}$ by x), the time to update measurements (i.e., the time to multiply $\bm{\Phi}$ by a 1-sparse x), and the robustness and stability of the algorithm (resilience to noise before and after the measurements). Our encode and update times are optimal up to $\log(k)$ factors. The columns of $\bm{\Phi}$ have at most $O(\log^2(k)\log(N/k))$ nonzeros, each of which can be found in constant time. Our full result, a fully polynomial randomized approximation scheme, is as follows. If ${\mathbf x}={\mathbf x}_k+\nu_1$, where $\nu_1$ and $\nu_2$ (below) are arbitrary vectors (regarded as noise), then setting $\widehat {\mathbf x} = \mathcal{D}(\Phi {\mathbf x} + \nu_2)$, and for properly normalized $\bm{\Phi}$, we get $\left|{\mathbf x} - \widehat {\mathbf x}\right|_2^2 \le (1+\epsilon)\left|\nu_1\right|_2^2 + \epsilon\left|\nu_2\right|_2^2$ using $O((k/\epsilon)\log(N/k))$ measurements and $(k/\epsilon)\log^{O(1)}(N)$ time for decoding.
Anna Gilbert 0001, Yi Li 0002, Ely Porat, Martin Strauss 0001
SIAM J. Comput.3
2012 Cycle detection and correction
abstract
Assume that a natural cyclic phenomenon has been measured, but the data is corrupted by errors. The type of corruption is application-dependent and may be caused by measurements errors, or natural features of the phenomenon. We assume that an appropriate metric exists, which measures the amount of corruption experienced. This article studies the problem of recovering the correct cycle from data corrupted by various error models, formally defined as the period recovery problem . Specifically, we define a metric property which we call pseudolocality and study the period recovery problem under pseudolocal metrics. Examples of pseudolocal metrics are the Hamming distance, the swap distance, and the interchange (or Cayley) distance. We show that for pseudolocal metrics, periodicity is a powerful property allowing detecting the original cycle and correcting the data, under suitable conditions. Some surprising features of our algorithm are that we can efficiently identify the period in the corrupted data, up to a number of possibilities logarithmic in the length of the data string, even for metrics whose calculation is NP-hard . For the Hamming metric, we can reconstruct the corrupted data in near-linear time even for unbounded alphabets. This result is achieved using the property of separation in the self-convolution vector and Reed-Solomon codes. Finally, we employ our techniques beyond the scope of pseudo-local metrics and give a recovery algorithm for the non-pseudolocal Levenshtein edit metric.
Amihood Amir, Estrella Eisenberg, Avivit Levy, Ely Porat, Natalie Shapira
ACM Trans. Algorithms4
2012 Weight Distribution and List-Decoding Size of Reed-Muller Codes
abstract
The weight distribution and list-decoding size of Reed-Muller codes are studied in this work. Given a weight parameter, we are interested in bounding the number of Reed-Muller codewords with weight up to the given parameter; and given a received word and a distance parameter, we are interested in bounding the size of the list of Reed-Muller codewords that are within that distance from the received word. Obtaining tight bounds for the weight distribution of Reed-Muller codes has been a long standing open problem in coding theory, dating back to 1976. In this work, we make a new connection between computer science techniques used to study low-degree polynomials and these coding theory questions. This allows us to resolve the weight distribution and list-decoding size of Reed-Muller codes for all distances. Previous results could only handle bounded distances: Azumi, Kasami, and Tokura gave bounds on the weight distribution which hold up to 2.5 times the minimal distance of the code; and Gopalan, Klivans, and Zuckerman gave bounds on the list-decoding size which hold up to the Johnson bound.
Tali Kaufman, Shachar Lovett, Ely Porat
IEEE Trans. Inf. Theory3
2011 Space Lower Bounds for Online Pattern Matching
Raphaël Clifford, Markus Jalsenius, Ely Porat, Benjamin Sach
CPM3
2011 Preprocess, Set, Query!
Ely Porat, Liam Roditty
ESA1
2011 Efficiently Decodable Error-Correcting List Disjunct Matrices and Applications - (Extended Abstract)
Hung Q. Ngo 0001, Ely Porat, Atri Rudra
ICALP (1)2
2011 Range LCP
Amihood Amir, Alberto Apostolico, Gad M. Landau, Avivit Levy, Moshe Lewenstein, Ely Porat
ISAAC6
2011 Exponential Time Improvement for min-wise Based Algorithms
abstract
In this paper we extend the notion of min-wise independent family of hash functions by defining a k-min-wise independent family of hash functions. Informally under this definition, all subsets of size k of any fixed set X have an equal chance to have the minimal hash values among all the elements in X, when the probability is over the random choice of hash function from the family. This property measures the randomness of the family as choosing a truly random function, obviously satisfies the definition for k = |X|. We define and give an efficient time and space construction of approximately k-min-wise independent family of hash functions by extending Indyk's construction of approximately min-wise independent [1]. The number of words needed to represent each function is , which is only suboptimal by a factor of , where ε ∊ (0, 1) is the desired error bound. This construction is the first applicable for sampling bottom-k sketches [2, 3] out of the universe. In addition, we introduce a general and novel technique that utilizes our construction, and can be used to improve many min-wise based algorithms, such as [4, 5, 6, 7, 3, 2, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]. As an example we show how to apply it for similarity estimation over data streams, and reduce exponentially the run time of the current known result [5]. In addition, we also discuss improvements of known algorithms for estimating rarity and entropy of random walk over graphs (from SODA07 [20]).
Guy Feigenblat, Ely Porat, Ariel Shiftan
SODA2
2011 Persistency in Suffix Trees with Applications to String Interval Problems
Tsvi Kopelowitz, Moshe Lewenstein, Ely Porat
SPIRE3
2011 Fast moment estimation in data streams in optimal space
abstract
We give a space-optimal streaming algorithm with update time O(log2(1/ε)loglog(1/ε)) for approximating the pth frequency moment, 0 < p < 2, of a length-n vector updated in a data stream up to a factor of 1 +/- ε. This provides a nearly exponential improvement over the previous space optimal algorithm of [Kane-Nelson-Woodruff, SODA 2010], which had update time Omega(1/eps2). When combined with the work of [Harvey-Nelson-Onak, FOCS 2008], we also obtain the first algorithm for entropy estimation in turnstile streams which simultaneously achieves near-optimal space and fast update time.
Daniel M. Kane, Jelani Nelson, Ely Porat, David P. Woodruff
STOC3
2011 Approximate Pattern Matching with the L1, L2 and L∞ Metrics
Ohad Lipsky, Ely Porat
Algorithmica2
2011 A black box for online approximate pattern matching
Raphaël Clifford, Klim Efremenko, Benny Porat, Ely Porat
Inf. Comput.4
2011 Exponential time improvement for min-wise based algorithms
Guy Feigenblat, Ely Porat, Ariel Shiftan
Inf. Comput.2
2011 Approximate string matching with stuck address bits
Amihood Amir, Estrella Eisenberg, Orgad Keller, Avivit Levy, Ely Porat
Theor. Comput. Sci.5
2011 Explicit Nonadaptive Combinatorial Group Testing Schemes
abstract
Group testing is a long studied problem in combinatorics: A small set ofrill people should be identified out of the whole (npeople) by using only queries (tests) of the form “Does set X contain an ill human?” In this paper we provide an explicit construction of a testing scheme which is better (smaller) than any known explicit construction. This scheme has Θ(min[r2lnn,n]) tests which is as many as the best nonexplicit schemes have. In our construction, we use a fact that may have a value by its own right: Linear error-correction codes with parameters [m,k,δm]qmeeting the Gilbert-Varshamov bound may be constructed quite efficiently, in Θ(qkm) time.
Ely Porat, Amir Rothschild
IEEE Trans. Inf. Theory1
2010 A Lower Bound for Dynamic Approximate Membership Data Structures
abstract
An approximate membership data structure is a randomized data structure for representing a set which supports membership queries. It allows for a small false positive error rate but has no false negative errors. Such data structures were first introduced by Bloom in the 1970's, and have since had numerous applications, mainly in distributed systems, database systems, and networks. The algorithm of Bloom is quite effective: it can store a set S of size n by using only ≈1.44nlog2(1/ε) bits while having false positive error ε. This is within a constant factor of the entropy lower bound of nlog2(1/ε) for storing such sets. Closing this gap is an important open problem, as Bloom filters are widely used is situations were storage is at a premium. Bloom filters have another property: they are dynamic. That is, they support the iterative insertions of up to n elements. In fact, if one removes this requirement, there exist static data structures which receive the entire set at once and can almost achieve the entropy lower bound; they require only nlog2(1/ε)(1 + o(1)) bits. Our main result is a new lower bound for the memory requirements of any dynamic approximate membership data structure. We show that for any constant ε > 0, any such data structure which achieves false positive error rate of ε must use at least C(ε) · nlog2(1/ε) memory bits, where C(ε) > 1 depends only on ε. This shows that the entropy lower bound cannot be achieved by dynamic data structures for any constant error rate. In fact, our lower bound holds even in the setting where the insertion and query algorithms may use shared randomness, and where they are only required to perform well on average.
Shachar Lovett, Ely Porat
FOCS2
2010 Cycle Detection and Correction
Amihood Amir, Estrella Eisenberg, Avivit Levy, Ely Porat, Natalie Shapira
ICALP (1)4
2010 Fast Set Intersection and Two-Patterns Matching
Hagai Cohen, Ely Porat
LATIN2
2010 Approximate String Matching with Stuck Address Bits
Amihood Amir, Estrella Eisenberg, Orgad Keller, Avivit Levy, Ely Porat
SPIRE5
2010 Approximate sparse recovery: optimizing time and measurements
abstract
A Euclidean approximate sparse recovery system consists of parameters k,N, an m-by-N measurement matrix, Φ, and a decoding algorithm, D. Given a vector, x, the system approximates x by ^x=D(Φ x), which must satisfy ||x - x||2≤ C ||x - xk||2, where xk denotes the optimal k-term approximation to x. (The output ^x may have more than k terms). For each vector x, the system must succeed with probability at least 3/4. Among the goals in designing such systems are minimizing the number m of measurements and the runtime of the decoding algorithm, D.
Anna Gilbert 0001, Yi Li 0002, Ely Porat, Martin Strauss 0001
STOC3
2010 Fast computation of a longest increasing subsequence and application
Maxime Crochemore, Ely Porat
Inf. Comput.2
2010 String matching with up to k swaps and mismatches
Ohad Lipsky, Benny Porat, Ely Porat, B. Riva Shalom, Asaf Tsur
Inf. Comput.3
2010 A filtering algorithm for k-mismatch with don't cares
Raphaël Clifford, Ely Porat
Inf. Process. Lett.2
2010 Pattern matching with don't cares and few errors
Raphaël Clifford, Klim Efremenko, Ely Porat, Amir Rothschild
J. Comput. Syst. Sci.3
2010 Fast set intersection and two-patterns matching
Hagai Cohen, Ely Porat
Theor. Comput. Sci.2
2010 The approximate swap and mismatch edit distance
Yair Dombb, Ohad Lipsky, Benny Porat, Ely Porat, Asaf Tsur
Theor. Comput. Sci.4
2010 The frequent items problem, under polynomial decay, in the streaming model
Guy Feigenblat, Ofra Itzhaki, Ely Porat
Theor. Comput. Sci.3
2009 Exact and Approximate Pattern Matching in the Streaming Model
abstract
We present a fully online randomized algorithm for the classical pattern matching problem that uses merely O(log m) space, breaking the O(m) barrier that held for this problem for a long time. Our method can be used as a tool in many practical applications, including monitoring Internet traffic and firewall applications. In our online model we first receive the pattern P of size m and preprocess it. After the preprocessing phase, the characters of the text T of size n arrive one at a time in an online fashion. For each index of the text input we indicate whether the pattern matches the text at that location index or not. Clearly, for index i, an indication can only be given once all characters from index i till index i+m-1 have arrived. Our goal is to provide such answers while using minimal space, and while spending as little time as possible on each character (time and space which are in O(poly(log n)) ).We present an algorithm whereby both false positive and false negative answers are allowed with probability of at most 1/n3. Thus, overall, the correct answer for all positions is returned with a probability of 1/n2. The time which our algorithm spends on each input character is bounded by O(log m), and the space complexity is O(log m) words. We also present a solution in the same model for the pattern matching with k mismatches problem. In this problem, a match means allowing up to k symbol mismatches between the pattern and the subtext beginning at index i. We provide an algorithm in which the time spent on each character is bounded by O(k2poly(log m)), and the space complexity is O(k3poly(log m)) words.
Benny Porat, Ely Porat
FOCS2
2009 Sketching Techniques for Collaborative Filtering
Yoram Bachrach, Ely Porat, Jeffrey S. Rosenschein
IJCAI2
2009 Range Non-overlapping Indexing
Hagai Cohen, Ely Porat
ISAAC2
2009 From coding theory to efficient pattern matching
abstract
We consider the classic problem of pattern matching with few mismatches in the presence of promiscuously matching wildcard symbols. Given a text t of length n and a pattern p of length m with optional wildcard symbols and a bound k, our algorithm finds all the alignments for which the pattern matches the text with Hamming distance at most k and also returns the location and identity of each mismatch. The algorithm we present is deterministic and runs in Õ(kn) time, matching the best known randomised time complexity to within logarithmic factors. The solutions we develop borrow from the tool set of algebraic coding theory and provide a new framework in which to tackle approximate pattern matching problems.
Raphaël Clifford, Klim Efremenko, Ely Porat, Amir Rothschild
SODA3
2009 Sketching Algorithms for Approximating Rank Correlations in Collaborative Filtering Systems
Yoram Bachrach, Ralf Herbrich, Ely Porat
SPIRE3
2009 The Frequent Items Problem, under Polynomial Decay, in the Streaming Model
Guy Feigenblat, Ofra Itzhaki, Ely Porat
SPIRE3
2009 Set Intersection and Sequence Matching
Ariel Shiftan, Ely Porat
SPIRE2
2009 Real Two Dimensional Scaled Matching
Amihood Amir, Ayelet Butman, Moshe Lewenstein, Ely Porat
Algorithmica4
2009 Pattern matching with address errors: Rearrangement distances
Amihood Amir, Yonatan Aumann, Gary Benson, Avivit Levy, Ohad Lipsky, Ely Porat, Steven Skiena, Uzi Vishne
J. Comput. Syst. Sci.6
2009 On the Cost of Interchange Rearrangement in Strings
abstract
Consider the following optimization problem: given two strings over the same alphabet, transform one into another by a succession of interchanges of two elements. In each interchange the two participating elements exchange positions. An interchange is given a weight that depends on the distance in the string between the two exchanged elements. The object is to minimize the total weight of the interchanges. This problem is a generalization of a classical problem on permutations (where every element appears once). The generalization considers general strings with possibly repeating elements, and a function assigning weights to the interchanges. The generalization to general strings (with unit weights) was mentioned by Cayley in the 19th century, and its complexity has been an open question since. We solve this open problem and consider various weight functions as well.
Amihood Amir, Tzvika Hartman, Oren Kapah, Avivit Levy, Ely Porat
SIAM J. Comput.5
2009 Efficient computations of l1 and l∞ rearrangement distances
Amihood Amir, Yonatan Aumann, Piotr Indyk, Avivit Levy, Ely Porat
Theor. Comput. Sci.5
2009 Approximate string matching with address bit errors
Amihood Amir, Yonatan Aumann, Oren Kapah, Avivit Levy, Ely Porat
Theor. Comput. Sci.5
2008 Approximate String Matching with Address Bit Errors
Amihood Amir, Yonatan Aumann, Oren Kapah, Avivit Levy, Ely Porat
CPM5
2008 A Black Box for Online Approximate Pattern Matching
Raphaël Clifford, Klim Efremenko, Benny Porat, Ely Porat
CPM4
2008 Explicit Non-adaptive Combinatorial Group Testing Schemes
Ely Porat, Amir Rothschild
ICALP (1)1
2008 Approximating general metric distances between a pattern and a text
Ely Porat, Klim Efremenko
SODA1
2008 Mismatch Sampling
Raphaël Clifford, Klim Efremenko, Benny Porat, Ely Porat, Amir Rothschild
SPIRE4
2008 Approximated Pattern Matching with the L1, L2 and Linfinit Metrics
Ohad Lipsky, Ely Porat
SPIRE2
2008 Pattern Matching with Pair Correlation Distance
Benny Porat, Ely Porat, Asaf Tsur
SPIRE2
2008 Approximate matching in the Linfinity metric
Ohad Lipsky, Ely Porat
Inf. Process. Lett.2
2008 L1 pattern matching lower bound
Ohad Lipsky, Ely Porat
Inf. Process. Lett.2
2008 Improved Algorithms for Polynomial-Time Decay and Time-Decay with Additive Error
Tsvi Kopelowitz, Ely Porat
Theory Comput. Syst.2
2008 Pattern matching with pair correlation distance
Benny Porat, Ely Porat, Asaf Tsur
Theor. Comput. Sci.2
2007 Deterministic Length Reduction: Fast Convolution in Sparse Data and Applications
Amihood Amir, Oren Kapah, Ely Porat
CPM3
2007 Improved Sketching of Hamming Distance with Error Correcting
Ely Porat, Ohad Lipsky
CPM1
2007 On the Cost of Interchange Rearrangement in Strings
Amihood Amir, Tzvika Hartman, Oren Kapah, Avivit Levy, Ely Porat
ESA5
2007 k -Mismatch with Don't Cares
Raphaël Clifford, Klim Efremenko, Ely Porat, Amir Rothschild
ESA3
2007 Approximate String Matching with Swap and Mismatch
Ohad Lipsky, Benny Porat, Ely Porat, B. Riva Shalom, Asaf Tsur
ISAAC3
2007 Efficient Computations of l1 and linfinity Rearrangement Distances
Amihood Amir, Yonatan Aumann, Piotr Indyk, Avivit Levy, Ely Porat
SPIRE5
2007 Jump-Matching with Errors
Ayelet Butman, Noa Lewenstein, Benny Porat, Ely Porat
SPIRE4
2007 A Filtering Algorithm for k -Mismatch with Don't Cares
Raphaël Clifford, Ely Porat
SPIRE2
2007 Approximate Swap and Mismatch Edit Distance
Yair Dombb, Ohad Lipsky, Benny Porat, Ely Porat, Asaf Tsur
SPIRE4
2007 Efficient pebbling for list traversal synopses with application to program rollback
Yossi Matias, Ely Porat
Theor. Comput. Sci.2
2006 Approximate Matching in Weighted Sequences
Amihood Amir, Costas S. Iliopoulos, Oren Kapah, Ely Porat
CPM4
2006 Pattern matching with address errors: rearrangement distances
Amihood Amir, Yonatan Aumann, Gary Benson, Avivit Levy, Ohad Lipsky, Ely Porat, Steven Skiena, Uzi Vishne
SODA6
2006 Swap and Mismatch Edit Distance
Amihood Amir, Estrella Eisenberg, Ely Porat
Algorithmica3
2006 Function Matching
abstract
We present problems in the following three application areas: identifying similar codes in which global register reallocation and spill code minimization were done (programming languages); protein threading (computational biology); and searching for color icons under different color maps (image processing). We introduce a new search model called function matching that enables us to solve the above problems. The function matching problem has as its input a text T of length n over alphabet $\Sigma_T$ and a pattern $P = P[1] P[2] \cdots P[m]$ of length m over alphabet $\Sigma_P$. We seek all text locations i, where the m-length substring that starts at i is equal to $f(P[1]) f(P[2]) \cdots f(P[m])$, for some function $f: \Sigma_P \rightarrow \Sigma_T$. We give a randomized algorithm that solves the function matching problem in time $O(n\log n)$ with probability ${1\over n}$ of declaring a false positive. We give a deterministic algorithm whose time is $O(n |\Sigma_P| \log m)$ and show that it is optimal in the convolutions model. We use function matching to efficiently solve the problem of two-dimensional parameterized matching.
Amihood Amir, Yonatan Aumann, Moshe Lewenstein, Ely Porat
SIAM J. Comput.4
2005 Approximate Matching in the L1 Metric
Amihood Amir, Ohad Lipsky, Ely Porat, Julia Umanski
CPM3
2005 L1 Pattern Matching Lower Bound
Ohad Lipsky, Ely Porat
SPIRE2
2005 Approximate Matching in the Linfinity Metric
Ohad Lipsky, Ely Porat
SPIRE2
2004 Swap and Mismatch Edit Distance
Amihood Amir, Estrella Eisenberg, Ely Porat
ESA3
2004 Closest Pair Problems in Very High Dimensions
Piotr Indyk, Moshe Lewenstein, Ohad Lipsky, Ely Porat
ICALP4
2004 Efficient One Dimensional Real Scaled Matching
Amihood Amir, Ayelet Butman, Moshe Lewenstein, Ely Porat, Dekel Tsur
SPIRE4
2003 Function Matching: Algorithms, Applications, and a Lower Bound
Amihood Amir, Yonatan Aumann, Richard Cole 0001, Moshe Lewenstein, Ely Porat
ICALP5
2003 Efficient Pebbling for List Traversal Synopses
Yossi Matias, Ely Porat
ICALP2
2003 Real Two Dimensional Scaled Matching
Amihood Amir, Ayelet Butman, Moshe Lewenstein, Ely Porat
WADS4
2003 Overlap matching
Amihood Amir, Richard Cole 0001, Ramesh Hariharan, Moshe Lewenstein, Ely Porat
Inf. Comput.5
2002 Approximate swapped matching
Amihood Amir, Moshe Lewenstein, Ely Porat
Inf. Process. Lett.3
2001 Overlap matching
Amihood Amir, Richard Cole 0001, Ramesh Hariharan, Moshe Lewenstein, Ely Porat
SODA5
2001 Approximate subset matching with Don't Cares
Amihood Amir, Ely Porat, Moshe Lewenstein
SODA2
2001 A faster implementation of the Goemans-Williamson clustering algorithm
Richard Cole 0001, Ramesh Hariharan, Moshe Lewenstein, Ely Porat
SODA4
2000 Approximate Swapped Matching
Amihood Amir, Moshe Lewenstein, Ely Porat
FSTTCS3
2000 Faster algorithms for string matching with k mismatches
Amihood Amir, Moshe Lewenstein, Ely Porat
SODA3