We introduce an algorithm to determine when a sorting operation, such as stack-sort or bubble-sort, outputs a given pattern. The algorithm provides a new proof of the description of West-2-stack-sortable permutations, that is permutations that are completely sorted when passed twice through a stack, in terms of patterns. We also solve the long-standing problem of describing West-3-stack-sortable permutations. This requires a new type of generalized permutation pattern we call a decorated pattern.
We use a method for determining the number of preimages of any permutation under the stack-sorting map in order to obtain recursive upper bounds for the numbers $W_t(n)$ and $W_t(n,k)$ of $t$-stack sortable permutations of length $n$ and $t$-stack sortable permutations of length $n$ with exactly $k$ descents. From these bounds, we are able to significantly improve the best known upper bounds for $\displaystyle{\lim_{n\to\infty}\sqrt[n]{W_t(n)}}$ when $t=3$ and $t=4$.
We extend and generalize many of the enumerative results concerning West's stack-sorting map $s$. First, we prove a useful theorem that allows one to efficiently compute $|s^{-1}(π)|$ for any permutation $π$, answering a question of Bousquet-Mélou. We then enumerate permutations in various sets of the form $s^{-1}(\text{Av}(τ^{(1)},\ldots,τ^{(r)}))$, where $\text{Av}(τ^{(1)},\ldots,τ^{(r)})$ is the set of permutations avoiding the patterns $τ^{(1)},\ldots,τ^{(r)}$. These preimage sets often turn out to be permutation classes themselves, so the current paper represents a new approach, based on …
We study preimages of permutations under the bubblesort operator $\mathbf{B}$. We achieve a description of these preimages much more complete than what is known for the more complicated sorting operators $\mathbf{S}$ (stacksort) and $\mathbf{Q}$ (queuesort). We describe explicitly the set of preimages under $\mathbf{B}$ of any permutation $π$ from the left-to-right maxima of $π$, showing that there are $2^{k-1}$ such preimages if $k$ is the number of these left-to-right maxima. We further consider, for each $n$, the tree $T_n$ recording all permutations of size $n$ in its nodes, in which an ed…
We exhibit a bijection between recently-introduced combinatorial objects known as valid hook configurations and certain weighted set partitions. When restricting our attention to set partitions that are matchings, we obtain three new combinatorial interpretations of Lassalle's sequence. One of these interpretations involves permutations that have exactly one preimage under the (West) stack-sorting map. We prove that the sequences obtained by counting these permutations according to their first entries are symmetric, and we conjecture that they are log-concave. We also obtain new recurrence rel…
We introduce operators $\mathsf{hare}$ and $\mathsf{tortoise}$, which act on words as natural generalizations of West's stack-sorting map. We show that the heuristically slower algorithm $\mathsf{tortoise}$ can sort words arbitrarily faster than its counterpart $\mathsf{hare}$. We then generalize the combinatorial objects known as valid hook configurations in order to find a method for computing the number of preimages of any word under these two operators. We relate the question of determining which words are sortable by $\mathsf{hare}$ and $\mathsf{tortoise}$ to more classical problems in pa…
We consider the set of permutations that are sorted after two passes through a pop stack. We characterize these permutations in terms of forbidden patterns (classical and barred) and enumerate them according to the ascent statistic. Then we show these permutations to be in bijection with a special family of polyominoes. As a consequence, the permutations sortable by this machine are shown to have the same enumeration as three classical permutation classes.
We describe an algorithm, implemented in Python, which can enumerate any permutation class with polynomial enumeration from a structural description of the class. In particular, this allows us to find formulas for the number of permutations of length n which can be obtained by a finite number of block sorting operations (e.g., reversals, block transpositions, cut-and-paste moves).
In this article, we give a precise mathematical meaning to `linear? time' that matches experimental behaviour of the algorithm. The sorting algorithm is not our own, it is a variant of radix sort with counting sort as a subroutine. The true result of this article is an efficient universality result for lexicographic order, or more generally for some linear extensions of the partial order `Next': `if current items are equal, compare next items'. We define new classes of orders: (Finite width) Tree Structured Orders. We show that an instance of a finite width tree structured order can be convert…
We consider a stack sorting algorithm where only the appropriate output values are popped from the stack and then any remaining entries in the stack are run through the stack in reverse order. We identify the basis for the $2$-reverse pass sortable permutations and give computational results for some classes with larger maximal rev-tier. We also show all classes of $(t+1)$-reverse pass sortable permutations are finitely based. Additionally, a new Entringer family consisting of maximal rev-tier permutations of length $n$ was discovered along with a bijection between this family and the collecti…
Permutation patterns and pattern avoidance have been intensively studied in combinatorics and computer science, going back at least to the seminal work of Knuth on stack-sorting (1968). Perhaps the most natural algorithmic question in this area is deciding whether a given permutation of length $n$ contains a given pattern of length $k$. In this work we give two new algorithms for this well-studied problem, one whose running time is $n^{k/4 + o(k)}$, and a polynomial-space algorithm whose running time is the better of $O(1.6181^n)$ and $O(n^{k/2 + 1})$. These results improve the earlier best bo…
We prove a "decomposition lemma" that allows us to count preimages of certain sets of permutations under West's stack-sorting map $s$. As a first application, we give a new proof of Zeilberger's formula for the number of 2-stack-sortable permutations in $S_n$. Our proof generalizes, allowing us to find an algebraic equation satisfied by the generating function that counts 2-stack-sortable permutations according to length, number of descents, and number of peaks. The same method yields a recurrence relation for $W_3(n)$, the number of 3-stack-sortable permutations in $S_n$. We compute $W_3(n)$ …