EDBT 2026 Demo / reviewers in the wild / expert
Juha Kärkkäinen
dblp:k/JKarkkainen
· DBLP profile ↗
66ranked-venue papers
34as first author
5since 2021 · last 2024
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 34 · 18 first-author · 4 since 2021Graphics, computer vision, multimedia, augmented reality and games · 23 · 11 first-author · 1 since 2021Databases, data management, data science and information retrieval · 15 · 8 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Constructing and indexing the bijective and extended Burrows-Wheeler transform
Hideo Bannai, Juha Kärkkäinen, Dominik Köppl, Marcin Piatkowski |
Inf. Comput. | 2 |
| 2023 | String inference from longest-common-prefix array
Juha Kärkkäinen, Marcin Piatkowski, Simon J. Puglisi |
Theor. Comput. Sci. | 1 |
| 2021 | Constructing the Bijective and the Extended Burrows-Wheeler Transform in Linear TimeabstractThe Burrows-Wheeler transform (BWT) is a permutation whose applications are prevalent in data compression and text indexing. The bijective BWT (BBWT) is a bijective variant of it. Although it is known that the BWT can be constructed in linear time for integer alphabets by using a linear time suffix array construction algorithm, it was up to now only conjectured that the BBWT can also be constructed in linear time. We confirm this conjecture in the word RAM model by proposing a construction algorithm that is based on SAIS, improving the best known result of O(n lg n / lg lg n) time to linear. Since we can reduce the problem of constructing the extended BWT to constructing the BBWT in linear time, we obtain a linear-time algorithm computing the extended BWT at the same time. Hideo Bannai, Juha Kärkkäinen, Dominik Köppl, Marcin Piatkowski |
CPM | 2 |
| 2021 | Block trees
Djamal Belazzougui, Manuel Cáceres, Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Gonzalo Navarro 0001, Alberto Ordóñez Pereira, Simon J. Puglisi, Yasuo Tabei |
J. Comput. Syst. Sci. | 5 |
| 2021 | Tight upper and lower bounds on suffix tree breadth
Golnaz Badkobeh, Pawel Gawrychowski, Juha Kärkkäinen, Simon J. Puglisi, Bella Zhukova |
Theor. Comput. Sci. | 3 |
| 2020 | Linear-time String Indexing and Analysis in Small SpaceabstractThe field of succinct data structures has flourished over the past 16 years. Starting from the compressed suffix array by Grossi and Vitter (STOC 2000) and the FM-index by Ferragina and Manzini (FOCS 2000), a number of generalizations and applications of string indexes based on the Burrows-Wheeler transform (BWT) have been developed, all taking an amount of space that is close to the input size in bits. In many large-scale applications, the construction of the index and its usage need to be considered as one unit of computation. For example, one can compare two genomes by building a common index for their concatenation and by detecting common substructures by querying the index. Efficient string indexing and analysis in small space lies also at the core of a number of primitives in the data-intensive field of high-throughput DNA sequencing. We report the following advances in string indexing and analysis: We show that the BWT of a string T ∈ {1,…,σ} n can be built in deterministic O ( n ) time using just O ( n log σ) bits of space, where σ ≤ n . Deterministic linear time is achieved by exploiting a new partial rank data structure that supports queries in constant time and that might have independent interest. Within the same time and space budget, we can build an index based on the BWT that allows one to enumerate all the internal nodes of the suffix tree of T . Many fundamental string analysis problems, such as maximal repeats, maximal unique matches, and string kernels, can be mapped to such enumeration and can thus be solved in deterministic O ( n ) time and in O ( n log σ) bits of space from the input string by tailoring the enumeration algorithm to some problem-specific computations. We also show how to build many of the existing indexes based on the BWT, such as the compressed suffix array , the compressed suffix tree , and the bidirectional BWT index , in randomized O ( n ) time and in O ( n log σ) bits of space. The previously fastest construction algorithms for BWT, compressed suffix array and compressed suffix tree, which used O ( n log σ) bits of space, took O ( n log log σ) time for the first two structures and O ( n log ϵ n ) time for the third, where ϵ is any positive constant smaller than one. Alternatively, the BWT could be previously built in linear time if one was willing to spend O ( n log σ log log σ n ) bits of space. Contrary to the state-of-the-art, our bidirectional BWT index supports every operation in constant time per element in its output. Djamal Belazzougui, Fabio Cunial, Juha Kärkkäinen, Veli Mäkinen |
ACM Trans. Algorithms | 3 |
| 2019 | Indexing the Bijective BWTabstractThe Burrows-Wheeler transform (BWT) is a permutation whose applications are prevalent in data compression and text indexing. The bijective BWT is a bijective variant of it that has not yet been studied for text indexing applications. We fill this gap by proposing a self-index built on the bijective BWT . The self-index applies the backward search technique of the FM-index to find a pattern P with O(|P| lg|P|) backward search steps. Hideo Bannai, Juha Kärkkäinen, Dominik Köppl, Marcin Piatkowski |
CPM | 2 |
| 2019 | Fixed Block Compression Boosting in FM-Indexes: Theory and Practice
Simon Gog, Juha Kärkkäinen, Dominik Kempa, Matthias Petri, Simon J. Puglisi |
Algorithmica | 2 |
| 2018 | Run Compressed Rank/Select for Large AlphabetsabstractGiven a string of length n that is composed of r runs of letters from the alphabet {0,1,...,σ-1} such that 2 ≤ σ ≤ r, we describe a data structure that, provided r ≤ n/logω(1)n, stores the string in r\log nσ/r + o(r log nσ/r) bits and supports select and access queries in O(log log(n/r)/loglogn) time and rank queries in O(log log(nσ/r)/log\logn) time. We show that r log n(σ-1)/r - O(log n/r) bits are necessary for any such data structure and, thus, our solution is succinct. We also describe a data structure that uses (1 + ε)r log nσ/r + O(r) bits, where ε > 0 is an arbitrary constant, with the same query times but without the restriction r ≤ n / logω(1)n. By simple reductions to the colored predecessor problem, we show that the query times are optimal in the important case r ≥ 2logδ n, for an arbitrary constant δ > 0. We implement our solution and compare it with the state of the art, showing that the closest competitors consume 31-46% more space. José Fuentes-Sepúlveda, Juha Kärkkäinen, Dmitry Kosolobov, Simon J. Puglisi |
DCC | 2 |
| 2017 | Engineering External Memory Induced Suffix SortingabstractSuffix sorting — determining the lexicographical order of all the suffixes of a string — is one of the most important problems in string processing. The resulting data structure is called the suffix array (SA) and underpins dozens of applications in bioinformatics, data compression, and information retrieval. When the size of the input string or the SA exceeds that of internal memory (RAM), an external memory (EM) suffix sorting algorithm must be used. The most scalable of these EM methods is due to Bingmann et al. (Proc. ALENEX 2013), and is essentially a careful disk-based implementation of the so-called induced sorting technique used by the fastest RAM suffix sorting algorithms. In this paper we show how to greatly improve the efficiency of induced suffix sorting in external memory via a non-trivial reorganization of the computation involved. Our experiments show this new approach to be twice as fast as state-of-the-art methods, while, just as significantly, using a third of the disk memory. We also demonstrate the efficacy of our implementation for handling strings on large alphabets (with many millions of distinct symbols), which is important, e.g., for applications in natural language processing and information retrieval, but unaddressed by previous EM suffix sorting implementations. Our implementation uses a (EM) radix heap data structure and, as a side result of independent interest, we introduce a new operation for radix heaps and other monotone priority queues called min-comp, which we believe to be useful for many other applications, including discrete event simulation and sweep line algorithms, even in internal memory. Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi, Bella Zhukova |
ALENEX | 1 |
| 2017 | String Inference from Longest-Common-Prefix ArrayabstractThe suffix array, perhaps the most important data structure in modern string processing, is often augmented with the longest common prefix (LCP) array which stores the lengths of the LCPs for lexicographically adjacent suffixes of a string. Together the two arrays are roughly equivalent to the suffix tree with the LCP array representing the tree shape. In order to better understand the combinatorics of LCP arrays, we consider the problem of inferring a string from an LCP array, i.e., determining whether a given array of integers is a valid LCP array, and if it is, reconstructing some string or all strings with that LCP array. There are recent studies of inferring a string from a suffix tree shape but using significantly more information (in the form of suffix links) than is available in the LCP array. We provide two main results. (1) We describe two algorithms for inferring strings from an LCP array when we allow a generalized form of LCP array defined for a multiset of cyclic strings: a linear time algorithm for binary alphabet and a general algorithm with polynomial time complexity for a constant alphabet size. (2) We prove that determining whether a given integer array is a valid LCP array is NP-complete when we require more restricted forms of LCP array defined for a single cyclic or non-cyclic string or a multiset of non-cyclic strings. The result holds whether or not the alphabet is restricted to be binary. In combination, the two results show that the generalized form of LCP array for a multiset of cyclic strings is fundamentally different from the other more restricted forms. Juha Kärkkäinen, Marcin Piatkowski, Simon J. Puglisi |
ICALP | 1 |
| 2017 | On Suffix Tree Breadth
Golnaz Badkobeh, Juha Kärkkäinen, Simon J. Puglisi, Bella Zhukova |
SPIRE | 2 |
| 2017 | On the Size of Lempel-Ziv and Lyndon FactorizationsabstractLyndon factorization and Lempel-Ziv (LZ) factorization are both important tools for analysing the structure and complexity of strings, but their combinatorial structure is very different. In this paper, we establish the first direct connection between the two by showing that while the Lyndon factorization can be bigger than the non-overlapping LZ factorization (which we demonstrate by describing a new, non-trivial family of strings) it is never more than twice the size. Juha Kärkkäinen, Dominik Kempa, Yuto Nakashima 0001, Simon J. Puglisi, Arseny M. Shur |
STACS | 1 |
| 2017 | Engineering External Memory LCP Array Construction: Parallel, In-Place and Large AlphabetabstractThe suffix array augmented with the LCP array is perhaps the most important data structure in modern string processing. There has been a lot of recent research activity on constructing these arrays in external memory. In this paper, we engineer the two fastest LCP array construction algorithms (ESA 2016) and improve them in three ways. First, we speed up the algorithms by up to a factor of two through parallelism. Just 8 threads is sufficient for making the algorithms essentially I/O bound. Second, we reduce the disk space usage of the algorithms making them in-place: The input (text and suffix array) is treated as read-only and the working disk space never exceeds the size of the final output (the LCP array). Third, we add support for large alphabets. All previous implementations assume the byte alphabet. Juha Kärkkäinen, Dominik Kempa |
SEA | 1 |
| 2017 | Document retrieval on repetitive string collectionsabstractMost of the fastest-growing string collections today are repetitive, that is, most of the constituent documents are similar to many others. As these collections keep growing, a key approach to handling them is to exploit their repetitiveness, which can reduce their space usage by orders of magnitude. We study the problem of indexing repetitive string collections in order to perform efficient document retrieval operations on them. Document retrieval problems are routinely solved by search engines on large natural language collections, but the techniques are less developed on generic string collections. The case of repetitive string collections is even less understood, and there are very few existing solutions. We develop two novel ideas, interleaved LCPs and precomputed document lists, that yield highly compressed indexes solving the problem of document listing (find all the documents where a string appears), top-k document retrieval (find the k documents where a string appears most often), and document counting (count the number of documents where a string appears). We also show that a classical data structure supporting the latter query becomes highly compressible on repetitive data. Finally, we show how the tools we developed can be combined to solve ranked conjunctive and disjunctive multi-term queries under the simple $${\textsf{tf}}{\textsf{-}}{\textsf{idf}}$$ model of relevance. We thoroughly evaluate the resulting techniques in various real-life repetitiveness scenarios, and recommend the best choices for each case. Travis Gagie, Aleksi Hartikainen, Kalle Karhu, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén |
Inf. Retr. J. | 4 |
| 2016 | Faster, MinuterabstractThe FM index (Ferragina & Manzini, J. ACM, 2005) is a widely-used compresseddata structure that stores a string T in a compressed form that also supports fast pattern matching queries. Fixed-block boosting is a relatively straightforward technique that achieves optimal index size in theory, but to date it is unclear how best to translate the method into practice. In this paper we describe several new techniques for implementing fixed-block boosting efficiently. The new indexes are consistently fast and small relative to the state-of-the-art, and thus make a good "off-the-shelf" choice for most applications. Simon Gog, Juha Kärkkäinen, Dominik Kempa, Matthias Petri, Simon J. Puglisi |
DCC | 2 |
| 2016 | Faster External Memory LCP Array ConstructionabstractThe suffix array, perhaps the most important data structure in modern string processing, needs to be augmented with the longest-common-prefix (LCP) array in many applications. Their construction is often a major bottleneck especially when the data is too big for internal memory. We describe two new algorithms for computing the LCP array from the suffix array in external memory. Experiments demonstrate that the new algorithms are about a factor of two faster than the fastest previous algorithm. Juha Kärkkäinen, Dominik Kempa |
ESA | 1 |
| 2016 | LCP Array Construction Using O(sort(n)) (or Less) I/Os
Juha Kärkkäinen, Dominik Kempa |
SPIRE | 1 |
| 2016 | Lempel-Ziv Decoding in External Memory
Djamal Belazzougui, Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
SEA | 2 |
| 2016 | V-Order: New combinatorial properties & a simple comparison algorithm
Ali Alatabbi, Jacqueline W. Daykin, Juha Kärkkäinen, Mohammad Sohel Rahman, William F. Smyth |
Discret. Appl. Math. | 3 |
| 2016 | Tighter bounds for the sum of irreducible LCP values
Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski |
Theor. Comput. Sci. | 1 |
| 2015 | Tighter Bounds for the Sum of Irreducible LCP Values
Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski |
CPM | 1 |
| 2015 | Parallel External Memory Suffix Sorting
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
CPM | 1 |
| 2015 | Queries on LZ-Bounded EncodingsabstractWe describe a data structure that stores a strings in space similar to that of its Lempel-Ziv encoding and efficiently supports access, rank and select queries. These queries are fundamental for implementing succinct and compressed data structures, such as compressed trees and graphs. We show that our data structure can be built in a scalable manner and is both small and fast in practice compared to other data structures supporting such queries. Djamal Belazzougui, Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Alberto Ordóñez Pereira, Simon J. Puglisi, Yasuo Tabei |
DCC | 4 |
| 2015 | Document Counting in Compressed SpaceabstractWe address the problem of counting the number of strings in a collection where a given pattern appears, which has applications in information retrieval and data mining. Existing solutions are in a theoretical stage. In this pa-per we implement these solutions and explore compressed variants, aiming to reduce data structure size. Our main result is to uncover some unexpected compressibility properties of the fastest known data structure for the problem. By taking advantage of these properties, we can reduce the size of the structure by a factor of 5-400, depending on the dataset. Travis Gagie, Aleksi Hartikainen, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi, Jouni Sirén |
DCC | 3 |
| 2015 | Diverse Palindromic Factorization Is NP-complete
Hideo Bannai, Travis Gagie, Shunsuke Inenaga, Juha Kärkkäinen, Dominik Kempa, Marcin Piatkowski, Simon J. Puglisi, Shiho Sugimoto |
DLT | 4 |
| 2014 | String Range Matching
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
CPM | 1 |
| 2014 | Lempel-Ziv Parsing in External MemoryabstractIn the 35 years since its discovery, the Lempel-Ziv factorization (or LZ77 parsing) has become a fundamental method for data compression and string processing. In many applications, computation of the factorization is a time-space bottleneck. However, and despite the increasing need to apply LZ77 to massive data sets (for both storage and indexing), no algorithm to date scales to inputs that exceed the size of RAM. In this paper we describe the first algorithms for computing the LZ77 parsing efficiently using external memory. Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
DCC | 1 |
| 2014 | Hybrid Compression of Bitvectors for the FM-IndexabstractCompressed bit vectors supporting rank and select operations are the workhorse of compressed data structures. We propose a hybrid scheme for implementing compressed bit vectors, which divides the bit vector into blocks and then chooses the encoding of each block separately from a number of different encoding methods. Hybrid encoding is particularly suitable for bit vectors that have lots of local and regional variation, such as those present in the FM-index, a popular compressed data structure for pattern matching. We propose a specific hybrid combination of three simple encoding methods for FM-index bit vectors achieving superior space-time tradeoffs in experiments. Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
DCC | 1 |
| 2014 | LZ77-Based Self-indexing with Faster Pattern Matching
Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Yakov Nekrich, Simon J. Puglisi |
LATIN | 3 |
| 2014 | Faster Sparse Suffix SortingabstractThe sparse suffix sorting problem is to sort b=o(n) arbitrary suffixes of a string of length n using o(n) words of space in addition to the string. We present an O(n) time Monte Carlo algorithm using O(b.log(b)) space and an O(n.log(b)) time Las Vegas algorithm using O(b) space. This is a significant improvement over the best prior solutions of [Bille et al., ICALP 2013]: a Monte Carlo algorithm running in O(n.log(b)) time and O(b^(1+e)) space or O(n.log^2(b)) time and O(b) space, and a Las Vegas algorithm running in O(n.log^2(b)+b^2.log(b)) time and O(b) space. All the above results are obtained with high probability not just in expectation. Tomohiro I, Juha Kärkkäinen, Dominik Kempa |
STACS | 2 |
| 2014 | LCP Array Construction in External Memory
Juha Kärkkäinen, Dominik Kempa |
SEA | 1 |
| 2013 | A Constant-Space Comparison-Based Algorithm for Computing the Burrows-Wheeler Transform
Maxime Crochemore, Roberto Grossi, Juha Kärkkäinen, Gad M. Landau |
CPM | 3 |
| 2013 | Linear Time Lempel-Ziv Factorization: Simple, Fast, Small
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
CPM | 1 |
| 2013 | Near in Place Linear Time Minimum Redundancy CodingabstractIn this paper we discuss data structures and algorithms for linear time encoding and decoding of minimum redundancy codes. We show that a text of length n over an alphabet of cardinality σ can be encoded to minimum redundancy code and decoded from minimum redundancy code in time O(n) using only an additional space of O(σ) words (O(σ log n) bits) for handling the auxiliary data structures. The encoding process can replace the given block code by the corresponding minimum redundancy code in place. The decoding process is able to replace the minimum redundancy code given in sufficient space to store the block code by the corresponding block code. Juha Kärkkäinen, German Tischler |
DCC | 1 |
| 2013 | Versatile Succinct Representations of the Bidirectional Burrows-Wheeler Transform
Djamal Belazzougui, Fabio Cunial, Juha Kärkkäinen, Veli Mäkinen |
ESA | 3 |
| 2013 | Lightweight Lempel-Ziv Parsing
Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
SEA | 1 |
| 2013 | Colored range queries and document retrieval
Travis Gagie, Juha Kärkkäinen, Gonzalo Navarro 0001, Simon J. Puglisi |
Theor. Comput. Sci. | 2 |
| 2012 | Multi-pattern Matching with Bidirectional Indexes
Simon Gog, Kalle Karhu, Juha Kärkkäinen, Veli Mäkinen, Niko Välimäki |
COCOON | 3 |
| 2012 | Slashing the Time for BWT InversionabstractInverting the Burrows-Wheeler transform (BWT) is a bottleneck in BWT-based decompressors. The state-of-the-art inversion algorithm runs in linear time but is slow in practice due to CPU-cache misses. For more than a decade these cache misses have been thought to be inherent to BWT inversion. We show how to reduce the number of cache misses by a factor of nearly two, and simultaneously the cost of cache misses by another factor of two, obtaining a consistent speed up by a factor of 2.3-4. We can do even better if the data is highly repetitive. We describe an algorithm that achieves an asymptotic reduction in cache misses in theory and is the fastest algorithm in practice for such data. Juha Kärkkäinen, Dominik Kempa, Simon J. Puglisi |
DCC | 1 |
| 2012 | A Faster Grammar-Based Self-index
Travis Gagie, Pawel Gawrychowski, Juha Kärkkäinen, Yakov Nekrich, Simon J. Puglisi |
LATA | 3 |
| 2012 | Indexed Multi-pattern Matching
Travis Gagie, Kalle Karhu, Juha Kärkkäinen, Veli Mäkinen, Leena Salmela, Jorma Tarhio |
LATIN | 3 |
| 2012 | Grammar Precompression Speeds Up Burrows-Wheeler Compression
Juha Kärkkäinen, Pekka Mikkola, Dominik Kempa |
SPIRE | 1 |
| 2011 | Counting Colours in Compressed Strings
Travis Gagie, Juha Kärkkäinen |
CPM | 2 |
| 2011 | Fixed Block Compression Boosting in FM-Indexes
Juha Kärkkäinen, Simon J. Puglisi |
SPIRE | 1 |
| 2010 | Medium-Space Algorithms for Inverse BWT
Juha Kärkkäinen, Simon J. Puglisi |
ESA (1) | 1 |
| 2009 | Permuted Longest-Common-Prefix Array
Juha Kärkkäinen, Giovanni Manzini, Simon J. Puglisi |
CPM | 1 |
| 2008 | Engineering Radix Sort for Strings
Juha Kärkkäinen, Tommi Rantala |
SPIRE | 1 |
| 2007 | Faster Filters for Approximate String MatchingabstractWe introduce a new filtering method for approximate string matching called the suffix filter. It has some similarity with well-known filtration algorithms, which we call factor filters, and which are among the best practical algorithms for approximate string matching using a text index. Suffix filters are stronger, i.e., produce fewer false matches than factor filters. We demonstrate experimentally that suffix filters are faster in practice, too. Juha Kärkkäinen, Joong Chae Na |
ALENEX | 1 |
| 2007 | Fast BWT in small space by blockwise suffix sorting
Juha Kärkkäinen |
Theor. Comput. Sci. | 1 |
| 2006 | Linear work suffix array constructionabstractSuffix trees and suffix arrays are widely used and largely interchangeable index structures on strings and sequences. Practitioners prefer suffix arrays due to their simplicity and space efficiency while theoreticians use suffix trees due to linear-time construction algorithms and more explicit structure. We narrow this gap between theory and practice with a simple linear-time construction algorithm for suffix arrays. The simplicity is demonstrated with a C++ implementation of 50 effective lines of code. The algorithm is called DC3, which stems from the central underlying concept of difference cover . This view leads to a generalized algorithm, DC, that allows a space-efficient implementation and, moreover, supports the choice of a space--time tradeoff. For any v ∈ [1, √n ], it runs in O( vn ) time using O( n / √v ) space in addition to the input string and the suffix array. We also present variants of the algorithm for several parallel and hierarchical memory models of computation. The algorithms for BSP and EREW-PRAM models are asymptotically faster than all previous suffix tree or array construction algorithms. Juha Kärkkäinen, Peter Sanders 0001, Stefan Burkhardt |
J. ACM | 1 |
| 2003 | Fast Lightweight Suffix Array Construction and Checking
Stefan Burkhardt, Juha Kärkkäinen |
CPM | 2 |
| 2003 | Simple Linear Work Suffix Array Construction
Juha Kärkkäinen, Peter Sanders 0001 |
ICALP | 1 |
| 2003 | Better Filtering with Gapped q-Grams
Stefan Burkhardt, Juha Kärkkäinen |
Fundam. Informaticae | 2 |
| 2002 | One-Gapped q-Gram Filtersfor Levenshtein Distance
Stefan Burkhardt, Juha Kärkkäinen |
CPM | 2 |
| 2001 | Better Filtering with Gapped q-Grams
Stefan Burkhardt, Juha Kärkkäinen |
CPM | 2 |
| 2000 | Approximate String Matching over Ziv-Lempel Compressed Text
Juha Kärkkäinen, Gonzalo Navarro 0001, Esko Ukkonen |
CPM | 1 |
| 1999 | TANE: An Efficient Algorithm for Discovering Functional and Approximate DependenciesabstractThe discovery of functional dependencies from relations is an important database analysis technique. We present Tane, an efficient algorithm for finding functional dependencies from large databases. Tane is based on partitioning the set of rows with respect to their attribute values, which makes testing the validity of functional dependencies fast even for a large number of tuples. The use of partitions also makes the discovery of approximate functional dependencies easy and efficient and the erroneous or exceptional rows can be identified easily. Experiments show that Tane is fast in practice. For benchmark databases the running times are improved by several orders of magnitude over previously published results. The algorithm is also applicable to much larger datasets than the previous methods. Ykä Huhtala, Juha Kärkkäinen, Pasi Porkka, Hannu Toivonen |
Comput. J. | 2 |
| 1999 | Two- and Higher-Dimensional Pattern Matching in Optimal Expected TimeabstractAlgorithms with optimal expected running time are presented for searching the occurrences of a two-dimensional mX m pattern P in a two-dimensional n X n text T over an alphabet of size c. The algorithms are based on placing in the text a static grid of test points, determined only by n, m, and c (not dynamically by earlier test results). Using test strings read from the test points the algorithms eliminate as many potential occurrences of P as possible. The remaining potential occurrences are separately checked for actual occurrences. A suitable choice of the test point set leads to algorithms with expected running time O(n 2 log c m 2 /m 2 ) using the uniform Bernoulli model of randomness. This is shown to be optimal by a generalization of a one-dimensional lower bound result by Yao. Experimental results show that the algorithms are efficient in practice, too. The method is also generalized for the k mismatches problem. The resulting algorithm has expected running time O(kn 2 log c m 2 /m 2 ), provided that $k\leq(m\lfloor m/\lceil\log_c m^2\rceil\rfloor-1)/2$.\ All algorithms need preprocessing of P which takes time and space O(m 2 ). The text processing can be done on-line, using a rather small window. The algorithms easily generalize to d-dimensional matching for any d. Juha Kärkkäinen, Esko Ukkonen |
SIAM J. Comput. | 1 |
| 1998 | Efficient Discovery of Functional and Approximate Dependencies Using PartitionsabstractDiscovery of functional dependencies from relations has been identified as an important database analysis technique. We present a new approach for finding functional dependencies from large databases, based on partitioning the set of rows with respect to their attribute values. The use of partitions makes the discovery of approximate functional dependencies easy and efficient, and the erroneous or exceptional rows can be identified easily. Experiments show that the new algorithm is efficient in practice. For benchmark databases the running times are improved by several orders of magnitude over previously published results. The algorithm is also applicable to much larger datasets than the previous methods. Ykä Huhtala, Juha Kärkkäinen, Pasi Porkka, Hannu Toivonen |
ICDE | 2 |
| 1998 | Lempel-Ziv Index for q-Grams
Juha Kärkkäinen, Erkki Sutinen |
Algorithmica | 1 |
| 1997 | Episode Matching
Gautam Das 0001, Rudolf Fleischer, Leszek Gasieniec, Dimitrios Gunopulos, Juha Kärkkäinen |
CPM | 5 |
| 1996 | Sparse Suffix Trees
Juha Kärkkäinen, Esko Ukkonen |
COCOON | 1 |
| 1996 | Lempel-Ziv Index for q-Grams
Juha Kärkkäinen, Erkki Sutinen |
ESA | 1 |
| 1995 | Suffix Cactus: A Cross between Suffix Tree and Suffix Array
Juha Kärkkäinen |
CPM | 1 |
| 1994 | Two and Higher Dimensional Pattern Matching in Optimal Expected Time
Juha Kärkkäinen, Esko Ukkonen |
SODA | 1 |