Given a signed permutation on $n$ elements, we need to sort it with the fewest reversals. This is a fundamental algorithmic problem motivated by applications in comparative genomics, as it allows to accurately model rearrangements in small genomes. The first polynomial-time algorithm was given in the foundational work of Hannenhalli and Pevzner [J. ACM'99]. Their approach was later streamlined and simplified by Kaplan, Shamir, and Tarjan [SIAM J. Comput.'99] and their framework has eventually led to an algorithm that works in $\mathcal{O}(n^{3/2}\sqrt{\log n})$ time given by Tannier, Bergeron, and Sagot [Discr. Appl. Math.'07]. However, the challenge of finding a nearly-linear time algorithm remained unresolved. In this paper, we show how to leverage the results on dynamic graph connectivity to obtain a surprisingly simple $\mathcal{O}(n \log^2 n / \log \log n)$ time algorithm for this problem.
翻译:给定一个具有$n$个元素的带符号排列,我们需要用最少次数的翻转对其进行排序。这是一个基本的算法问题,其动机源于比较基因组学中的应用,因为它能够精确模拟小基因组中的重排事件。首个多项式时间算法由Hannenhalli和Pevzner在奠基性工作[J. ACM'99]中提出。随后,Kaplan、Shamir和Tarjan [SIAM J. Comput.'99]对其方法进行了简化和优化,并最终由Tannier、Bergeron和Sagot [Discr. Appl. Math.'07]在其框架基础上发展出运行时间为$\mathcal{O}(n^{3/2}\sqrt{\log n})$的算法。然而,寻找近线性时间算法的挑战仍未解决。本文展示了如何利用动态图连通性的研究成果,为该问题设计出一个出奇简单的$\mathcal{O}(n \log^2 n / \log \log n)$时间算法。