19 research outputs found
Arithmetic for Rooted Trees
We propose a new arithmetic for non-empty rooted unordered trees simply
called trees. After discussing tree representation and enumeration, we define
the operations of tree addition, multiplication and stretch, prove their
properties, and show that all trees can be generated from a starting tree of
one vertex. We then show how a given tree can be obtained as the sum or product
of two trees, thus defining prime trees with respect to addition and
multiplication. In both cases we show how primality can be decided in time
polynomial in the number of vertices and we prove that factorization is unique.
We then define negative trees and suggest dealing with tree equations, giving
some preliminary results. Finally we comment on how our arithmetic might be
useful, and discuss preceding studies that have some relations with our. To the
best of our knowledge our approach and results are completely new aside for an
earlier version of this work submitte as an arXiv manuscript.Comment: 18 pages, 8 figure
Generation, Ranking and Unranking of Ordered Trees with Degree Bounds
We study the problem of generating, ranking and unranking of unlabeled
ordered trees whose nodes have maximum degree of . This class of trees
represents a generalization of chemical trees. A chemical tree is an unlabeled
tree in which no node has degree greater than 4. By allowing up to
children for each node of chemical tree instead of 4, we will have a
generalization of chemical trees. Here, we introduce a new encoding over an
alphabet of size 4 for representing unlabeled ordered trees with maximum degree
of . We use this encoding for generating these trees in A-order with
constant average time and O(n) worst case time. Due to the given encoding, with
a precomputation of size and time O(n^2) (assuming is constant), both
ranking and unranking algorithms are also designed taking O(n) and O(nlogn)
time complexities.Comment: In Proceedings DCM 2015, arXiv:1603.0053
On lexicographic enumeration of regular and context-free languages
We show that it is possible to efficiently enumerate the words of a regular language in lexicographic order. The time needed for generating the next word is O(n) when enumerating words of length n. We also define a class of context-free languages for which efficient enumeration is possible
Compressing Sets and Multisets of Sequences
This is the accepted manuscript for a paper published in IEEE Transactions on Information Theory, Vol. 61, No. 3, March 2015, doi: 10.1109/TIT.2015.2392093. © 2015 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.This paper describes lossless compression algorithms
for multisets of sequences, taking advantage of the
multiset’s unordered structure. Multisets are a generalization of
sets, where members are allowed to occur multiple times. A multiset
can be encoded naïvely by simply storing its elements in some
sequential order, but then information is wasted on the ordering.
We propose a technique that transforms the multiset into an
order-invariant tree representation, and derive an arithmetic
code that optimally compresses the tree. Our method achieves
compression even if the sequences in the multiset are individually
incompressible (such as cryptographic hash sums). The algorithm
is demonstrated practically by compressing collections of SHA-1
hash sums, and multisets of arbitrary, individually encodable
objects.This work was supported in part by the Engineering
and Physical Sciences Research Council under Grant EP/I036575 and in
part by a Google Research Award. This paper was presented at the 2014 Data
Compression Conferenc
On Succinct Representations of Binary Trees
We observe that a standard transformation between \emph{ordinal} trees
(arbitrary rooted trees with ordered children) and binary trees leads to
interesting succinct binary tree representations. There are four symmetric
versions of these transformations. Via these transformations we get four
succinct representations of -node binary trees that use bits and support (among other operations) navigation, inorder
numbering, one of pre- or post-order numbering, subtree size and lowest common
ancestor (LCA) queries. The ability to support inorder numbering is crucial for
the well-known range-minimum query (RMQ) problem on an array of ordered
values. While this functionality, and more, is also supported in time
using bits by Davoodi et al.'s (\emph{Phil. Trans. Royal Soc. A}
\textbf{372} (2014)) extension of a representation by Farzan and Munro
(\emph{Algorithmica} \textbf{6} (2014)), their \emph{redundancy}, or the
term, is much larger, and their approach may not be suitable for practical
implementations.
One of these transformations is related to the Zaks' sequence (S.~Zaks,
\emph{Theor. Comput. Sci.} \textbf{10} (1980)) for encoding binary trees, and
we thus provide the first succinct binary tree representation based on Zaks'
sequence. Another of these transformations is equivalent to Fischer and Heun's
(\emph{SIAM J. Comput.} \textbf{40} (2011)) \minheap\ structure for this
problem. Yet another variant allows an encoding of the Cartesian tree of to
be constructed from using only bits of working space.Comment: Journal version of part of COCOON 2012 pape
Generation of Neuronal Trees by a New Three Letters Encoding
A neuronal tree is a rooted tree with n leaves whose each internal node has at least two children; this class not only is defined based on the structure of dendrites in neurons, but also refers to phylogenetic trees or evolutionary trees. More precisely, neuronal trees are rooted-multistate phylogenetic trees whose size is defined as the number of leaves. In this paper, a new encoding over an alphabet of size 3 (minimal cardinality) is introduced for representing the neuronal trees with a given number of leaves. This encoding is used for generating neuronal trees with n leaves in A-order with constant average time and O(n) time complexity in the worst case. Also, new ranking and unranking algorithms are presented in time complexity of O(n) and O(n log n), respectively
Time-Optimal Tree Computations on Sparse Meshes
The main goal of this work is to fathom the suitability of the mesh with multiple broadcasting architecture (MMB) for some tree-related computations. We view our contribution at two levels: on the one hand, we exhibit time lower bounds for a number of tree-related problems on the MMB. On the other hand, we show that these lower bounds are tight by exhibiting time-optimal tree algorithms on the MMB. Specifically, we show that the task of encoding and/or decoding n-node binary and ordered trees cannot be solved faster than Ω(log n) time even if the MMB has an infinite number of processors. We then go on to show that this lower bound is tight. We also show that the task of reconstructing n-node binary trees and ordered trees from their traversais can be performed in O(1) time on the same architecture. Our algorithms rely on novel time-optimal algorithms on sequences of parentheses that we also develop