当前位置: X-MOL 学术Algorithmica › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Finding and Counting Permutations via CSPs
Algorithmica ( IF 0.9 ) Pub Date : 2021-03-01 , DOI: 10.1007/s00453-021-00812-z
Benjamin Aram Berendsohn , László Kozma , Dániel Marx

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 bounds of \(n^{0.47k + o(k)}\) and \(O(1.79^n)\) due to Ahal and Rabinovich (2000) resp. Bruner and Lackner (2012) and are the fastest algorithms for the problem when \(k \in \varOmega (\log {n})\). We show that both our new algorithms and the previous exponential-time algorithms in the literature can be viewed through the unifying lens of constraint-satisfaction. Our algorithms can also count, within the same running time, the number of occurrences of a pattern. We show that this result is close to optimal: solving the counting problem in time \(f(k) \cdot n^{o(k/\log {k})}\) would contradict the exponential-time hypothesis (ETH). For some special classes of patterns we obtain improved running times. We further prove that 3-increasing (4321-avoiding) and 3-decreasing (1234-avoiding) permutations can, in some sense, embed arbitrary permutations of almost linear length, which indicates that a sub-exponential running time is unlikely with the current techniques, even for patterns from these restricted classes.



中文翻译:

通过CSP查找和计算排列

组合模式和计算机科学已经对置换模式和模式避免进行了深入研究,至少可以追溯到Knuth关于堆栈排序的开创性工作(1968年)。也许这方面最自然的算法问题是确定长度n的给定排列是否包含长度k的给定模式。在这项工作中,我们针对这个经过充分研究的问题给出了两种新算法,一种算法的运行时间为\(n ^ {k / 4 + o(k)} \),另一种算法的运行时间最好为\(O(1.6181 ^ n)\)\(O(n ^ {k / 2 + 1})\)。这些结果改善了\(n ^ {0.47k + o(k)} \)\(O(1.79 ^ n)\)的早期最佳边界由于Ahal和Rabinovich(2000)的回应。Bruner和Lackner(2012)是\(k \ in \ varOmega(\ log {n})\)时最快的算法。我们表明,文献中的新算法和先前的指数时间算法都可以通过约束满足的统一视角来观察。我们的算法还可以在相同的运行时间内计算模式的出现次数。我们证明此结果接近最佳:在时间\(f(k)\ cdot n ^ {o(k / \ log {k})} \)中解决计数问题将与指数时间假设(ETH)相矛盾。对于某些特殊类型的模式,我们可以缩短运行时间。我们进一步证明3-增加(4321避免)和3减少(1234避免)置换可以在某种意义上嵌入几乎线性长度的任意置换,这表明使用当前技术,即使对于这些方法中的模式,次指数运行时间也不大可能限制类。

更新日期:2021-03-01
down
wechat
bug