Trimming and gluing Gray codes
Abstract
We consider the algorithmic problem of generating each subset of $[n]:=\{1,2,\ldots,n\}$ whose size is in some interval $[k,l]$, $0\leq k\leq l\leq 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 $\binom{n}{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 $\mathcal{O}(1)$ time per generated set and $\mathcal{O}(n)$ space. 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,\ldots,k\}$, has a Hamilton cycle. We also prove an approximate version of this generalized conjecture, showing that this graph has a cycle that visits a $(1-o(1))$-fraction of all vertices.
- Publication:
-
arXiv e-prints
- Pub Date:
- July 2016
- DOI:
- 10.48550/arXiv.1607.08806
- arXiv:
- arXiv:1607.08806
- Bibcode:
- 2016arXiv160708806G
- Keywords:
-
- Mathematics - Combinatorics;
- Computer Science - Discrete Mathematics;
- Computer Science - Data Structures and Algorithms
- E-Print:
- Theoretical Computer Science 714:74-95, 2018