【问题标题】:Clarification on sorting-networks-size upper and lower bound关于排序网络大小上限和下限的说明
【发布时间】:2016-09-02 09:08:50
【问题描述】:

参考这篇 Wikipedia 的文章:https://en.wikipedia.org/wiki/Sorting_network,重点关注段落构建排序网络

您能否解释一下Size, upper boundSize, lower bound(在表格中)是什么? 我希望lower bound 指的是正确排序 n 个数字的输入所需的最小连接数(我正确吗?)。如果是这样,为什么还要麻烦upper bound?理论上,可以使用比upper bound 更大的连接数,那么如何建立呢? 我也阅读了链接的论文(参考文献 11),但我仍然感到困惑。

【问题讨论】:

    标签: algorithm sorting sorting-network


    【解决方案1】:

    表格后面的段落提示了上限和下限的含义:

    对于一到十个输入,最小(大小最优)排序网络是已知的,并且对于更高的值,其大小的下限 S(n) 可以可以使用 Van Voorhis 的引理归纳推导:S(n + 1) ≥ S(n) + ⌈log2(n)⌉

    表中的“上限”显然对应于对给定数量的要排序的元素当前已知最优化大小的排序网络的大小。 1 到 10 个元素的已知尺寸最优排序网络已被证明是最优的,但我们不确定更多元素的已知尺寸最优排序网络是否实际上是最优的。 «下界»对应于排序网络对给定数量的元素进行排序的理论最小大小:这种大小的排序网络可能不存在,但我们还没有证明这一点。

    总结一下:

    • « 上限 » 表示已找到的最优化大小的排序网络。
    • « Lower bound » 表示网络的理论最小规模。尚未证明这样的网络不存在,但我们也没有找到任何这种规模的可行网络。

    作为旁注,我维护a library 与大小优化的排序网络,它们的大小对应于表中的“上限”(另请参见the documentationthe implementation)。

    【讨论】:

    • 谢谢!非常清楚。能否请您链接我“具有大小优化排序网络的库”,我很想看看。
    • @alec_djinn 没问题。我更新了我的答案以添加指向 C++ 库的链接,以及实现和文档的特定位置。老实说,由于排序网络的工作方式,实现非常无趣,但在这里:)
    猜你喜欢
    • 2017-01-31
    • 1970-01-01
    • 2015-06-26
    • 2017-06-25
    • 2018-02-05
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多