Sharma V. Thankachan

dblp:99/7237 · DBLP profile ↗
← Back
122ranked-venue papers
5as first author
32since 2021 · last 2026
0000-0002-6852-1035ORCID · verified

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

Theory of computation · 57 · 17 since 2021Databases, data management, data science and information retrieval · 32 · 1 first-author · 6 since 2021Graphics, computer vision, multimedia, augmented reality and games · 25 · 1 first-author · 3 since 2021Applied, interdisciplinary, general and emerging computing · 14 · 3 first-author · 8 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021Systems, architecture and hardware · 2
YearPublicationVenuePosition
2026 Indexing Integer Strings Using Local Difference Bounds
abstract
Time series data can often be represented as a string T[1..n] over an integer alphabet Σ. A standard approach for indexing such strings is the compressed suffix tree, which supports efficient exact pattern matching using 𝒪(n log |Σ|) bits of space. However, when |Σ| is close to n, as is often the case for time-series data, this yields little to no space savings over the classical Θ(n log n)-bit suffix tree. In this work, we study a different parameter that is often much smaller than |Σ|: the maximum absolute difference between consecutive values in T, denoted by Δ. Although representing T in 𝒪(n log Δ) bits is straightforward, supporting efficient pattern matching within this space bound remains challenging. By leveraging succinct data structure techniques, particularly the FM-index, we obtain a compressed index occupying n log Δ + 𝒪(n) bits. Given a query pattern P[1..m], the index answers counting queries in 𝒪(m log Δ) time and reporting queries in 𝒪(m log Δ + occ ⋅ log n ⋅ log Δ) time, where occ denotes the number of occurrences of P in T. In addition, the structure supports suffix array and inverse suffix array queries in 𝒪(log n ⋅ log Δ) time. Our construction is conceptually simple. We show that the local-difference bound induces a strong form of locality in the Burrows-Wheeler Transform (BWT), allowing the transformed text to be decomposed into regions that each use only a small local alphabet of size 𝒪(Δ). This makes it possible to adapt the classical FM-index so that its space usage depends on Δ rather than the overall alphabet size, while still supporting efficient pattern matching queries.
Daniel Gibney, Kaamil Kaka, Sharma V. Thankachan
ESA3
2026 Contextual Pattern Mining and Counting
Ling Li 0012, Daniel Gibney, Sharma V. Thankachan, Solon P. Pissis, Grigorios Loukides
ICDE3
2026 Relative Compressed Reverse Suffix Array
M. Oguzhan Külekci, Mano Prakash Parthasarathi, Rahul Shah 0001, Sharma V. Thankachan
STACS4
2025 Repetition Aware Text Indexing for Matching Patterns with Wildcards
Daniel Gibney, Jackson Huffstutler, Mano Prakash Parthasarathi, Sharma V. Thankachan
ICALP4
2025 Two-Dimensional Longest Common Extension Queries in Compact Space
Arnab Ganguly 0002, Daniel Gibney, Rahul Shah 0001, Sharma V. Thankachan
STACS4
2025 Editorial: Special Section on Computational Advances in Bio and Medical Sciences
Ion I. Mandoiu, Marmar Moussa, Sanguthevar Rajasekaran, Pavel Skums, Sharma V. Thankachan, Alex Zelikovsky
IEEE Trans. Comput. Biol. Bioinform.5
2025 Non-overlapping indexing in BWT-runs bounded space
Daniel Gibney, Paul Macnichol, Sharma V. Thankachan
Theor. Comput. Sci.3
2024 Efficient Encodings for Privacy-Preserving Data Storage and Transmission
abstract
Secure and privacy-preserving storage of digital data typically requires encrypting it, where the retrieval will man-date its decryption. The overhead of these encryption/decryption requirements introduce some latency, which might be limiting user experience on massive volumes for real-time applications. Reducing this computational load have been studied previously by using lightweight algorithms or selective/partial encryption schemes. In this work, we propose using a recently introduced privacy-preserving coding method [1] (COCOON’2023) to reduce this load and observe that the number of encryption/decryption operations can be reduced by more than 75%, which can be a decent relief especially for real-world applications. We particularly consider privacy requirements of some applications on multimedia data, most typically images and videos.
Arghya Kusum Das, M. Oguzhan Külekci, Sharma V. Thankachan
IEEE Big Data3
2024 Longest Common Substring with Gaps and Related Problems
Aranya Banerjee, Daniel Gibney, Sharma V. Thankachan
ESA3
2024 Approximate Suffix-Prefix Dictionary Queries
Wiktor Zuba, Grigorios Loukides, Solon P. Pissis, Sharma V. Thankachan
MFCS4
2024 Near-Optimal Quantum Algorithms for Bounded Edit Distance and Lempel-Ziv Factorization
abstract
Measuring sequence similarity and compressing texts are among the most fundamental tasks in string algorithms. In this work, we develop near-optimal quantum algorithms for the central problems in these two areas: computing the edit distance of two strings [Levenshtein, 1965] and building the Lempel-Ziv factorization of a string [Ziv & Lempel, 1977], respectively.
Daniel Gibney, Ce Jin 0001, Tomasz Kociumaka, Sharma V. Thankachan
SODA4
2024 Bounded-Ratio Gapped String Indexing
Arnab Ganguly 0002, Daniel Gibney, Paul Macnichol, Sharma V. Thankachan
SPIRE4
2023 Suffix-Prefix Queries on a Dictionary
abstract
In the all-pairs suffix-prefix (APSP) problem, we are given a dictionary R of k strings, S_1,…,S_k, of total length n, and we are asked to find the length SPL_{i,j} of the longest string that is both a suffix of S_i and a prefix of S_j, for all i,j ∈ [1,k]. APSP is a classic problem in string algorithms with many applications in bioinformatics. When all strings of the dictionary are over an integer alphabet of size σ ≤ n^𝒪(1), APSP can be solved in the optimal 𝒪(n+k²) time with the use of the generalized suffix tree of the dictionary [Gusfield et al., Inf. Process. Lett. 1992]. In many bioinformatics applications, such as in sequence assembly, the size k of dictionary R is very large. In particular, k² usually dominates n, and thus the k² factor is the bottleneck both in the time and in the space complexity of such applications. We thus initiate a holistic study on several data structure variants of APSP. In particular, we consider the following types of queries: - One-to-One(i,j): output SPL_{i,j}. - One-to-All(i): output SPL_{i,j} for every j ∈ [1,k]. - Report(i,𝓁): output all distinct j ∈ [1,k] such that SPL_{i,j} ≥ 𝓁, where 𝓁 ≥ 0 is an integer. - Count(i,𝓁): output the number of distinct j ∈ [1,k] such that SPL_{i,j} ≥ 𝓁, where 𝓁 ≥ 0 is an integer. - Top(i,K): output K distinct j ∈ [1,k] with the highest values of SPL_{i,j} breaking ties arbitrarily. We assume the standard word RAM model of computation with word size w = Ω(log n) and an integer alphabet of size σ ≤ n^𝒪(1). We show the following upper bounds: Query | Space (words) | Query time | Note One-to-One(i,j) | 𝒪(n) | 𝒪(log log k) | Theorem 11 One-to-All(i) | 𝒪(n) | 𝒪(k) | Theorem 14 Report(i,𝓁) | 𝒪(n) | 𝒪(log n/log log n+output) | Theorem 19(i) Count(i,𝓁) | 𝒪(n) | 𝒪(log n/log log n) | Theorem 19(ii) Top(i,K) | 𝒪(n) | 𝒪(log² n/log log n+K) | Theorem 22 We also present efficient algorithms for constructing these data structures.
Grigorios Loukides, Solon P. Pissis, Sharma V. Thankachan, Wiktor Zuba
CPM3
2023 Contextual Pattern Matching in Less Space
abstract
We revisit the Contextual Pattern Matching Problem, defined as follows: preprocess a text T[1, n], so that given a query consisting of a string P and a length P, the occurrences of all distinct strings XPY where |X|=|Y|=P can be reported. This problem was introduced by Navarro, who presented an O($\overline{r}\log(n/\overline{r}))$ space data structure, where $\overline{r}$ is the maximum of the number of runs in the BWT of the text $\mathrm{T}[1,n]$ and its reverse. His solution reports all c contextual occurrences in $O(|P|+c\log n)$ time. However, the only known bounds on $\overline{r}$ are $\overline{r}=O(r\log^{2}n)$ where r is the number of runs in the BWT of T, making it desirable to avoid using structures with space dependent on $\overline{r}$. We demonstrate that this is possible without a significant sacrifice in query time by providing an $O(r\log(n/r))$ space solution that answers queries in $O(|P|+c\log P\cdot\log(n/r))$ time.
Paniz Abedin, Oliver A. Chubet, Daniel Gibney, Sharma V. Thankachan
DCC4
2023 Non-overlapping Indexing in BWT-Runs Bounded Space
Daniel Gibney, Paul Macnichol, Sharma V. Thankachan
SPIRE3
2023 Ranked Document Retrieval in External Memory
abstract
The ranked (or top- k ) document retrieval problem is defined as follows: preprocess a collection {T 1 ,T 2 ,… ,T d } of d strings (called documents) of total length n into a data structure, such that for any given query (P,k) , where P is a string (called pattern) of length p ≥ 1 and k ∈ [1,d] is an integer, the identifiers of those k documents that are most relevant to P can be reported, ideally in the sorted order of their relevance. The seminal work by Hon et al. [FOCS 2009 and Journal of the ACM 2014] presented an O(n) -space (in words) data structure with O(p+k log k) query time. The query time was later improved to O(p+k) [SODA 2012] and further to O(p/ log σn+k ) [SIAM Journal on Computing 2017] by Navarro and Nekrich, where σ is the alphabet size. We revisit this problem in the external memory model and present three data structures. The first one takes O(n) -space and answer queries in O(p/B + log B n + k/B+ log * (n/B) ) I/Os, where B is the block size. The second one takes O(n log * (n/B) ) space and answer queries in optimal O(p/B + log B n + k/B) I/Os. In both cases, the answers are reported in the unsorted order of relevance. To handle sorted top- k document retrieval, we present an O(n log (d/B)) space data structure with optimal query cost.
Rahul Shah 0001, Cheng Sheng 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
ACM Trans. Algorithms3
2022 Memory-Efficient FM-Index Construction for Reference Genomes
abstract
FM-index is traditionally constructed over the forward strand complemented with the reverse strand to support searching both strands by executing a single procedure. Although it expedite the process of indexing, it consumes large amount of memory. In this paper we propose a novel algorithm that is capable of compute the FM-index of a given reference sequence without appending its reverse complement to it. In fact, we deduce the rank of the suffixes on the reverse complemented DNA sequences from the suffix ranks on the forward strand. It reduces the memory consumption significantly. Given a reference genome F of length n, FR is the concatenated forward and reverse strand, where R is the reverse complement string of F such that each base is replaced with its corresponding complement in the reverse order. The algorithm makes it possible to compute the FM-index over 2n–symbols long FR by using the FM-index over the n–symbols long FM-index, which nearly halves the memory consumption. The embarrassingly parallel process can speed up significantly with the availability of more cores/threads.
Arghya Kusum Das, M. Oguzhan Külekci, Sharma V. Thankachan
BIBM3
2022 Compact Text Indexing for Advanced Pattern Matching Problems: Parameterized, Order-Isomorphic, 2D, etc. (Invited Talk)
Sharma V. Thankachan
CPM1
2022 Fully Functional Parameterized Suffix Trees in Compact Space
Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
ICALP3
2022 The Complexity of Approximate Pattern Matching on de Bruijn Graphs
Daniel Gibney, Sharma V. Thankachan, Srinivas Aluru
RECOMB2
2022 Co-linear Chaining with Overlaps and Gap Costs
Daniel Gibney, Sharma V. Thankachan
RECOMB3
2022 Quantum Time Complexity and Algorithms for Pattern Matching on Labeled Graphs
Parisa Darbari, Daniel Gibney, Sharma V. Thankachan
SPIRE3
2022 Feasibility of Flow Decomposition with Subpath Constraints in Linear Time
abstract
Decomposing a network flow into weighted paths has numerous applications. Some applications require any decomposition that is optimal w.r.t. some property such as number of paths, robustness, or length. Many bioinformatic applications require a specific decomposition where the paths correspond to some underlying data that generated the flow. For real inputs, no optimization criteria guarantees to uniquely identify the correct decomposition. Therefore, we propose to report safe paths, i.e., subpaths of at least one path in every flow decomposition. Ma, Zheng, and Kingsford [WABI 2020] addressed the existence of multiple optimal solutions in a probabilistic framework, i.e., non-identifiability. Later [RECOMB 2021], they gave a quadratic-time algorithm based on a global criterion for solving a problem called AND-Quant, which generalizes the problem of reporting whether a given path is safe. We give the first local characterization of safe paths for flow decompositions in directed acyclic graphs (DAGs), leading to a practical algorithm for finding the complete set of safe paths. We evaluated our algorithms against the trivial safe algorithms (unitigs, extended unitigs) and the popularly used heuristic (greedy-width) for flow decomposition on RNA transcripts datasets. Despite maintaining perfect precision our algorithm reports significantly higher coverage ($\approx 50\%$ more) than trivial safe algorithms. The greedy-width algorithm though reporting a better coverage, has significantly lower precision on complex graphs. Overall, our algorithm outperforms (by $\approx 20\%$) greedy-width on a unified metric (F-Score) when the dataset has significant number of complex graphs. Moreover, it has superior time ($3-5\times$) and space efficiency ($1.2-2.2\times$), resulting in a better and more practical approach for bioinformatics applications of flow decomposition.
Daniel Gibney, Sharma V. Thankachan, Srinivas Aluru
WABI2
2022 The Heaviest Induced Ancestors Problem: Better Data Structures and Applications
Paniz Abedin, Sahar Hooshmand, Arnab Ganguly 0002, Sharma V. Thankachan
Algorithmica4
2022 On the Complexity of Recognizing Wheeler Graphs
Daniel Gibney, Sharma V. Thankachan
Algorithmica2
2021 LF Successor: Compact Space Indexing for Order-Isomorphic Pattern Matching
abstract
Two strings are order isomorphic iff the relative ordering of their characters is the same at all positions. For a given text T[1,n] over an ordered alphabet of size σ, we can maintain an order-isomorphic suffix tree/array in O(nlog n) bits and support (order-isomorphic) pattern/substring matching queries efficiently. It is interesting to know if we can encode these structures in space close to the text’s size of nlogσ bits. We answer this question positively by presenting an O(nlog σ)-bit index that allows access to any entry in order-isomorphic suffix array (and its inverse array) in t_{SA} = {O}(log²n/logσ) time. For any pattern P given as a query, this index can count the number of substrings of T that are order-isomorphic to P (denoted by occ) in {O}((|P|logσ+t_{SA})log n) time using standard techniques. Also, it can report the locations of those substrings in additional O(occ ⋅ t_{SA}) time.
Arnab Ganguly 0002, Dhrumil Patel, Rahul Shah 0001, Sharma V. Thankachan
ICALP4
2021 Finding an Optimal Alphabet Ordering for Lyndon Factorization Is Hard
Daniel Gibney, Sharma V. Thankachan
STACS2
2021 An Ultra-Fast and Parallelizable Algorithm for Finding $k$k-Mismatch Shortest Unique Substrings
abstract
This paper revisits the$k$-mismatch shortest unique substring finding problem and demonstrates that a technique recently presented in the context of solving the$k$-mismatch average common substring problem can be adapted and combined with parts of the existing solution, resulting in a new algorithm which has expected time complexity of$O(n\;\log \!^{k}\;{n})$, while maintaining a practical space complexity at$O(kn)$, where$n$is the string length. When$k>0$, which is the hard case, our new proposal significantly improves the any-case$O(n^2)$time complexity of the prior best method for$k$-mismatch shortest unique substring finding. Experimental study shows that our new algorithm is practical to implement and demonstrates significant improvements in processing time compared to the prior best solution's implementation when$k$is small relative to$n$. For example, our method processes a 200 KB sample DNA sequence with$k=1$in just 0.18 seconds compared to 174.37 seconds with the prior best solution. Further, it is observed that significant portions of the adapted technique can be executed in parallel, using two different simple concurrency models, resulting in further significant practical performance improvement. As an example, when using 8 cores, the parallel implementations both achieved processing times that are less than$1/4$of the serial implementation's time cost, when processing a 10 MB sample DNA sequence with$k=2$. In an age where instances with thousands of gigabytes of RAM are readily available for use through Cloud infrastructure providers, it is likely that the trade-off of additional memory usage for significantly improved processing times will be desirable and needed by many users. For example, the best prior solution may spend years to finish a DNA sample of 200MB for any$k>0$, while this new proposal, using 24 cores, can finish processing a sample of this size with$k=1$in 206.376 seconds with a peak memory usage of 46 GB, which is both easily available and affordable on Cloud. It is expected that this new efficient and practical algorithm for$k$-mismatch shortest unique substring finding will prove useful to those using the measure on long sequences in fields such as computational biology. We also give a theoretical bound that the$k$-mismatch shortest unique substring finding problem can be solved using$O(n\;\log \!^{k}\;{n})$time and$O(n)$space, asymptotically much better than the one we implemented, serving as a new discovery of interest.
Daniel R. Allen, Sharma V. Thankachan, Bojian Xu
IEEE ACM Trans. Comput. Biol. Bioinform.2
2021 Guest Editorial for Selected Papers From BIOKDD 2019
abstract
The papers in this special section were presented at the 18th International Workshop on Data Mining in Bioinformatics (BIOKDD), held in conjunction with the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining that was held on August 5, 2019 in Anchorage, Alaska.
Da Yan 0001, Sharma V. Thankachan, Jake Yue Chen
IEEE ACM Trans. Comput. Biol. Bioinform.2
2021 I/O-optimal categorical 3-sided skyline queries
Arnab Ganguly 0002, Daniel Gibney, Sharma V. Thankachan, Rahul Shah 0001
Theor. Comput. Sci.3
2021 A framework for designing space-efficient dictionaries for parameterized and order-preserving matching
Arnab Ganguly 0002, Wing-Kai Hon, Kunihiko Sadakane, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.5
2021 I/O-efficient data structures for non-overlapping indexing
Sahar Hooshmand, Paniz Abedin, M. Oguzhan Külekci, Sharma V. Thankachan
Theor. Comput. Sci.4
2020 FM-Index Reveals the Reverse Suffix Array
abstract
Given a text T[1,n] over an alphabet Σ of size σ, the suffix array of T stores the lexicographic order of the suffixes of T. The suffix array needs Θ(nlog n) bits of space compared to the n log σ bits needed to store T itself. A major breakthrough [FM - Index, FOCS'00] in the last two decades has been encoding the suffix array in near-optimal number of bits (≈ log σ bits per character). One can decode a suffix array value using the FM-Index in log^{O(1)} n time. We study an extension of the problem in which we have to also decode the suffix array values of the reverse text. This problem has numerous applications such as in approximate pattern matching [Lam et al., BIBM' 09]. Known approaches maintain the FM - Index of both the forward and the reverse text which drives up the space occupancy to 2nlog σ bits (plus lower order terms). This brings in the natural question of whether we can decode the suffix array values of both the forward and the reverse text, but by using nlog σ bits (plus lower order terms). We answer this question positively, and show that given the FM - Index of the forward text, we can decode the suffix array value of the reverse text in near logarithmic average time. Additionally, our experimental results are competitive when compared to the standard approach of maintaining the FM - Index for both the forward and the reverse text. We believe that applications that require both the forward and reverse text will benefit from our approach.
Arnab Ganguly 0002, Daniel Gibney, Sahar Hooshmand, M. Oguzhan Külekci, Sharma V. Thankachan
CPM5
2020 On the Complexity of BWT-Runs Minimization via Alphabet Reordering
abstract
The Burrows-Wheeler Transform (BWT) has been an essential tool in text compression and indexing. First introduced in 1994, it went on to provide the backbone for the first encoding of the classic suffix tree data structure in space close to the entropy-based lower bound. Recently, there has been the development of compact suffix trees in space proportional to "$r$", the number of runs in the BWT, as well as the appearance of $r$ in the time complexity of new algorithms. Unlike other popular measures of compression, the parameter $r$ is sensitive to the lexicographic ordering given to the text's alphabet. Despite several past attempts to exploit this, a provably efficient algorithm for finding, or approximating, an alphabet ordering which minimizes $r$ has been open for years. We present the first set of results on the computational complexity of minimizing BWT-runs via alphabet reordering. We prove that the decision version of this problem is NP-complete and cannot be solved in time $2^{o(σ+ \sqrt{n})}$ unless the Exponential Time Hypothesis fails, where $σ$ is the size of the alphabet and $n$ is the length of the text. We also show that the optimization problem is APX-hard. In doing so, we relate two previously disparate topics: the optimal traveling salesperson path and the number of runs in the BWT of a text, providing a surprising connection between problems on graphs and text compression. Also, by relating recent results in the field of dictionary compression, we illustrate that an arbitrary alphabet ordering provides a $O(\log^2 n)$-approximation. We provide an optimal linear-time algorithm for the problem of finding a run minimizing ordering on a subset of symbols (occurring only once) under ordering constraints, and prove a generalization of this problem to a class of graphs with BWT like properties called Wheeler graphs is NP-complete.
Jason W. Bentley, Daniel Gibney, Sharma V. Thankachan
ESA3
2020 The Fine-Grained Complexity of Median and Center String Problems Under Edit Distance
abstract
We present the first fine-grained complexity results on two classic problems on strings. The first one is the k-Median-Edit-Distance problem, where the input is a collection of k strings, each of length at most n, and the task is to find a new string that minimizes the sum of the edit distances from itself to all other strings in the input. Arising frequently in computational biology, this problem provides an important generalization of edit distance to multiple strings and is similar to the multiple sequence alignment problem in bioinformatics. We demonstrate that for any ε > 0 and k ≥ 2, an O(n^{k-ε}) time solution for the k-Median-Edit-Distance problem over an alphabet of size O(k) refutes the Strong Exponential Time Hypothesis (SETH). This provides the first matching conditional lower bound for the O(n^k) time algorithm established in 1975 by Sankoff. The second problem we study is the k-Center-Edit-Distance problem. Here also, the input is a collection of k strings, each of length at most n. The task is to find a new string that minimizes the maximum edit distance from itself to any other string in the input. We prove that the same conditional lower bound as before holds. Our results also imply new conditional lower bounds for the k-Tree-Alignment and the k-Bottleneck-Tree-Alignment problems studied in phylogenetics.
Gary Hoppenworth, Jason W. Bentley, Daniel Gibney, Sharma V. Thankachan
ESA4
2020 Succinct Non-overlapping Indexing
Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
Algorithmica3
2020 An alignment-free heuristic for fast sequence comparisons with applications to phylogeny reconstruction
abstract
Abstract Background Alignment-free methods for sequence comparisons have become popular in many bioinformatics applications, specifically in the estimation of sequence similarity measures to construct phylogenetic trees. Recently, the average common substring measure, ACS, and its k-mismatch counterpart, ACSk, have been shown to produce results as effective as multiple-sequence alignment based methods for reconstruction of phylogeny trees. Since computing ACSk takes O(n logkn) time and hence impractical for large datasets, multiple heuristics that can approximate ACSk have been introduced. Results In this paper, we present a novel linear-time heuristic to approximate ACSk, which is faster than computing the exact ACSk while being closer to the exact ACSk values compared to previously published linear-time greedy heuristics. Using four real datasets, containing both DNA and protein sequences, we evaluate our algorithm in terms of accuracy, runtime and demonstrate its applicability for phylogeny reconstruction. Our algorithm provides better accuracy than previously published heuristic methods, while being comparable in its applications to phylogeny reconstruction. Conclusions Our method produces a better approximation for ACSk and is applicable for the alignment-free comparison of biological sequences at highly competitive speed. The algorithm is implemented in Rust programming language and the source code is available at https://github.com/srirampc/adyar-rs .
Sriram P. Chockalingam, Jodh Pannu, Sahar Hooshmand, Sharma V. Thankachan, Srinivas Aluru
BMC Bioinform.4
2020 A brief history of parameterized matching problems
Juan Mendivelso, Sharma V. Thankachan, Yoan J. Pinzón
Discret. Appl. Math.2
2020 Sequential and parallel algorithms for all-pair k-mismatch maximal common substrings
Sriram P. Chockalingam, Sharma V. Thankachan, Srinivas Aluru
J. Parallel Distributed Comput.2
2020 A linear-space data structure for range-LCP queries in poly-logarithmic time
Paniz Abedin, Arnab Ganguly 0002, Wing-Kai Hon, Kotaro Matsuda, Yakov Nekrich, Kunihiko Sadakane, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.8
2020 Ranked document selection
J. Ian Munro, Gonzalo Navarro 0001, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.4
2019 Parameterized Text Indexing with One Wildcard
abstract
Two equal-length strings X and Y over an alphabet Σ of size σ are a parameterized match iff X can be transformed to Y by renaming the character X[i] to the character Y[i] for 1 ≤ i ≤ |X| using a one-to-one function from the set of characters in X to the set of characters in Y. The parameterized text indexing problem is defined as: Index a text T of n characters over an alphabet set Σ of size σ, such that whenever a pattern P[1, p] comes as a query, we can report all occ parameterized occurrences of P in T. A position i ϵ [1, n] is a parameterized occurrence of P in T, iff P and T[i,(i+p-1)] are a parameterized match. We study an interesting generalization of this problem, where the pattern contains one wildcard character φ ∉ Σ that matches with any other character in Σ. Therefore, for a pattern P[1, p] = P1φP2, our task is to report all positions i in T, such that the string P_1 P_2 and the string obtained by concatenating T[i,(i+|P1|-1)] and T[(i+|P1|+1),(i+p-1)] are a parameterized match. We show that such queries can be answered in optimal O(p+occ) time per query using an O(n log n) space index. We then show how to compress our index into O(n log σ) space but with a higher query cost of O(p(log log n+logσ)+occ logσ).
Arnab Ganguly 0002, Wing-Kai Hon, Solon P. Pissis, Rahul Shah 0001, Sharma V. Thankachan
DCC6
2019 On the Hardness and Inapproximability of Recognizing Wheeler Graphs
abstract
In recent years several compressed indexes based on variants of the Burrows-Wheeler transformation have been introduced. Some of these are used to index structures far more complex than a single string, as was originally done with the FM-index [Ferragina and Manzini, J. ACM 2005]. As such, there has been an increasing effort to better understand under which conditions such an indexing scheme is possible. This has led to the introduction of Wheeler graphs [Gagie et al., Theor. Comput. Sci., 2017]. Gagie et al. showed that de Bruijn graphs, generalized compressed suffix arrays, and several other BWT related structures can be represented as Wheeler graphs, and that Wheeler graphs can be indexed in a way which is space efficient. Hence, being able to recognize whether a given graph is a Wheeler graph, or being able to approximate a given graph by a Wheeler graph, could have numerous applications in indexing. Here we resolve the open question of whether there exists an efficient algorithm for recognizing if a given graph is a Wheeler graph. We present: - The problem of recognizing whether a given graph G=(V,E) is a Wheeler graph is NP-complete for any edge label alphabet of size sigma >= 2, even when G is a DAG. This holds even on a restricted, subset of graphs called d-NFA’s for d >= 5. This is in contrast to recent results demonstrating the problem can be solved in polynomial time for d-NFA’s where d <= 2. We also show the recognition problem can be solved in linear time for sigma =1; - There exists an 2^{e log sigma + O(n + e)} time exact algorithm where n = |V| and e = |E|. This algorithm relies on graph isomorphism being computable in strictly sub-exponential time; - We define an optimization variant of the problem called Wheeler Graph Violation, abbreviated WGV, where the aim is to remove the minimum number of edges in order to obtain a Wheeler graph. We show WGV is APX-hard, even when G is a DAG, implying there exists a constant C >= 1 for which there is no C-approximation algorithm (unless P = NP). Also, conditioned on the Unique Games Conjecture, for all C >= 1, it is NP-hard to find a C-approximation; - We define the Wheeler Subgraph problem, abbreviated WS, where the aim is to find the largest subgraph which is a Wheeler Graph (the dual of the WGV). In contrast to WGV, we prove that the WS problem is in APX for sigma=O(1); The above findings suggest that most problems under this theme are computationally difficult. However, we identify a class of graphs for which the recognition problem is polynomial time solvable, raising the open question of which parameters determine this problem’s difficulty.
Daniel Gibney, Sharma V. Thankachan
ESA2
2019 Categorical Range Reporting with Frequencies
abstract
In this paper, we consider a variant of the color range reporting problem called color reporting with frequencies. Our goal is to pre-process a set of colored points into a data structure, so that given a query range Q, we can report all colors that appear in Q, along with their respective frequencies. In other words, for each reported color, we also output the number of times it occurs in Q. We describe an external-memory data structure that uses O(N(1+log^2D/log N)) words and answers one-dimensional queries in O(1 +K/B) I/Os, where N is the total number of points in the data structure, D is the total number of colors in the data structure, K is the number of reported colors, and B is the block size. Next we turn to an approximate version of this problem: report all colors sigma that appear in the query range; for every reported color, we provide a constant-factor approximation on its frequency. We consider color reporting with approximate frequencies in two dimensions. Our data structure uses O(N) space and answers two-dimensional queries in O(log_B N +log^*B + K/B) I/Os in the special case when the query range is bounded on two sides. As a corollary, we can also answer one-dimensional approximate queries within the same time and space bounds.
Arnab Ganguly 0002, J. Ian Munro, Yakov Nekrich, Rahul Shah 0001, Sharma V. Thankachan
ICDT5
2019 Range Shortest Unique Substring Queries
Paniz Abedin, Arnab Ganguly 0002, Solon P. Pissis, Sharma V. Thankachan
SPIRE4
2019 A deep learning approach for diagnosing schizophrenic patients
abstract
In this article, the investigators present a new method using a deep learning approach to diagnose schizophrenia. In the experiment presented, the investigators used a secondary dataset provided by The National Institute of Health. The experimentation involves analyzing this dataset for the existence of schizophrenia using traditional machine learning approaches such as logistic regression, support vector machine, and random forest. This is followed by the application of deep learning techniques using three hidden layers in the model. The results obtained indicate that the new deep learning technique formulated by the investigators provide a higher accuracy in diagnosing schizophrenia. These results suggest that deep learning may provide a paradigm shift in diagnosing schizophrenia.
Srivathsan Srinivasagopalan, Justin Barry, Varadraj Prabhu Gurupur, Sharma V. Thankachan
J. Exp. Theor. Artif. Intell.4
2018 A Linear-Space Data Structure for Range-LCP Queries in Poly-Logarithmic Time
Paniz Abedin, Arnab Ganguly 0002, Wing-Kai Hon, Yakov Nekrich, Kunihiko Sadakane, Rahul Shah 0001, Sharma V. Thankachan
COCOON7
2018 The Heaviest Induced Ancestors Problem Revisited
abstract
We revisit the heaviest induced ancestors problem, which has several interesting applications in string matching. Let T_1 and T_2 be two weighted trees, where the weight W(u) of a node u in either of the two trees is more than the weight of u's parent. Additionally, the leaves in both trees are labeled and the labeling of the leaves in T_2 is a permutation of those in T_1. A node x in T_1 and a node y in T_2 are induced, iff their subtree have at least one common leaf label. A heaviest induced ancestor query HIA(u_1,u_2) is: given a node u_1 in T_1 and a node u_2 in T_2, output the pair (u_1^*,u_2^*) of induced nodes with the highest combined weight W(u^*_1) + W(u^*_2), such that u_1^* is an ancestor of u_1 and u^*_2 is an ancestor of u_2. Let n be the number of nodes in both trees combined and epsilon >0 be an arbitrarily small constant. Gagie et al. [CCCG' 13] introduced this problem and proposed three solutions with the following space-time trade-offs: - an O(n log^2n)-word data structure with O(log n log log n) query time - an O(n log n)-word data structure with O(log^2 n) query time - an O(n)-word data structure with O(log^{3+epsilon}n) query time. In this paper, we revisit this problem and present new data structures, with improved bounds. Our results are as follows. - an O(n log n)-word data structure with O(log n log log n) query time - an O(n)-word data structure with O(log^2 n/log log n) query time. As a corollary, we also improve the LZ compressed index of Gagie et al. [CCCG' 13] for answering longest common substring (LCS) queries. Additionally, we show that the LCS after one edit problem of size n [Amir et al., SPIRE' 17] can also be reduced to the heaviest induced ancestors problem over two trees of n nodes in total. This yields a straightforward improvement over its current solution of O(n log^3 n) space and O(log^3 n) query time.
Paniz Abedin, Sahar Hooshmand, Arnab Ganguly 0002, Sharma V. Thankachan
CPM4
2018 Non-Overlapping Indexing - Cache Obliviously
abstract
The non-overlapping indexing problem is defined as follows: pre-process a given text T[1,n] of length n into a data structure such that whenever a pattern P[1,p] comes as an input, we can efficiently report the largest set of non-overlapping occurrences of P in T. The best known solution is by Cohen and Porat [ISAAC, 2009]. Their index size is O(n) words and query time is optimal O(p+nocc), where nocc is the output size. We study this problem in the cache-oblivious model and present a new data structure of size O(n log n) words. It can answer queries in optimal O(p/(B)+log_B n+nocc/B) I/Os, where B is the block size.
Sahar Hooshmand, Paniz Abedin, M. Oguzhan Külekci, Sharma V. Thankachan
CPM4
2018 Compact Encoding for Galled-Trees and Its Applications
abstract
Galled treesare a class of tree-like phylogenetic networks in which the loops are not overlapping with each other. They are popularly used among biologists to represent the evolutionary history between a set of species. In this paper, we propose a compact encoding for the structure of a galled tree, and show that with our encoding, the treecontainment problemon a galled tree can be solved in optimal time.
Kuang-Yu Chang, Wing-Kai Hon, Sharma V. Thankachan
DCC3
2018 Algorithmic Framework for Approximate Matching Under Bounded Edits with Applications to Sequence Analysis
Sharma V. Thankachan, Chaitanya Aluru, Sriram P. Chockalingam, Srinivas Aluru
RECOMB1
2018 Dictionary Matching with a Bounded Gap in Pattern or in Text
Wing-Kai Hon, Tak Wah Lam, Rahul Shah 0001, Sharma V. Thankachan, Hing-Fung Ting
Algorithmica4
2018 A Linear Space Data Structure for Range LCP Queries
abstract
Range LCP (longest common prefix) is an extension of the classical LCP problem and is defined as follows: Preprocess a string S[1...n] of n characters, such that whenever an interval [i, j] comes as a query, we can report max{|LCP(Sp, Sq)| | i ≤ p < q ≤ j} Here LCP(Sp, Sq) is the longest common pre fix of the suffixes of S starting at locations p and q, and |LCP(Sp, Sq)| is its length. This problem was first addressed by Amir et al. [ISAAC, 2011]. They showed that the query can be answered in O(log log n) time using an O(n log1+ɛ n) space data structure for an arbitrarily small constant ɛ > 0. In an attempt to reduce the space bound, they presented a linear space data structure of O(d log log n) query time, where d = (j − i + 1). In this paper, we present a new linear space data structure with an improved query time of O(dlogd(logn)1/2−ɛ).
Arnab Ganguly 0002, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
Fundam. Informaticae4
2018 On Computing Average Common Substring Over Run Length Encoded Sequences
abstract
The Average Common Substring (ACS) is a popular alignment-free distance measure for phylogeny reconstruction. The ACS of a sequence X[1, x] w.r.t. another sequence Y[1, y] is ACS(X, Y) = 1x∑i=1xmaxjlcp(X[i, x], Y[j, y]) The lcp(·, ·) of two input sequences is the length of their longest common p refix. The ACS can be computed in O(n) space and time, where n = x + y is the input size. The compressed string matching is the study of string matching problems with the following twist: the input data is in a compressed format and the underling task must be performed with little or no decompression. In this paper, we revisit the ACS problem under this paradigm where the input sequences are given in their run-length encoded format. We present an algorithm to compute ACS(X, Y) in O(N logN) time using O(N) space, where N is the total length of sequences after run-length encoding.
Sahar Hooshmand, Neda Tavakoli, Paniz Abedin, Sharma V. Thankachan
Fundam. Informaticae4
2018 Ranked document retrieval for multiple patterns
Sudip Biswas, Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.4
2017 Structural Pattern Matching - Succinctly
abstract
Let T be a text of length n containing characters from an alphabet \Sigma, which is the union of two disjoint sets: \Sigma_s containing static characters (s-characters) and \Sigma_p containing parameterized characters (p-characters). Each character in \Sigma_p has an associated complementary character from \Sigma_p. A pattern P (also over \Sigma) matches an equal-length substring $S$ of T iff the s-characters match exactly, there exists a one-to-one function that renames the p-characters in S to the p-characters in P, and if a p-character x is renamed to another p-character y then the complement of x is renamed to the complement of y. The task is to find the starting positions (occurrences) of all such substrings S. Previous indexing solution [Shibuya, SWAT 2000], known as Structural Suffix Tree, requires \Theta(n\log n) bits of space, and can find all occ occurrences in time O(|P|\log \sigma+ occ), where \sigma = |\Sigma|. In this paper, we present the first succinct index for this problem, which occupies n \log \sigma + O(n) bits and offers O(|P|\log\sigma+ occ\cdot \log n \log\sigma) query time.
Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
ISAAC3
2017 pBWT: Achieving Succinct Data Structures for Parameterized Pattern Matching and Related Problems
abstract
The fields of succinct data structures and compressed text indexing have seen quite a bit of progress over the last two decades. An important achievement, primarily using techniques based on the Burrows-Wheeler Transform (BWT), was obtaining the full functionality of the suffix tree in the optimal number of bits. A crucial property that allows the use of BWT for designing compressed indexes is order-preserving suffix links. Specifically, the relative order between two suffixes in the subtree of an internal node is same as that of the suffixes obtained by truncating the first character of the two suffixes. Unfortunately, in many variants of the text-indexing problem, for e.g., parameterized pattern matching, 2D pattern matching, and order-isomorphic pattern matching, this property does not hold. Consequently, the compressed indexes based on BWT do not directly apply. Furthermore, a compressed index for any of these variants has been elusive throughout the advancement of the field of succinct data structures. We achieve a positive breakthrough on one such problem, namely the Parameterized Pattern Matching problem. Let T be a text that contains η characters from an alphabet Σ, which is the union of two disjoint sets: Ss containing static characters (s-characters) and Σρ containing parameterized characters (p-characters). A pattern P (also over Σ) matches an equal-length substring S of T iff the s-characters match exactly, and there exists a one-to-one function that renames the p-characters in S to that in P. The task is to find the starting positions (occurrences) of all such substrings S. Previous index [Baker, STOC 1993], known as Parameterized Suffix Tree, requires Θ(n log n) bits of space, and can find all occ occurrences in time O(|P| log σ + occ), where σ = |Σ|. We introduce an η log σ + O(n)-bit index with O(|P| log σ+ occ Log η log σ) query time. At the core, lies a new BWT-like transform, which we call the Parameterized Burrows-Wheeler Transform (pBWT). The techniques are extended to obtain a succinct index for the Parameterized Dictionary Matching problem of Idury and Schaffer [CPM, 1994].
Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
SODA3
2017 Top-k Term-Proximity in Succinct Space
J. Ian Munro, Gonzalo Navarro 0001, Jesper Sindahl Nielsen, Rahul Shah 0001, Sharma V. Thankachan
Algorithmica5
2017 A greedy alignment-free distance estimator for phylogenetic inference
abstract
BACKGROUND: Alignment-free sequence comparison approaches have been garnering increasing interest in various data- and compute-intensive applications such as phylogenetic inference for large-scale sequences. While k-mer based methods are predominantly used in real applications, the average common substring (ACS) approach is emerging as one of the prominent alignment-free approaches. This ACS approach has been further generalized by some recent work, either greedily or exactly, by allowing a bounded number of mismatches in the common substrings. RESULTS: We present ALFRED-G, a greedy alignment-free distance estimator for phylogenetic tree reconstruction based on the concept of the generalized ACS approach. In this algorithm, we have investigated a new heuristic to efficiently compute the lengths of common strings with mismatches allowed, and have further applied this heuristic to phylogeny reconstruction. Performance evaluation using real sequence datasets shows that our heuristic is able to reconstruct comparable, or even more accurate, phylogenetic tree topologies than the kmacs heuristic algorithm at highly competitive speed. CONCLUSIONS: ALFRED-G is an alignment-free heuristic for evolutionary distance estimation between two biological sequences. This algorithm is implemented in C++ and has been incorporated into our open-source ALFRED software package ( http://alurulab.cc.gatech.edu/phylo ).
Sharma V. Thankachan, Sriram P. Chockalingam, Yongchao Liu 0004, Ambujam Krishnan, Srinivas Aluru
BMC Bioinform.1
2017 Space-time trade-offs for finding shortest unique substrings and maximal unique matches
Arnab Ganguly 0002, Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.4
2017 In-place algorithms for exact and approximate shortest unique substring problems
Wing-Kai Hon, Sharma V. Thankachan, Bojian Xu
Theor. Comput. Sci.2
2016 Space-Efficient Dictionaries for Parameterized and Order-Preserving Pattern Matching
abstract
Let S and S' be two strings of the same length.We consider the following two variants of string matching. * Parameterized Matching: The characters of S and S' are partitioned into static characters and parameterized characters. The strings are parameterized match iff the static characters match exactly and there exists a one-to-one function which renames the parameterized characters in S to those in S'. * Order-Preserving Matching: The strings are order-preserving match iff for any two integers i,j in [1,|S|], S[i] <= S[j] iff S'[i] <= S'[j]. Let P be a collection of d patterns {P_1, P_2, ..., P_d} of total length n characters, which are chosen from an alphabet Sigma. Given a text T, also over Sigma, we consider the dictionary indexing problem under the above definitions of string matching. Specifically, the task is to index P, such that we can report all positions j where at least one of the patterns P_i in P is a parameterized-match (resp. order-preserving match) with the same-length substring of $T$ starting at j. Previous best-known indexes occupy O(n * log(n)) bits and can report all occ positions in O(|T| * log(|Sigma|) + occ) time. We present space-efficient indexes that occupy O(n * log(|Sigma|+d) * log(n)) bits and reports all occ positions in O(|T| * (log(|Sigma|) + log_{|Sigma|}(n)) + occ) time for parameterized matching and in O(|T| * log(n) + occ) time for order-preserving matching.
Arnab Ganguly 0002, Wing-Kai Hon, Kunihiko Sadakane, Rahul Shah 0001, Sharma V. Thankachan
CPM5
2016 Probabilistic Threshold Indexing for Uncertain Strings
Sudip Biswas, Manish Patil, Sharma V. Thankachan, Rahul Shah 0001
EDBT3
2016 Space-Time Trade-Offs for the Shortest Unique Substring Problem
abstract
Given a string X[1, n] and a position k in [1, n], the Shortest Unique Substring of X covering k, denoted by S_k, is a substring X[i, j] of X which satisfies the following conditions: (i) i leq k leq j, (ii) i is the only position where there is an occurrence of X[i, j], and (iii) j - i is minimized. The best-known algorithm [Hon et al., ISAAC 2015] can find S k for all k in [1, n] in time O(n) using the string X and additional 2n words of working space. Let tau be a given parameter. We present the following new results. For any given k in [1, n], we can compute S_k via a deterministic algorithm in O(n tau^2 log n tau) time using X and additional O(n/tau) words of working space. For every k in [1, n], we can compute S_k via a deterministic algorithm in O(n tau^2 log n/tau) time using X and additional O(n/tau) words and 4n + o(n) bits of working space. For both problems above, we present an O(n tau log^{c+1} n)-time randomized algorithm that uses n/ log c n words in addition to that mentioned above, where c geq 0 is an arbitrary constant. In this case, the reported string is unique and covers k, but with probability at most n^{-O(1)} , may not be the shortest. As a consequence of our techniques, we also obtain similar space-and-time tradeoffs for a related problem of finding Maximal Unique Matches of two strings [Delcher et al., Nucleic Acids Res. 1999].
Arnab Ganguly 0002, Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan
ISAAC4
2016 An Efficient Algorithm for Finding All Pairs k-Mismatch Maximal Common Substrings
Sharma V. Thankachan, Sriram P. Chockalingam, Srinivas Aluru
ISBRA1
2016 A parallel algorithm for finding all pairs k-mismatch maximal common substrings
abstract
We present an efficient parallel algorithm for the following problem: Given an input collection D of n sequences of total length N, a length threshold f and a mismatch threshold κ, report all κ-mismatch maximal common substrings of length at least f over all pairs of strings in D. This problem is motivated by clustering and assembly applications in computational biology, where D is a collection of millions of short DNA sequences. Sequencing errors and massive size of these datasets necessitate efficient parallel approximate sequence matching algorithms. We present a novel distributed memory parallel algorithm that solves this approximate sequence matching problem in O ((N/p log N + occ)logkN) expected time and takes only O(logk+1N) expected rounds of global communications, under some realistic assumptions, where p is the number of processors and occ is the output size. To our knowledge, this is the first provably sub-quadratic time algorithm for solving this problem. We demonstrate the performance and scalability of our algorithm using large high throughput sequencing data sets.
Sriram P. Chockalingam, Sharma V. Thankachan, Srinivas Aluru
SC2
2016 Linear-Space Data Structures for Range Frequency Queries on Arrays and Trees
Stephane Durocher, Rahul Shah 0001, Matthew Skala, Sharma V. Thankachan
Algorithmica4
2016 Optimal Encodings for Range Majority Queries
Gonzalo Navarro 0001, Sharma V. Thankachan
Algorithmica2
2016 Document retrieval with one wildcard
Moshe Lewenstein, J. Ian Munro, Yakov Nekrich, Sharma V. Thankachan
Theor. Comput. Sci.4
2016 Reporting consecutive substring occurrences under bounded gap constraints
Gonzalo Navarro 0001, Sharma V. Thankachan
Theor. Comput. Sci.2
2015 Ranked Document Retrieval with Forbidden Pattern
Sudip Biswas, Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
CPM4
2015 Succinct Non-overlapping Indexing
Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
CPM3
2015 Dictionary Matching with Uneven Gaps
Wing-Kai Hon, Tak Wah Lam, Rahul Shah 0001, Sharma V. Thankachan, Hing-Fung Ting
CPM4
2015 Reporting Consecutive Substring Occurrences Under Bounded Gap Constraints
Gonzalo Navarro 0001, Sharma V. Thankachan
CPM2
2015 Range Selection Queries in Data Aware Space and Time
abstract
On a given vector X = (x1, x2,..., xn) of integers, the range selection (i, j, k) query is finding the k-th smallest integer in (xi, xi+1,..., xj) for any (i, j, k) such that 1 ≤ i ≤ j ≤ n, and 1 ≤ k ≤ j - i + 1. Previous studies on the problem kept X intact and proposed data structures that occupied additional O(n · log n) bits of space over the X itself that answer the queries in logarithmic time. In this study, we replace X and encode all integers in it via a single wavelet tree by using S = n · log u + Σ∀ilog xi+ o(n · log u + Σ∀ilog xi) bits, where u is the number of distinct ⌊log xi⌋ values observed in X. Notice that u is at most 32 (64) for 32-bit (64-bit) integers and when xi> u, the space used for xiin the proposed data structure is less then the Elias-δ coding of xi. Besides data-aware coding of X, the range selection is performed in O(log u + log x') time where x' is the k-th smallest integer in the queried range. This somewhat adaptive result interestingly achieves the range selection regardless of the size of X, and totally depends on the actual answer of the query. In summary, to the best of our knowledge, we present the first algorithm using data-aware space and time for the general range selection problem.
M. Oguzhan Külekci, Sharma V. Thankachan
DCC2
2015 Forbidden Extension Queries
abstract
Document retrieval is one of the most fundamental problem in information retrieval. The objective is to retrieve all documents from a document collection that are relevant to an input pattern. Several variations of this problem such as ranked document retrieval, document listing with two patterns and forbidden patterns have been studied. We introduce the problem of document retrieval with forbidden extensions. Let D={T_1,T_2,...,T_D} be a collection of D string documents of n characters in total, and P^+ and P^- be two query patterns, where P^+ is a proper prefix of P^-. We call P^- as the forbidden extension of the included pattern P^+. A forbidden extension query < P^+,P^- > asks to report all occ documents in D that contains P^+ as a substring, but does not contain P^- as one. A top-k forbidden extension query < P^+,P^-,k > asks to report those k documents among the occ documents that are most relevant to P^+. We present a linear index (in words) with an O(|P^-| + occ) query time for the document listing problem. For the top-k version of the problem, we achieve the following results, when the relevance of a document is based on PageRank: - an O(n) space (in words) index with O(|P^-|log sigma+ k) query time, where sigma is the size of the alphabet from which characters in D are chosen. For constant alphabets, this yields an optimal query time of O(|P^-|+ k). - for any constant epsilon > 0, a |CSA| + |CSA^*| + Dlog frac{n}{D} + O(n) bits index with O(search(P)+ k cdot tsa cdot log ^{2+epsilon} n) query time, where search(P) is the time to find the suffix range of a pattern P, tsa is the time to find suffix (or inverse suffix) array value, and |CSA^*| denotes the maximum of the space needed to store the compressed suffix array CSA of the concatenated text of all documents, or the total space needed to store the individual CSA of each document.
Sudip Biswas, Arnab Ganguly 0002, Rahul Shah 0001, Sharma V. Thankachan
FSTTCS4
2015 Shared-Constraint Range Reporting
abstract
Orthogonal range reporting is one of the classic and most fundamental data structure problems. (2,1,1) query is a 3 dimensional query with two-sided constraint on the first dimension and one sided constraint on each of the 2nd and 3rd dimension. Given a set of N points in three dimension, a particular formulation of such a (2,1,1) query (known as four-sided range reporting in three-dimension) asks to report all those K points within a query region [a, b]X(-infinity, c]X[d, infinity). These queries have overall 4 constraints. In Word-RAM model, the best known structure capable of answering such queries with optimal query time takes O(N log^{epsilon} N) space, where epsilon>0 is any positive constant. It has been shown that any external memory structure in optimal I/Os must use Omega(N log N/ log log_B N) space (in words), where B is the block size [Arge et al., PODS 1999]. In this paper, we study a special type of (2,1,1) queries, where the query parameters a and c are the same i.e., a=c. Even though the query is still four-sided, the number of independent constraints is only three. In other words, one constraint is shared. We call this as a Shared-Constraint Range Reporting (SCRR) problem. We study this problem in both internal as well as external memory models. In RAM model where coordinates can only be compared, we achieve linear-space and O(log N+K) query time solution, matching the best-known three dimensional dominance query bound. Whereas in external memory, we present a linear space structure with O(log_B N + log log N + K/B) query I/Os. We also present an I/O-optimal (i.e., O(log_B N+K/B) I/Os) data structure which occupies O(N log log N)-word space. We achieve these results by employing a novel divide and conquer approach. SCRR finds application in database queries containing sharing among the constraints. We also show that SCRR queries naturally arise in many well known problems such as top-k color reporting, range skyline reporting and ranked document retrieval.
Sudip Biswas, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
ICDT4
2015 An In-place Framework for Exact and Approximate Shortest Unique Substring Queries
Wing-Kai Hon, Sharma V. Thankachan, Bojian Xu
ISAAC2
2015 Efficient Alignment Free Sequence Comparison with Bounded Mismatches
Srinivas Aluru, Alberto Apostolico, Sharma V. Thankachan
RECOMB3
2015 Range LCP Queries Revisited
Amihood Amir, Moshe Lewenstein, Sharma V. Thankachan
SPIRE3
2015 Geometric BWT: Compressed Text Indexing via Sparse Suffixes and Range Searching
Yu-Feng Chien, Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
Algorithmica4
2015 Compressing Dictionary Matching Index via Sparsification Technique
Wing-Kai Hon, Tsung-Han Ku, Tak Wah Lam, Rahul Shah 0001, Siu-Lung Tam, Sharma V. Thankachan, Jeffrey Scott Vitter
Algorithmica6
2015 Succinct indexes for reporting discriminating and generic words
Sudip Biswas, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
Theor. Comput. Sci.4
2015 Low space data structures for geometric range mode query
Stephane Durocher, Hicham El-Zein, J. Ian Munro, Sharma V. Thankachan
Theor. Comput. Sci.4
2015 On hardness of several string indexing problems
Kasper Green Larsen, J. Ian Munro, Jesper Sindahl Nielsen, Sharma V. Thankachan
Theor. Comput. Sci.4
2014 Indexed Geometric Jumbled Pattern Matching
Stephane Durocher, Robert Fraser, Travis Gagie, Debajyoti Mondal, Matthew Skala, Sharma V. Thankachan
CPM6
2014 On Hardness of Several String Indexing Problems
Kasper Green Larsen, J. Ian Munro, Jesper Sindahl Nielsen, Sharma V. Thankachan
CPM4
2014 Encodings for Range Majority Queries
Gonzalo Navarro 0001, Sharma V. Thankachan
CPM2
2014 Top- k Term-Proximity in Succinct Space
J. Ian Munro, Gonzalo Navarro 0001, Jesper Sindahl Nielsen, Rahul Shah 0001, Sharma V. Thankachan
ISAAC5
2014 Document Retrieval with One Wildcard
Moshe Lewenstein, J. Ian Munro, Yakov Nekrich, Sharma V. Thankachan
MFCS (2)4
2014 Categorical range maxima queries
abstract
Given an array A[1...n] of n distinct elements from the set {1, 2, ..., n} a range maximum query RMQ(a, b) returns the highest element in A[a...b] along with its position. In this paper, we study a generalization of this classical problem called Categorical Range Maxima Query (CRMQ) problem, in which each element A[i] in the array has an associated category (color) given by C[i] ∈ [σ]. A query then asks to report each distinct color c appearing in C[a...b] along with the highest element (and its position) in A[a...b] with color c. Let pc denote the position of the highest element in A[a...b] with color c. We investigate two variants of this problem: a threshold version and a top-k version. In threshold version, we only need to output the colors with A[pc] more than the input threshold τ, whereas top-k variant asks for k colors with the highest A[pc] values. In the word RAM model, we achieve linear space structure along with O(k) query time, that can report colors in sorted order of A[•]. In external memory, we present a data structure that answers queries in optimal O(1+k/B) I/O's using almost-linear O(n log* n) space, as well as a linear space data structure with O(log* n + k/B) query I/Os. Here k represents the output size, log* n is the iterated logarithm of n and B is the block size. CRMQ has applications to document retrieval and categorical range reporting -- giving a one-shot framework to obtain improved results in both these problems. Our results for CRMQ not only improve the existing best known results for three-sided categorical range reporting but also overcome the hurdle of maintaining color uniqueness in the output set.
Manish Patil, Sharma V. Thankachan, Rahul Shah 0001, Yakov Nekrich, Jeffrey Scott Vitter
PODS2
2014 Succinct Indexes for Reporting Discriminating and Generic Words
Sudip Biswas, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
SPIRE4
2014 Space-Efficient Frameworks for Top-k String Retrieval
abstract
The inverted index is the backbone of modern web search engines. For each word in a collection of web documents, the index records the list of documents where this word occurs. Given a set of query words, the job of a search engine is to output a ranked list of the most relevant documents containing the query. However, if the query consists of an arbitrary string—which can be a partial word, multiword phrase, or more generally any sequence of characters—then word boundaries are no longer relevant and we need a different approach. In string retrieval settings, we are given a set D ={ d 1 , d 2 , d 3 , …, d D } of D strings with n characters in total taken from an alphabet set Σ = [σ], and the task of the search engine, for a given query pattern P of length p , is to report the “most relevant” strings in D containing P . The query may also consist of two or more patterns. The notion of relevance can be captured by a function score ( P , d r ), which indicates how relevant document d r is to the pattern P . Some example score functions are the frequency of pattern occurrences, proximity between pattern occurrences, or pattern-independent PageRank of the document. The first formal framework to study such kinds of retrieval problems was given by Muthukrishnan [SODA 2002]. He considered two metrics for relevance: frequency and proximity. He took a threshold-based approach on these metrics and gave data structures that use O ( n log n ) words of space. We study this problem in a somewhat more natural top- k framework. Here, k is a part of the query, and the top k most relevant (highest-scoring) documents are to be reported in sorted order of score. We present the first linear-space framework (i.e., using O ( n ) words of space) that is capable of handling arbitrary score functions with near-optimal O ( p + k log k ) query time. The query time can be made optimal O ( p + k ) if sorted order is not necessary. Further, we derive compact space and succinct space indexes (for some specific score functions). This space compression comes at the cost of higher query time. At last, we extend our framework to handle the case of multiple patterns. Apart from providing a robust framework, our results also improve many earlier results in index space or query time or both.
Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
J. ACM3
2014 Less space: Indexing for queries with wildcards
Moshe Lewenstein, J. Ian Munro, Venkatesh Raman 0001, Sharma V. Thankachan
Theor. Comput. Sci.4
2014 New space/time tradeoffs for top-k document retrieval on sequences
Gonzalo Navarro 0001, Sharma V. Thankachan
Theor. Comput. Sci.2
2013 Space-Efficient Construction Algorithm for the Circular Suffix Tree
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan
CPM4
2013 Space-Efficient Construction Algorithm for the Circular Suffix Tree
abstract
Hon et al. (2011) recently proposed a variant of suffix tree, called circular suffix tree, and showed that it can be compressed into succinct space and can be used to solve the circular dictionary matching problem efficiently. Although there are several efficient construction algorithms for the suffix tree in the literature, none of them can be applied directly to construct circular suffix tree due to the different nature of the patterns being indexed. Here, we give the first construction algorithm for the circular suffix tree, which takes O(n log n) time and requires O(n log σ + d log n)$ bits of working space, where n denotes the total length of the patterns in the dictionary, d denotes the number of patterns, and s denotes the alphabet size.
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan
DCC4
2013 Faster Compressed Top-k Document Retrieval
abstract
Let D = {d1, d2,...dD} be a given collection of D string documents of total length n, our task is to index D, such that whenever a pattern P (of length p) and an integer k come as a query, those k documents in which P appears the most number of times can be listed efficiently. In this paper, we propose a compressed index taking 2|CSA| + D logn/D + O(D) + o(n) bits of space, which answers a query with O(tsalog k logϵn) per document report time. This improves the O(tsalog k log1+ϵn) per document report time of the previously best-known index with (asymptotically) the same space requirements [Belazzougui and Navarro, SPIRE 2011]. Here, |CSA| represents the size (in bits) of the compressed suffix array (CSA) of the text obtained by concatenating all documents in V, and tsais the time for decoding a suffix array value using the CSA.
Wing-Kai Hon, Sharma V. Thankachan, Rahul Shah 0001, Jeffrey Scott Vitter
DCC2
2013 Top-k Document Retrieval in External Memory
Rahul Shah 0001, Cheng Sheng 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
ESA3
2013 Top-k join queries: overcoming the curse of anti-correlation
abstract
The existing heuristics for top-k join queries, aiming to minimize the scan-depth, rely heavily on scores and correlation of scores. It is known that for uniformly random scores between two relations of length n, scan-depth of √kn is required. Moreover, optimizing multiple criteria of selections that are anti-correlated may require scan-depth up to (n + k)/2. We build a linear space index, which in anticipation of worst-case queries maintains a subset of answers. Based on this, we achieve Õ(√kn) join trials i.e., average case performance even for the worst-case queries. The experimental evaluation shows superior performance against the well-known Rank-Join algorithm.
Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
IDEAS3
2013 Less Space: Indexing for Queries with Wildcards
Moshe Lewenstein, J. Ian Munro, Venkatesh Raman 0001, Sharma V. Thankachan
ISAAC4
2013 Top-k Document Retrieval in Compact Space and Near-Optimal Time
Gonzalo Navarro 0001, Sharma V. Thankachan
ISAAC2
2013 Linear-Space Data Structures for Range Frequency Queries on Arrays and Trees
Stephane Durocher, Rahul Shah 0001, Matthew Skala, Sharma V. Thankachan
MFCS4
2013 Position-Restricted Substring Searching over Small Alphabets
Sudip Biswas, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan
SPIRE4
2013 Top-k Color Queries on Tree Paths
Stephane Durocher, Rahul Shah 0001, Matthew Skala, Sharma V. Thankachan
SPIRE4
2013 Faster Top-k Document Retrieval in Optimal Space
Gonzalo Navarro 0001, Sharma V. Thankachan
SPIRE2
2013 Faster Range LCP Queries
Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
SPIRE3
2013 Compressed property suffix trees
Wing-Kai Hon, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
Inf. Comput.4
2013 Faster compressed dictionary matching
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
Theor. Comput. Sci.4
2012 Efficient Algorithm for Circular Burrows-Wheeler Transform
Wing-Kai Hon, Tsung-Han Ku, Chen-Hua Lu, Rahul Shah 0001, Sharma V. Thankachan
CPM5
2012 Towards an Optimal Space-and-Query-Time Index for Top-k Document Retrieval
Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan
CPM3
2012 Document Listing for Queries with Excluded Pattern
Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
CPM3
2011 Compressed Dictionary Matching with One Error
abstract
Given a set D of d patterns of total length n, the dictionary matching problem is to index D such that for any query text T, we can locate the occurrences of any pattern within T efficiently. This problem can be solved in optimal O(|T|+occ) time by the classical AC automaton (Aho and Corasick, 1975) where occ denotes the number of occurrences. The space requirement is O(n) words. In the {approximate} dictionary matching problem with one error, we consider a substring of T[i..j] an occurrence of P whenever the edit distance between T[i..j] and P is at most one. For this problem, the best known indexes are by Cole et al. (2004), which requires O(n+ d\log{d}) words of space and reports all occurrences in O(|T|\log{d}\log{\log{d}}+occ) time, and by Ferragina et al. (1999), which requires O(n^{1+\epsilon}) words of space and reports all occurrences in O(|T|\log\log n + occ) time. Recently, there have been successes in compressing the dictionary matching index while keeping the query time optimal (Belazzougui, 2010, Hon et al., 2010). However, a compressed index for approximate dictionary matching problem is still open. In this paper, we propose the first such index which requires an optimal nH_k+O(n)+o(n\log\sigma)-bit index space, where H_k denotes the kth-order empirical entropy of \D, and \sigma is the size of alphabet set from which all the characters in \D and T are drawn. The query time of our index is O(σ|T|log3n log \ log n + occ).
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
DCC4
2011 Compressed Property Suffix Trees
abstract
Property matching is a biologically motivated problem where the task is to find those occurrences of an online pattern P in a string text T (of size n), such that the matched part in T satisfies some conceptual property. The property of a string is a set π of (possibly overlapping) intervals {(s1, f1), (s2, f2),⋯} corresponding to the part of T, and an occurrence of a pattern P at T[i..(i + |P| - 1)] is a valid output under the property π only if T[i..(i + |P| - 1)] is completely contained in some interval (sj, fj) ∈ π. Algorithmically this problem can be solved in time linear to the size of text. Amir et al. (2008) introduced the indexing version of this problem, where they preprocess the text in O(n log σ + n log log n) time and maintain an O(n log n) bits index, named Property Suffix Tree (PST), where σ denotes the alphabet size. PST can perform property matching in optimal O(|P| log σ + occπ) time, where occπis the number of occurrences of P in T which satisfies the property. Later, Iliopoulos and Rahman (2008) proposed an alternative index which can be constructed in linear time. Recently Kopelowitz (2010) considered the dynamic version of this problem where intervals can be added or deleted. However, all these indexes requires space of O(n log n) bits, which can be much more than the size of the text (n log σ bits). In this paper, we propose the first index for property matching which takes space close to the entropy compressed space requirement of the text. Our compressed index takes |CSA| + n(2 + ∈ + o(1)) bits space and can perform query answering in O(t(|P|) + 1/∈ occπtSA) time, where |CSA| is the size of compressed suffix array (CSA), t(|P|) and tSAare the time for searching a pattern of length |P| and the time for computing the suffix array value using CSA, respectively, and e is a constant. We also introduce a dynamic index, taking |CSA| + n(2 + ∈ + o(1)) + O(|π|log n) bits of space, which can perform query answering in O(t(|P|) + 1/∈ occπ(log n/log log n + tSA) log n) time and can update (insert or delete) an interval (s, f) in O((f - s + 1)(log n + log |π| + tSA)) time.
Wing-Kai Hon, Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
DCC4
2011 Succinct Indexes for Circular Patterns
Wing-Kai Hon, Chen-Hua Lu, Rahul Shah 0001, Sharma V. Thankachan
ISAAC4
2011 Inverted indexes for phrases and strings
abstract
Inverted indexes are the most fundamental and widely used data structures in information retrieval. For each unique word occurring in a document collection, the inverted index stores a list of the documents in which this word occurs. Compression techniques are often applied to further reduce the space requirement of these lists. However, the index has a shortcoming, in that only predefined pattern queries can be supported efficiently. In terms of string documents where word boundaries are undefined, if we have to index all the substrings of a given document, then the storage quickly becomes quadratic in the data size. Also, if we want to apply the same type of indexes for querying phrases or sequence of words, then the inverted index will end up storing redundant information. In this paper, we show the first set of inverted indexes which work naturally for strings as well as phrase searching. The central idea is to exclude document d in the inverted list of a string P if every occurrence of P in d is subsumed by another string of which P is a prefix. With this we show that our space utilization is close to the optimal. Techniques from succinct data structures are deployed to achieve compression while allowing fast access in terms of frequency and document id based retrieval. Compression and speed trade-offs are evaluated for different variants of the proposed index. For phrase searching, we show that our indexes compare favorably against a typical inverted index deploying position-wise intersections. We also show efficient top-k based retrieval under relevance metrics like frequency and tf-idf.
Manish Patil, Sharma V. Thankachan, Rahul Shah 0001, Wing-Kai Hon, Jeffrey Scott Vitter, Sabrina Chandrasekaran
SIGIR2
2011 Compressed Text Indexing with Wildcards
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
SPIRE4
2011 Compressed Indexes for Aligned Pattern Matching
Sharma V. Thankachan
SPIRE1
2011 A Truly Dynamic Data Structure for Top-k Queries on Uncertain Data
Manish Patil, Rahul Shah 0001, Sharma V. Thankachan
SSDBM3
2010 Faster Compressed Dictionary Matching
Wing-Kai Hon, Tsung-Han Ku, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
SPIRE4
2010 String Retrieval for Multi-pattern Queries
Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
SPIRE3
2009 On Entropy-Compressed Text Indexing in External Memory
Wing-Kai Hon, Rahul Shah 0001, Sharma V. Thankachan, Jeffrey Scott Vitter
SPIRE3