12,932 research outputs found
Approximation of smallest linear tree grammar
A simple linear-time algorithm for constructing a linear context-free tree grammar of size O(r^2.g.log(n)) for a given input tree T of size n is presented, where g is the size of a minimal linear context-free 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 grammar-based tree compression algorithm with an approximation ratio polynomial in g. The analysis of the algorithm uses an extension of the recompression technique (used in the context of grammar-based string compression) from strings to trees
Unification and Matching on Compressed Terms
Term unification plays an important role in many areas of computer science,
especially in those related to logic. The universal mechanism of grammar-based
compression for terms, in particular the so-called Singleton Tree Grammars
(STG), have recently drawn considerable attention. Using STGs, terms of
exponential size and height can be represented in linear space. Furthermore,
the term representation by directed acyclic graphs (dags) can be efficiently
simulated. The present paper is the result of an investigation on term
unification and matching when the terms given as input are represented using
different compression mechanisms for terms such as dags and Singleton Tree
Grammars. We describe a polynomial time algorithm for context matching with
dags, when the number of different context variables is fixed for the problem.
For the same problem, NP-completeness is obtained when the terms are
represented using the more general formalism of Singleton Tree Grammars. For
first-order unification and matching polynomial time algorithms are presented,
each of them improving previous results for those problems.Comment: This paper is posted at the Computing Research Repository (CoRR) as
part of the process of submission to the journal ACM Transactions on
Computational Logic (TOCL)
Unification on Compressed Terms
First-order term unification is an essential concept in areas like functional and
logic programming, automated deduction, deductive databases, artificial intelligence,
information retrieval, compiler design, etc. We build upon recent
developments in grammar-based compression mechanisms for terms and investigate
algorithms for first-order unification and matching on compressed
terms.
We prove that the first-order unification of compressed terms is decidable
in polynomial time, and also that a compressed representation of the most
general unifier can be computed in polynomial time. Furthermore, we present
a polynomial time algorithm for first-order matching on compressed terms.
Both algorithms represent an improvement in time complexity over previous
results [GGSS09, GGSS08].
We use several known results on the tree grammars used for compression,
called singleton tree grammars (STG)s, like polynomial time computability
of several subalgorithmms: certain grammar extensions, deciding equality of
represented terms, and generating their preorder traversal. An innovation is
a specialized depth of an STG that shows that unifiers can be represented in
polynomial spac
- …