Charles Explorer logo
🇬🇧

Trimming and gluing Gray codes

Publication at Faculty of Mathematics and Physics |
2018

Abstract

We consider the algorithmic problem of generating each subset of [n] := {1, 2, ..., n} whose size is in some interval [k,1], 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)(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 O(1) time per generated set and 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 Qt, induced by all levels [k, I]. 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 epsilon {0, 1 ,..., 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.