English

Inside the Binary Reflected Gray Code: Flip-Swap Languages in 2-Gray Code Order

Combinatorics 2021-05-11 v1 Discrete Mathematics

Abstract

A flip-swap language is a set S of binary strings of length n such that S0nS \cup 0^n is closed under two operations (when applicable): (1) Flip the leftmost 1; and (2) Swap the leftmost 1 with the bit to its right. Flip-swap languages model many combinatorial objects including necklaces, Lyndon words, prefix normal words, left factors of k-ary Dyck words, and feasible solutions to 0-1 knapsack problems. We prove that any flip-swap language forms a cyclic 2-Gray code when listed in binary reflected Gray code (BRGC) order. Furthermore, a generic successor rule computes the next string when provided with a membership tester. The rule generates each string in the aforementioned flip-swap languages in O(n)-amortized per string, except for prefix normal words of length n which require O(n1.864n^{1.864})-amortized per string. Our work generalizes results on necklaces and Lyndon words by Vajnovski [Inf. Process. Lett. 106(3):96-99, 2008].

Keywords

Cite

@article{arxiv.2105.03556,
  title  = {Inside the Binary Reflected Gray Code: Flip-Swap Languages in 2-Gray Code Order},
  author = {Joe Sawada and Aaron Williams and Dennis Wong},
  journal= {arXiv preprint arXiv:2105.03556},
  year   = {2021}
}