Papers for

combinatorial algorithm designers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Efficient counting method enumerates permutations avoiding combined patterns

Protected tails and polynomial-time enumeration of permutations avoiding a direct sum of an increasing pattern and 231

Abstract: We give an exact algorithm counting the permutations that avoid a fixed pattern from the following family: the direct sum of an increasing pattern and the pattern 231. The first members of the family are 1342 and 12453. For each member, the algorithm computes the number of avoiding permutations of every length up to a given bound using polynomially many arithmetic operations and polynomially many stored integers, with degrees that grow linearly in the length of the pattern. We first obtain an exact recurrence by reading a permutation from left to right and recording, at each step, the constraints that the letters read so far impose on those still unread. Its state space grows exponentially, so evaluating it directly takes exponential time. We then show that part of the state is protected: later steps carry it along unchanged and do not depend on it. Factoring the protected part out turns the recurrence into a dynamic program with polynomially many stored transfer entries, and this gives the polynomial bounds for every member of the family. For the pattern 12453, a translation symmetry sharpens the bounds to degree seven for the operations and degree four for the storage. Separately written implementations and exact Chinese-remainder certification determine the number of 12453-avoiding permutations of every length up to 150. The previously published series reached length 38. The same tables also generate uniformly random avoiders in polynomial time. We illustrate this with a heatmap of one million 12453-avoiding permutations of length 300 sampled with floating-point tables. The counting recurrences for 1342 and 12453 are verified in the Lean 4 proof assistant.

Mon 14 SeptDiscrete MathematicsData Structures and AlgorithmsLogic in Computer Science
The gist
Counting permutations that avoid certain patterns can be very complex. The authors focus on patterns made by joining an increasing sequence with the pattern 231. They develop an exact counting method that runs efficiently with polynomial time for these combined patterns, improving greatly on previous methods. Their approach cleverly simplifies part of the problem to reduce exponential complexity to polynomial complexity, enabling counting for permutations of length up to 150. They also produce random samples of such permutations efficiently and verify their results rigorously using a proof assistant.
Open 2609.15642v1