【问题标题】:Implication Graph Assignment蕴涵图分配
【发布时间】:2014-09-20 19:34:00
【问题描述】:

蕴涵图是一个有向图,其中每个节点都被指定为真或假,任何边u -> v 都暗示if u is true then v is true

我知道一个简单的 O(n^2) 算法可以在一般蕴涵图中找到分配,而 O(n) 算法可以用于某些特殊情况(例如由 2-SAT 问题引起的蕴涵图)。

所以我想知道是否有 O(n) 算法查找任何蕴涵图的分配?

【问题讨论】:

  • 您没有指定作业的要求。
  • 你能举一个不等同于 2-SAT 问题的蕴涵图的简单例子吗? (我认为所有的蕴涵图都等价于 2-SAT 并且都可以通过 Tarjan 的强连通分量算法在 O(n) 内求解)
  • @piotrekg2,每条边都指定一个要求。从节点 u 到节点 v 的边意味着如果 u 被赋值为真,那么 v 也必须为真。
  • 这怎么不等同于 2SAT 公式 (!a OR !b) AND (!b OR c)?一般的想法是用 !x OR y 替换 x -> y。

标签: algorithm graph 2-satisfiability implication


【解决方案1】:

可以使用Tarjan strongly connected components 方法找到满足暗示图的分配,因为该方法适用于所有暗示图,而不仅仅是通过转换 2-SAT 实例生成的那些。该方法由少量图形转换步骤组成,所有这些步骤都需要与输入大小成线性关系的时间。因此,整个算法需要 O(n) 运行时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多