Shift gray codes

  • Authors:
  • Aaron Michael Williams

  • Affiliations:
  • University of Victoria (Canada)

  • Venue:
  • Shift gray codes
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Combinatorial objects can be represented by strings, such as 21534 for the permutation (1 2) (3 5 4), or 110100 for the binary tree corresponding to the balanced parentheses (()()). Given a string s =s1s2··· sn, the right-shift operation &rarrr;shift (s, i, j) replaces the substring sisi+1 ···sj by s i+1···sjs i. In other words, si is right-shifted into position j by applying the permutation (j j − 1 ··· i) to the indices of s. Right-shifts include prefix-shifts (i = 1) and adjacent-transpositions (j = i + 1). A fixed-content language is a set of strings that contain the same multiset of symbols. Given a fixed-content language, a shift Gray code is a list of its strings where consecutive strings differ by a shift. This thesis asks if shift Gray codes exist for a variety of combinatorial objects. This abstract question leads to a number of practical answers. The first prefix-shift Gray code for multiset permutations is discovered, and it provides the first algorithm for generating multiset permutations in O(1)-time while using O(1) additional variables. Applications of these results include more efficient exhaustive solutions to stacker-crane problems, which are natural NP-complete traveling salesman variants. This thesis also produces the fastest algorithm for generating balanced parenthesis in an array, and the first minimal-change order for fixed-content necklaces and Lyndon words. These results are consequences of the following theorem: Every bubble language has a right-shift Gray code. Bubble languages are fixed-content languages that are closed under certain adjacent-transpositions. These languages generalize classic combinatorial objects—k-ary trees, ordered trees with fixed branching sequences, unit interval graphs, restricted Schröder and Motzkin paths, linear-extensions of B-posets—and their unions, intersections, and quotients. Each Gray code is circular and is obtained from a new variation of lexicographic order known as cool-lex order. Gray codes using only &rarrr;shift (s, 1, n) and &rarrr;shift (s, 1, n − 1) are also found for multiset permutations. A universal cycle that omits the last (redundant) symbol from each permutation is obtained by recording the first symbol of each permutation in this Gray code. As a special case, these shorthand universal cycles provide a new fixed-density analogue to de Bruijn cycles, and the first universal cycle for the "middle levels" (binary strings of length 2 k + 1 with sum k or k + 1).