Combinatorial generation via permutation languages. I. Fundamentals

06/14/2019
by   Elizabeth Hartung, et al.
0

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 the following four classical Gray codes as special cases: the Steinhaus-Johnson-Trotter algorithm to generate all permutations of an n-element set by adjacent transpositions; the binary reflected Gray code to generate all n-bit strings by flipping a single bit in each step; the Gray code for generating all n-vertex binary trees by rotations due to Lucas, van Baronaigien, and Ruskey; the Gray code for generating all partitions of an n-element ground set by element exchanges due to Kaye. The first main application of our framework are permutation patterns, yielding new Gray codes for different pattern-avoiding permutations, such as vexillary, skew-merged, separable, Baxter and twisted Baxter permutations, 2-stack sortable permutations, geometric grid classes, and many others. We also obtain new Gray codes for many 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 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.

READ FULL TEXT

page 11

page 12

research
06/14/2023

Combinatorial generation via permutation languages. VI. Binary trees

In this paper we propose a notion of pattern avoidance in binary trees t...
research
03/16/2021

Combinatorial generation via permutation languages. III. Rectangulations

A generic rectangulation is a partition of a rectangle into finitely man...
research
06/19/2018

A unifying method for the design of algorithms canonizing combinatorial objects

We devise a unified framework for the design of canonization algorithms....
research
12/07/2022

Combinatorial generation via permutation languages. V. Acyclic orientations

In 1993, Savage, Squire, and West described an inductive construction fo...
research
06/30/2021

Combinatorial generation via permutation languages. IV. Elimination trees

An elimination tree for a connected graph G is a rooted tree on the vert...
research
04/17/2023

Traversing combinatorial 0/1-polytopes via optimization

In this paper, we present a new framework that exploits combinatorial op...
research
07/05/2023

Kolam Simulation using Angles at Lattice Points

Kolam is a ritual art form practised by people in South India and consis...

Please sign up or login with your details

Forgot password? Click here to reset