arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2403.20165cs.DS
收藏

一种简单高效的有符号排列反转排序算法

A Simple and Efficient Algorithm for Sorting Signed Permutations by Reversals

Krister M. Swenson

AI总结:

本文针对有符号排列反转排序问题,提出了首个最坏情况运行时间为O(n log n)的简单高效算法,突破了此前O(n log² n / log log n)的最佳时间上界。

摘要:

1937年,生物学家Sturtevant和Tan提出了一个计算问题:将一条由基因排列表示的染色体,通过最短长度的反转序列变换为第二个排列,每次反转都会颠倒一个连续元素子集的顺序。该问题的解被应用于果蝇染色体,并由人工计算得出。第一个算法结果是一个启发式方法,于1982年发表。在1990年代,该问题的一个更具生物学相关性的版本——其中元素带有符号且符号也会被反转——终于受到计算机科学界的认真关注。这一努力最终产生了有符号反转排序的第一个多项式时间算法。此后,又有十多篇文章致力于简化理论并开发运行时间更优的算法。当前最佳算法的运行时间为$O(n \log^2 n / \log\log n)$,未能达到一些人认为可能的$O(n \log n)$下界。在本文中,我们提出了第一个在最坏情况下运行时间为$O(n \log n)$的算法。该算法实现相当简单,且运行时间中隐藏的常数非常低。

英文摘要:

In 1937, biologists Sturtevant and Tan posed a computational question: transform a chromosome represented by a permutation of genes, into a second permutation, using a minimum-length sequence of reversals, each inverting the order of a contiguous subset of elements. Solutions to this problem, applied to Drosophila chromosomes, were computed by hand. The first algorithmic result was a heuristic that was published in 1982. In the 1990s a more biologically relevant version of the problem, where the elements have signs that are also inverted by a reversal, finally received serious attention by the computer science community. This effort eventually resulted in the first polynomial time algorithm for Signed Sorting by Reversals. Since then, a dozen more articles have been dedicated to simplifying the theory and developing algorithms with improved running times. The current best algorithm, which runs in $O(n \log^2 n / \log\log n)$ time, fails to meet what some consider to be the likely lower bound of $O(n \log n)$. In this article, we present the first algorithm that runs in $O(n \log n)$ time in the worst case. The algorithm is fairly simple to implement, and the running time hides very low constants.

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

↑