Search arXiv⌕ Search

arXiv · 1807.06359

Using statistical encoding to achieve tree succinctness never seen before

Abstract

We propose a new succinct representation of labeled trees which represents a tree T using |T|H_k(T) number of bits (plus some smaller order terms), where |T|H_k(T) denotes the k-th order (tree label) entropy, as defined by Ferragina at al. 2005. Our representation employs a new, simple method of partitioning the tree, which preserves both tree shape and node degrees. Previously, the only representation that used |T|H_k(T) bits was based on XBWT, a transformation that linearizes tree labels into a single string, combined with compression boosting. The proposed representation is much simpler than the one based on XBWT, which used additional linear space (bounded by 0.01n) hidden in the "smaller order terms" notion, as an artifact of using zeroth order entropy coder; our representation uses sublinear additional space (for reasonable values of k and size of the label alphabet σ). The proposed representation can be naturally extended to a succinct data structure for trees, which uses |T|H_k(T) plus additional O(|T|k log_σ/ log_σ |T| + |T| log log_σ |T|/ log_σ |T|) bits and supports all the usual navigational queries in constant time. At the cost of increasing the query time to O(log log |T|/ log |T|) we can further reduce the space redundancy to O(|T| log log |T|/ log_σ |T|) bits, assuming k <= log_σ |T|. This is a major improvement over representation based on XBWT: even though XBWT-based representation uses |T|H_k(T) bits, the space needed for structure supporting navigational queries is much larger: (...)

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Michał Gańczorz. 2018-07-17. Using statistical encoding to achieve tree succinctness never seen before. https://arxiv.org/abs/1807.06359

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Compressed Set Representations based on Set Difference

We introduce a compressed representation of sets of sets that exploits how similar they are to each other. Our representation supports access, membership, predecessor and successor queries on the sets within logarithmic time. It also computes the support of any element (i.e., the sets containing it) in optimal time. In addition, we give a new MST-based construction algorithm for the representation that outperforms standard ones.

cs.DS↗

Fast Approximation Algorithms for Balanced Edge and Vertex Separators

We present a family of fast pseudo-approximation algorithms for the minimum balanced element cut problem in a graph, which includes vertex and edge separators. Given a graph $G=(V,E)$ with polynomially-bounded finite integer element weights with $n$ vertices and $m$ edges, and a (constant) balance parameter $c\in(0,1/2)$, where $G$ has some (unknown) $c$-balanced element cut of size $OPT_c$, we give a (Monte-Carlo randomized) algorithm running in $O(n^{\varepsilon}m^{1+o(1)})$ time that produces a $Θ(1)$-balanced element cut of size $O(OPT_c\cdot\sqrt{(\log n)/\varepsilon})$ for any value $\varepsilon\in[Θ(1/\log(n)),Θ(1)]$. Our algorithms are based on a semidefinite programming (SDP) relaxation of the problem. A standard approach to solving an SDP relaxation for this kind of problem would use the primal-dual Matrix Multiplicative Weights Update framework of Arora and Kale, but this framework does not seem to apply, since we cannot express all of our SDPs primal variables explicitly. Instead, we present a new MMWU framework for our problem that allows us to represent some of our variables implicitly. We also extend our framework to a general "Partial-variable MMWU framework", which we expect will be useful for future work. Our oracle for the balanced element cut problem within our framework uses $O(n^{\varepsilon}\text{polylog}(n))$ almost-linear time maximum-flow computations, and would be sped up if the time complexity of maximum-flow improves. For graphs with padding bound $β$, another oracle gives an $O(\sqrtβ/\varepsilon)$ approximation in $m^{1+o(1)}n^{\varepsilon}\operatorname{polylog}(n)$ time. It is known that $β\le O(\log h)$ for $K_h$-minor-free graphs (and in particular $β\le O(\log n)$).

cs.DS↗

Optimal-Time Move Structure Construction

The move structure represents a permutation $π$ of $[0,n)$ by partitioning the domain into $O(r)$ disjoint, contiguously permuted intervals, with $r$ being the minimum number of such intervals. This data structure occupies $O(r)$ words of space and enables $O(1)$-time computation of $π(i)$ given the interval that contains $i$. For permutations where $r \ll n$, this provides an efficient, compressed representation for navigation. While the existing best $O(r)$-space construction approaches require $O(r\log r)$-time, we present an optimal $O(r)$-time and space construction algorithm. This is achieved by replacing balanced search trees with pointer-based lists through introducing a bidirectional strategy that synchronizes construction of the structures for $π$ and its inverse $π^{-1}$ in a single, unified pass. By applying this algorithm to an existing result, we achieve the first optimal $O(n)$-time construction of the longest common prefix (LCP) array from a run-length-encoded Burrows-Wheeler transform (RLBWT) of $r$ runs in $O(r)$ working space. Empirical evaluation on pangenome-scale data confirms that our move structure construction algorithm is consistently faster than the previous best, achieving speedups of up to $\sim 2\times$ while using less memory.

cs.DS↗