Trimming and gluing Gray codes

Petr Gregor, Torsten Mütze
2018 Theoretical Computer Science  
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 nk subsets of [n] by element exchanges. We prove the existence of such cyclic
more » ... mum-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 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∈{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.
doi:10.1016/j.tcs.2017.12.003 fatcat:rgdurlmhy5aqlfpzsuw3m5jf4u