Results 1 
4 of
4
Grammarbased tree compression
, 2004
"... Abstract. Grammarbased compression means to find a small grammar that generates a given object. Such a grammar reveals the structure of the object (according to the grammar formalism used); the main advantage of this compression method is that the resulting grammar can often be used in further comp ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Grammarbased compression means to find a small grammar that generates a given object. Such a grammar reveals the structure of the object (according to the grammar formalism used); the main advantage of this compression method is that the resulting grammar can often be used in further computations without prior decompression. A linear time bottomup algorithm is presented which transforms a tree into a particular contextfree tree grammar. For common XML documents the algorithm performs well, compressing the tree structure to about 5 % of the original size. The validation of an XML document against an XML type can be done without decompression, in linear time w.r.t. the size of the grammar (for a fixed type). While the involved grammars can be double exponentially smaller than the represented trees, testing them for equivalence can be done in polynomial space w.r.t. the sum of their sizes. 1
Approximation of smallest linear tree grammar
 CoRR
"... Abstract. A simple lineartime algorithm for constructing a linear contextfree tree grammar of size O(rg + rg log(n/rg)) for a given input tree T of size n is presented, where g is the size of a minimal linear contextfree tree grammar for T, and r is the maximal rank of symbols in T (which is a co ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
Abstract. A simple lineartime algorithm for constructing a linear contextfree tree grammar of size O(rg + rg log(n/rg)) for a given input tree T of size n is presented, where g is the size of a minimal linear contextfree tree grammar for T, and r is the maximal rank of symbols in T (which is a constant in many applications). This is the first example of a grammarbased tree compression algorithm with a good approximation ratio. The analysis of the algorithm uses an extension of the recompression technique (used in the context of grammarbased string compression) from strings to trees. 1.
Constructing Small Tree Grammars and Small Circuits for Formulas
, 2014
"... Abstract It is shown that every tree of size n over a fixed set of σ different ranked symbols can be decomposed into O( n log σ n ) = O( n log σ log n ) many hierarchically defined pieces. Formally, such a hierarchical decomposition has the form of a straightline linear contextfree tree grammar o ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract It is shown that every tree of size n over a fixed set of σ different ranked symbols can be decomposed into O( n log σ n ) = O( n log σ log n ) many hierarchically defined pieces. Formally, such a hierarchical decomposition has the form of a straightline linear contextfree tree grammar of size O( n log σ n ), which can be used as a compressed representation of the input tree. This generalizes an analogous result for strings. Previous grammarbased tree compressors were not analyzed for the worstcase size of the computed grammar, except for the top dag of Bille et al., for which only the weaker upper bound of O( n log 0.19 n ) for unranked and unlabelled trees has been derived. The main result is used to show that every arithmetical formula of size n, in which only m ≤ n different variables occur, can be transformed (in time O(n log n)) into an arithmetical circuit of size O( n·log m log n ) and depth O(log n). This refines a classical result of Brent, according to which an arithmetical formula of size n can be transformed into a logarithmic depth circuit of size O(n). Missing proofs can be found in the long version ACM Subject Classification E.4 Data compaction and compression Keywords and phrases grammarbased compression, tree compression, arithmetical circuits Introduction Grammarbased compression has emerged to an active field in string compression during the past 20 years. The idea is to represent a given string s by a small contextfree grammar that generates only s; such a grammar is also called a straightline program, briefly SLP. For instance, the word (ab) 1024 can be represented by the SLP with the productions A 0 → ab and A i → A i−1 A i−1 for 1 ≤ i ≤ 10 (A 10 is the start symbol). The size of this grammar is much smaller than the size (length) of the string (ab) 1024 . In general, an SLP of size n (the size of an SLP is usually defined as the total length of all righthand sides of the productions) can produce a string of length 2 Ω(n) . Hence, an SLP can be seen indeed as a succinct representation of the generated string. The goal of grammarbased string compression is to construct from a given input string s a small SLP that produces s. Several algorithms for this have been proposed and analyzed. Prominent grammarbased string compressors are for instance LZ78, RePair, and BISECTION, see To evaluate the compression performance of a grammarbased compressor C, two different approaches can be found in the literature: A first approach is to analyze the size of the SLP produced by C for an input string x compared to the size of a smallest SLP for x. This leads to the approximation ratio for C, see
Generalising Tree Traversals and Tree Transformations to DAGs: Exploiting Sharing without the Pain
, 2015
"... We present a recursion scheme based on attribute grammars that can be transparently applied to trees and acyclic graphs. Our recursion scheme allows the programmer to implement a tree traversal or a tree transformation and then apply it to compact graph representations of trees instead. The resultin ..."
Abstract
 Add to MetaCart
We present a recursion scheme based on attribute grammars that can be transparently applied to trees and acyclic graphs. Our recursion scheme allows the programmer to implement a tree traversal or a tree transformation and then apply it to compact graph representations of trees instead. The resulting graph traversal or graph transformation avoids recomputation of intermediate results for shared nodes – even if intermediate results are used in different contexts. Consequently, this approach leads to asymptotic speedup proportional to the compression provided by the graph representation. In general, however, this sharing of intermediate results is not sound. Therefore, we complement our implementation of the recursion scheme with a number of correspondence theorems that ensure soundness for various classes of traversals. We illustrate the practical applicability of the implementation as well as the complementing theory with a number of examples.