66 research outputs found
Subset-lex: did we miss an order?
We generalize a well-known algorithm for the generation of all subsets of a
set in lexicographic order with respect to the sets as lists of elements
(subset-lex order). We obtain algorithms for various combinatorial objects such
as the subsets of a multiset, compositions and partitions represented as lists
of parts, and for certain restricted growth strings. The algorithms are often
loopless and require at most one extra variable for the computation of the next
object. The performance of the algorithms is very competitive even when not
loopless. A Gray code corresponding to the subset-lex order and a Gray code for
compositions that was found during this work are described.Comment: Two obvious errors corrected (indicated by "Correction:" in the LaTeX
source
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
Trimming and Gluing Gray Codes
We consider the algorithmic problem of generating each subset of [n]:={1,2,...,n} whose size is in some interval [k,l], 0 <= k <= l <= n, exactly once (cyclically) by repeatedly adding or removing a single element, or by exchanging a single element. For k=0 and l=n this is the classical problem of generating all 2^n subsets of [n] by element additions/removals, and for k=l this is the classical problem of generating all n over k subsets of [n] by element exchanges. We prove the existence of such cyclic minimum-change enumerations for a large range of values n, k, and l, improving upon and generalizing several previous results. For all these existential results we provide optimal algorithms to compute the corresponding Gray codes in constant time O(1) per generated set and space O(n). Rephrased in terms of graph theory, our results establish the existence of (almost) Hamilton cycles in the subgraph of the n-dimensional cube Q_n induced by all levels [k,l]. We reduce all remaining open cases to a generalized version of the middle levels conjecture, which asserts that the subgraph of Q_(2k+1) induced by all levels [k-c,k+1+c], c in {0, 1, ...k}, has a Hamilton cycle. We also prove an approximate version of this conjecture, showing that this graph has a cycle that visits a (1-o(1))-fraction of all vertices
A constant-time algorithm for middle levels Gray codes
For any integer~, a \emph{middle levels Gray code} is a cyclic listing of all -element and -element subsets of such that any two consecutive sets 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. \textit{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. \textit{ACM Trans. Algorithms}, 14(2):29~pp., 2018] this existence proof was turned into an algorithm that computes each new set in the Gray code in time~\cO(n) 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~\cO(1), and the required space is~\cO(n)
Efficient Generation of Rectangulations via Permutation Languages
A generic rectangulation is a partition of a rectangle into finitely many interior-disjoint rectangles, such that no four rectangles meet in a point. In this work we present a versatile algorithmic framework for exhaustively generating a large variety of different classes of generic rectangulations. Our algorithms work under very mild assumptions, and apply to a large number of rectangulation classes known from the literature, such as generic rectangulations, diagonal rectangulations, 1-sided/area-universal, block-aligned rectangulations, and their guillotine variants. They also apply to classes of rectangulations that are characterized by avoiding certain patterns, and in this work we initiate a systematic investigation of pattern avoidance in rectangulations. Our generation algorithms are efficient, in some cases even loopless or constant amortized time, i.e., each new rectangulation is generated in constant time in the worst case or on average, respectively. Moreover, the Gray codes we obtain are cyclic, and sometimes provably optimal, in the sense that they correspond to a Hamilton cycle on the skeleton of an underlying polytope. These results are obtained by encoding rectangulations as permutations, and by applying our recently developed permutation language framework
Loopless Algorithms to Generate Maximum Length Gray Cycles wrt. k-Character Substitution
Given a binary word relation onto and a finite language
, a -Gray cycle over consists in a permutation
of such that each word
is an image under of the previous word . We define the
complexity measure , equal to the largest cardinality of a
language having words of length at most , and s.t. some -Gray
cycle over exists. The present paper is concerned with , the
so-called -character substitution, s.t. holds if, and
only if, the Hamming distance of and is . We present loopless
(resp., constant amortized time) algorithms for computing specific maximum
length \sigma_k$-Gray cycles.Comment: arXiv admin note: text overlap with arXiv:2108.1365
- …