966 research outputs found
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
Efficient Generation of Stable Planar Cages for Chemistry
In this paper we describe an algorithm which generates all colored planar
maps with a good minimum sparsity from simple motifs and rules to connect them.
An implementation of this algorithm is available and is used by chemists who
want to quickly generate all sound molecules they can obtain by mixing some
basic components.Comment: 17 pages, 7 figures. Accepted at the 14th International Symposium on
Experimental Algorithms (SEA 2015
A constant-time algorithm for middle levels Gray codes
For any integer a middle levels Gray code is a cyclic listing of
all -element and -element subsets of such that
any two consecutive subsets differ in adding or removing a single element. The
question whether such a Gray code exists for any has been the subject
of intensive research during the last 30 years, and has been answered
affirmatively only recently [T. M\"utze. Proof of the middle levels conjecture.
Proc. London Math. Soc., 112(4):677--713, 2016]. In a follow-up paper [T.
M\"utze and J. Nummenpalo. An efficient algorithm for computing a middle levels
Gray code. To appear in ACM Transactions on Algorithms, 2018] this existence
proof was turned into an algorithm that computes each new set in the Gray code
in time on average. In this work we present an algorithm for
computing a middle levels Gray code in optimal time and space: each new set is
generated in time on average, and the required space is
Optimal Algorithms for Ranked Enumeration of Answers to Full Conjunctive Queries
We study ranked enumeration of join-query results according to very general
orders defined by selective dioids. Our main contribution is a framework for
ranked enumeration over a class of dynamic programming problems that
generalizes seemingly different problems that had been studied in isolation. To
this end, we extend classic algorithms that find the k-shortest paths in a
weighted graph. For full conjunctive queries, including cyclic ones, our
approach is optimal in terms of the time to return the top result and the delay
between results. These optimality properties are derived for the widely used
notion of data complexity, which treats query size as a constant. By performing
a careful cost analysis, we are able to uncover a previously unknown tradeoff
between two incomparable enumeration approaches: one has lower complexity when
the number of returned results is small, the other when the number is very
large. We theoretically and empirically demonstrate the superiority of our
techniques over batch algorithms, which produce the full result and then sort
it. Our technique is not only faster for returning the first few results, but
on some inputs beats the batch algorithm even when all results are produced.Comment: 50 pages, 19 figure
Optimizing reliable network topology design using dynamic programming
This thesis addresses four reliable network topology design problems that consider reliability, cost, and/or bandwidth performance metrics. The optimization problems include one or two objectives and one constraint, each of which is known NP-hard. All problems consider all-terminal and/or two-terminal reliability measures. Four heuristic dynamic programming approaches are proposed, and 10 order criteria are used to improve their optimality and time efficiency. Simulations on hundreds of networks show the merits of the proposed methods
- âŠ