部分信息下的排序(不使用椭球算法)
Sorting under Partial Information (without the Ellipsoid Algorithm)
摘要:
我们重新审视了部分信息下的著名排序问题:给定一些元素对之间的比较结果,对有限集合进行排序。输入是一个偏序集P,解决这个问题相当于使用成对比较发现P的未知线性扩展。在最坏情况下所需的比较次数的信息论下限是log e(P),即P的线性扩展数的二进制对数。系统科学51(3),390 - 399,1995)表明,存在用于实现该约束到常数因子的问题的多项式时间算法。他们的算法在每次迭代时调用椭球算法来确定下一次比较,这使得它不切实际。我们开发了有效的算法下的部分信息排序。像Kahn和Kim一样,我们的方法依赖于图熵。然而,我们的算法在本质上与他们的算法不同。而不是诉诸凸规划计算熵,我们近似的熵,或确保它只计算一次,在一类受限制的图,允许使用一个更简单的算法。具体而言,我们提出:时间复杂度:O(n)时间复杂度:O(n)我们所有的算法都可以以这样一种方式实现,即它们的计算瓶颈被限制在预处理阶段,而排序阶段在O(q)+O(n)时间内完成,其中q表示执行的比较次数。
英文摘要:
We revisit the well-known problem of sorting under partial information: sort a finite set given the outcomes of comparisons between some pairs of elements. The input is a partially ordered set P, and solving the problem amounts to discovering an unknown linear extension of P, using pairwise comparisons. The information-theoretic lower bound on the number of comparisons needed in the worst case is log e(P), the binary logarithm of the number of linear extensions of P. In a breakthrough paper, Jeff Kahn and Jeong Han Kim (J. Comput. System Sci. 51 (3), 390-399, 1995) showed that there exists a polynomial-time algorithm for the problem achieving this bound up to a constant factor. Their algorithm invokes the ellipsoid algorithm at each iteration for determining the next comparison, making it impractical. We develop efficient algorithms for sorting under partial information. Like Kahn and Kim, our approach relies on graph entropy. However, our algorithms differ in essential ways from theirs. Rather than resorting to convex programming for computing the entropy, we approximate the entropy, or make sure it is computed only once, in a restricted class of graphs, permitting the use of a simpler algorithm. Specifically, we present: - an O(n^2) algorithm performing O(log n log e(P)) comparisons; - an O(n^2.5) algorithm performing at most (1+ epsilon) log e(P) + O_epsilon (n) comparisons; - an O(n^2.5) algorithm performing O(log e(P)) comparisons. All our algorithms can be implemented in such a way that their computational bottleneck is confined in a preprocessing phase, while the sorting phase is completed in O(q) + O(n) time, where q denotes the number of comparisons performed.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。