SearcharxivSearch

arXiv · 1509.08216

Fast Algorithms for Finding Pattern Avoiders and Counting Pattern Occurrences in Permutations

Abstract

Given a set $\Pi$ of permutation patterns of length at most $k$, we present an algorithm for building $S_{\le n}(\Pi)$, the set of permutations of length at most $n$ avoiding the patterns in $\Pi$, in time $O(|S_{\le n - 1}(\Pi)| \cdot k + |S_{n}(\Pi)|)$. Additionally, we present an $O(n!k)$-time algorithm for counting the number of copies of patterns from $\Pi$ in each permutation in $S_n$. Surprisingly, when $|\Pi| = 1$, this runtime can be improved to $O(n!)$, spending only constant time per permutation. Whereas the previous best algorithms, based on generate-and-check, take exponential time per permutation analyzed, all of our algorithms take time at most polynomial per outputted permutation. If we want to solve only the enumerative variant of each problem, computing $|S_{\le n}(\Pi)|$ or tallying permutations according to $\Pi$-patterns, rather than to store information about every permutation, then all of our algorithms can be implemented in $O(n^{k+1}k)$ space. Using our algorithms, we generated $|S_5(\Pi)|, \ldots, |S_{16}(\Pi)|$ for each $\Pi \subseteq S_4$ with $|\Pi| > 4$, and analyzed OEIS matches. We obtained a number of potentially novel pattern-avoidance conjectures. Our algorithms extend to considering permutations in any set closed under standardization of subsequences. Our algorithms also partially adapt to considering vincular patterns.

Explore related subjects

Keep this discovery

BibTeXRIS

William Kuszmaul. 2015-09-28. Fast Algorithms for Finding Pattern Avoiders and Counting Pattern Occurrences in Permutations. https://arxiv.org/abs/1509.08216

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

An FPTAS for Two-Machine Open-Shop Scheduling with a Single Unavailability Interval

We consider the two-machine open-shop scheduling problem in which one machine is unavailable during a fixed interval. We study the resumable setting: an operation interrupted by the unavailability interval may resume, without penalty, when the machine becomes available. The objective is to minimize the makespan. Although the problem is NP-hard and several approximation algorithms are known, whether it admits a fully polynomial-time approximation scheme (FPTAS) has remained open for two decades. We resolve this question affirmatively by giving the first FPTAS, thereby strengthening the previously known polynomial-time approximation scheme (PTAS). As an intermediate result, we develop a new pseudo-polynomial dynamic program with seven state dimensions, improving on the ten-dimensional formulation in the literature.

cs.DM

Generalized Graph Search Trees

Graph search algorithms and their corresponding graph search trees are commonly used in algorithmic graph theory. In recent years, the recognition problem of these graph search trees has received significant attention. So far, the research has focused on two types of search trees: first-in trees that behave like BFS-trees and last-in trees that behave like DFS-trees. The search tree paradigms differ from each other by the parent a vertex is connected to. In first-in trees, it is the first visited neighbor, while in last-in trees it is the last neighbor visited before that vertex. Here, we will generalize these concepts of graph search trees by allowing every preceding neighbor of a vertex to be the parent. We study the complexity of the recognition problem of these generalized graph search trees. We present NP-completeness proofs for most searches. We also show that the problem is trivial for Generic Search and polynomial-time solvable for several searches on bipartite graphs and chordal graphs. We also study the question how fixing the start vertex influences the complexity of the problem.

cs.DM

The exact asymptotic constant in the metric dimension of Jaccard space

Let $X$ be a finite set with $|X|=n$ and let $\mathrm{Jac}(a,b)=|a\,\triangle\, b|/|a\cup b|$ be the Jaccard distance on the power set $2^X$. Lladser and Paradise recently proved that the metric dimension of $(2^X,\mathrm{Jac})$ is $\Theta(n/\ln n)$, with the constant left open; their bounds are $(\ln 2)\,n/\ln n\lesssim \beta(2^X,\mathrm{Jac})\lesssim 2\ln(2e)\,n/\ln n$. We determine the constant: \[ \beta(2^X,\mathrm{Jac})=\frac{2n}{\log_2 n}\,(1+o(1))=(2\ln 2)\,\frac{n}{\ln n}\,(1+o(1)). \] The proof identifies the problem, on each ``slice'' of subsets of fixed cardinality, with the Erd\H{o}s--R\'enyi coin-weighing problem for a spring scale (the problem of \emph{detecting matrices}). The lower bound is the Erd\H{o}s--R\'enyi entropy argument applied to the middle slice; the upper bound follows from the explicit detecting families of Lindstr\"om and of Cantor and Mills, augmented by a single extra landmark that reveals cardinality.

cs.DM