【问题标题】:Transitive reduction from a linear extension of a partial order从偏序的线性扩展传递减少
【发布时间】:2015-09-17 07:16:25
【问题描述】:

是否有一种有效的算法可以从偏序的单个linear extension 创建transitive reduction

更新:实际上,部分顺序是已知的。我也知道给定偏序的time complexity of computing a transitive reduction。我想知道的是:给定一个偏序它的线性扩展之一,可以降低时间复杂度吗?

【问题讨论】:

  • 由于对于具有不同传递约简的几个偏序可以有一个共同的线性扩展,这是不可能的 - 假设你想要的是找到一个偏序的传递约简,只给它一个线性扩展名。
  • 更具体地说,当 (1) 隐藏的偏序是完全的 (2) 隐藏的偏序无处不在时,您将如何解决问题。
  • 所以为了避免混淆:给定输入关系R,传递约简的计算可以通过拓扑排序来完成吗?此外,问题是如果将R 的线性扩展作为输入的一部分给出,问题是否在计算上变得更容易?
  • 是的,我的问题是:如果将 R 的线性扩展作为输入的一部分另外给出,问题是否会在计算上变得更容易?但是,不能通过拓扑排序来计算 R 的传递约简。

标签: algorithm graph-theory partial-ordering


【解决方案1】:

渐近地说,答案是否定的。只需检查整个输入,Omega(n + m) 就有一个微不足道的下界,拓扑排序在 O(n + m) 时间上产生线性扩展,这不会为任何正确的算法增加渐近成本。

【讨论】:

    【解决方案2】:

    如果我对问题的理解正确,则可以通过使用topological sorting 在时间上与输入的编码长度呈线性关系来生成部分排序的线性扩展。按照您问题中的链接,生成的序列已经是其自身的传递缩减,因为它的传递闭包是相同的可达性关系。但是请注意,初始偏序的线性扩展可能不是唯一确定的。

    【讨论】:

    • 偏序的传递约简不一定是线性序,每个拓扑序都是线性序。
    • 感谢您的评论,但我对这些概念感到困惑。拓扑排序是其输入的线性扩展,是一个全序,不是吗?
    • 是的,但我理解这个问题的方式是:您的输入是一些(未知)偏序的线性扩展,而 Martin 想要计算的是偏序的传递减少。
    • 所以您将问题理解为“给定某个偏序(未明确给出)P 的线性扩展 E,计算 P 的传递约简”?
    • 是的,我是这么理解的。你的解释是什么?
    猜你喜欢
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多