Papers by Aaron Williams
8 paper(s) by this author
· All BibTeX
Exhaustive Generation of Pattern-Avoiding s-Words
The most well-known Gray code of permutations is plain changes. It was discovered in the 1600s by bell-ringers who wished to order the permutations of [n] by swaps (e.g., 123, 132, 312, 321, 231, 213 for n = 3). In other words, plain changes traces a Hamilton path in the permutohedron. In 2013 it was shown that plain changes can be generated by a greedy algorithm: swap the largest value. Algorithm J replaces the swap operation with the jump operation (which moves a larger digit past one or more smaller digits) and forms the basis of the wildly successful Combinatorial Generation via Permutation Languages series of papers.
Here we further generalize this line of research to languages of s-words (i.e., multiset permutations). We generalize jumps to bumps, which moves a sequential run of the same larger digit past one or more smaller digits. Algorithm B greedily applies minimum-length bumps prioritized by largest value, then largest index, then rightward before leftward (e.g. 1122, 1221, 1212, 2112, 2121, 2211 for s = (2, 2)).
We show that the algorithm works for s-word languages avoiding a wide variety of tame patterns. Specific applications include efficient algorithm for generating s-Stirling words (which avoid 121) and new Gray codes for various s-Catalan objects (which avoid 132 and 121). The former result leads to Hamilton paths in every s-permutahedron.
The Quaternary Gray Code and How It Can Be Used to Solve Ziggurat and Other Ziggu Puzzles
We investigate solutions to the new "Ziggu" family of exponential puzzles. These puzzles have $p$ pieces that form $m$ mazes. We encode the puzzle state as an quaternary number (base $4$) with $n=m+1$ digits, where each digit gives the horizontal or vertical position in one maze. We show that the number of states on a shortest solution is $6 \cdot 2^n - 3n - 5$ (OEIS A101946). This solution is unique, and it is generated from the start as follows: make the leftmost modification that doesn't undo the previous modification. Replacing "leftmost" with "rightmost" instead generates the unique longest solution that visits all $(3^{n+1} - 1)/2$ states (OEIS A003462). Thus, Ziggu puzzles can be viewed as $4$-ary, $3$-ary, or $2$-ary puzzles based on how the number of state encodings, valid states, or minimum states grow with each additional maze.
Classic Gray code puzzles (e.g., Spin-Out) provide natural comparisons. Gray code puzzles with $p$ pieces have $2^p$ (OEIS A000079) or $\lfloor \frac{2}{3} \cdot 2^p \rfloor$ (OEIS A000975) states on their unique solution. The states visited in a Gray code puzzle solution follow the binary reflected Gray code. We show that Ziggu puzzles follow the quaternary reflected Gray code, as the shortest and longest solutions are both sublists of this order.
These results show how to solve Ziggu puzzles from the start. We also provide $O(n)$-time ranking, comparison, and successor algorithms, which give the state's position along a solution, the relative order of two states, and the next state, respectively. While Gray code puzzles have simpler recursive descriptions and successor rules, the Ziggu puzzle has a simpler loopless algorithm to generate its shortest solution. The two families share a comparison function. Finally, we enrich the literature on OEIS A101946 by providing a bijection between Ziggu states and $2\times n$ Nurikabe grids.
Pattern Avoidance for Fibonacci Sequences using $k$-Regular Words
Published
• View Publication
• BIB
Two $k$-ary Fibonacci recurrences are $a_k(n) = a_k(n-1) + k \cdot a_k(n-2)$ and $b_k(n) = k \cdot b_k(n-1) + b_k(n-2)$. We provide a simple proof that $a_k(n)$ is the number of $k$-regular words over $[n] = \{1,2,\ldots,n\}$ that avoid patterns $\{121, 123, 132, 213\}$ when using base cases $a_k(0) = a_k(1) = 1$ for any $k \geq 1$. This was previously proven by Kuba and Panholzer in the context of Wilf-equivalence for restricted Stirling permutations, and it creates Simion and Schmidt's classic result on the Fibonacci sequence when $k=1$, and the Jacobsthal sequence when $k=2$. We complement this theorem by proving that $b_k(n)$ is the number of $k$-regular words over $[n]$ that avoid $\{122, 213\}$ with $b_k(0) = b_k(1) = 1$ for any~$k \geq 2$. Finally, we conjecture that $|Av^{2}_{n}(\underline{121}, 123, 132, 213)| = a_1(n)^2$ for $n \geq 0$. That is, vincularizing the Stirling pattern in Kuba and Panholzer's Jacobsthal result gives the Fibonacci-squared numbers.
Inside the Binary Reflected Gray Code: Flip-Swap Languages in 2-Gray Code Order
Published
• View Publication
• BIB
A flip-swap language is a set S of binary strings of length n such that $S \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($n^{1.864}$)-amortized per string. Our work generalizes results on necklaces and Lyndon words by Vajnovski [Inf. Process. Lett. 106(3):96$-$99, 2008].
A Hamilton Cycle in the $k$-Sided Pancake Network
Published
• View Publication
• BIB
We present a Hamilton cycle in the $k$-sided pancake network and four combinatorial algorithms to traverse the cycle. The network's vertices are coloured permutations $π= p_1p_2\cdots p_n$, where each $p_i$ has an associated colour in $\{0,1,\ldots, k{-}1\}$. There is a directed edge $(π_1,π_2)$ if $π_2$ can be obtained from $π_1$ by a "flip" of length $j$, which reverses the first $j$ elements and increments their colour modulo $k$. Our particular cycle is created using a greedy min-flip strategy, and the average flip length of the edges we use is bounded by a constant.
Combinatorial generation via permutation languages. I. Fundamentals
Published
• View Publication
• BIB
In this work we present a general and versatile algorithmic framework for exhaustively generating a large variety of different combinatorial objects, based on encoding them as permutations. This approach provides a unified view on many known results and allows us to prove many new ones. In particular, we obtain four classical Gray codes for permutations, bitstrings, binary trees and set partitions as special cases. We present two distinct applications for our new framework: The first main application is the generation of pattern-avoiding permutations, yielding new Gray codes for different families of permutations that are characterized by the avoidance of certain classical patterns, (bi)vincular patterns, barred patterns, boxed patterns, Bruhat-restricted patterns, mesh patterns, monotone and geometric grid classes, and many others. We also obtain new Gray codes for all the combinatorial objects that are in bijection to these permutations, in particular for five different types of geometric rectangulations, also known as floorplans, which are divisions of a square into $n$ rectangles subject to certain restrictions. The second main application of our framework are lattice congruences of the weak order on the symmetric group $S_n$. Recently, Pilaud and Santos realized all those lattice congruences as $(n-1)$-dimensional polytopes, called quotientopes, which generalize hypercubes, associahedra, permutahedra etc. Our algorithm generates the equivalence classes of each of those lattice congruences, by producing a Hamilton path on the skeleton of the corresponding quotientope, yielding a constructive proof that each of these highly symmetric graphs is Hamiltonian. We thus also obtain a provable notion of optimality for the Gray codes obtained from our framework: They translate into walks along the edges of a polytope.
Single-Player and Two-Player Buttons & Scissors Games
Published
• View Publication
• BIB
We study the computational complexity of the Buttons \& Scissors game and obtain sharp thresholds with respect to several parameters. Specifically we show that the game is NP-complete for $C = 2$ colors but polytime solvable for $C = 1$. Similarly the game is NP-complete if every color is used by at most $F = 4$ buttons but polytime solvable for $F \leq 3$. We also consider restrictions on the board size, cut directions, and cut sizes. Finally, we introduce several natural two-player versions of the game and show that they are PSPACE-complete.
Hamiltonicity of the Cayley Digraph on the Symmetric Group Generated by σ = (1 2 ... n) and τ = (1 2)
The symmetric group is generated by σ = (1 2 ... n) and τ = (1 2). We answer an open problem of Nijenhuis and Wilf by constructing a Hamilton path in the directed Cayley graph for all n, and a Hamilton cycle for odd n.