arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 1902.08809cs.DSmath.CO
收藏

寻找排列中大模式的更快更简单的算法

Faster and simpler algorithms for finding large patterns in permutations

László Kozma

摘要:

排列模式和模式避免在组合学和计算机科学中得到了深入的研究,至少可以追溯到Knuth关于堆栈排序的开创性工作(1968)。也许在这个领域中最自然的算法问题是决定一个给定的长度为$n$的排列是否包含一个给定的长度为$k$的模式。在这项工作中,我们给出了两个新的算法,其运行时间是$n^{0.44k+o(k)}$,和一个其运行时间是更好的$O(1.6181^n)$和$n^{k/2+o(k)}$。这些结果改进了Ahal和Rabinovich(2000)以及Bruner和Lackner(2012)的早期最佳界,并且是当$k = Ω(\log n)$时问题的最快算法。当$k = o(\log n)$时,Guillemot和Marx(2013)的参数化算法占主导地位。我们的第二个算法使用多项式空间,是显着简单,比以前的所有方法具有可比的运行时间,包括$n^{k/2+o(k)}$算法提出的Guillemot和马克思。我们的方法可以总结如下:“对于模式的每个偶值条目的匹配,尝试从左到右匹配所有奇值条目”。对于特殊情况下的模式,约旦排列,我们表现出了改进的,次指数的运行时间。

英文摘要:

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^{0.44k+o(k)}$, and one whose running time is the better of $O(1.6181^n)$ and $n^{k/2+o(k)}$. These results improve the earlier best bounds of Ahal and Rabinovich (2000), and Bruner and Lackner (2012), and are the fastest algorithms for the problem when $k = Ω(\log n)$. When $k = o(\log n)$, the parameterized algorithm of Guillemot and Marx (2013) dominates. Our second algorithm uses polynomial space and is significantly simpler than all previous approaches with comparable running times, including an $n^{k/2+o(k)}$ algorithm proposed by Guillemot and Marx. Our approach can be summarized as follows: "for every matching of the even-valued entries of the pattern, try to match all odd-valued entries left-to-right". For the special case of patterns that are Jordan-permutations, we show an improved, subexponential running time.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑