Counting Permutation Patterns with Multidimensional Trees
Abstract
We consider the well-studied pattern counting problem: given a permutation π ∈ Sn and an integer k > 1, count the number of order-isomorphic occurrences of every pattern τ ∈ Sk in π. Our first result is an O(n2)-time algorithm for k=6 and k=7. The proof relies heavily on a new family of graphs that we introduce, called pattern-trees. Every such tree corresponds to an integer linear combination of permutations in Sk, and is associated with linear extensions of partially ordered sets. We design an evaluation algorithm for these combinations, and apply it to a family of linearly-independent trees. For k=8, we show a barrier: the subspace spanned by trees in the previous family has dimension exactly |S8| - 1, one less than required. Our second result is an O(n7/4)-time algorithm for k=5. This algorithm extends the framework of pattern-trees by speeding-up their evaluation in certain cases. A key component of the proof is the introduction of pair-rectangle-trees, a data structure for dominance counting.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.