【问题标题】:Network Flow and Integer Linear programming网络流和整数线性规划
【发布时间】:2013-10-27 15:38:08
【问题描述】:

我们都知道网络流的问题可以归结为线性规划。但是,当我们解决网络流量问题时,我们需要流量始终是整数。所以我认为网络流量应该简化为整数线性规划。由于ILP是NP完全的,网络流量问题也应该是NP完全问题。但这与我们所学到的相矛盾,因为网络流的运行时间是 O(Cm)!我哪里错了?是不是因为网络流问题的运行时间是像背包问题(Wn)一样的伪多项式时间?我现在很困惑!

【问题讨论】:

  • 并非所有 ilp 问题都是 NP 完全问题。例如。分配问题可以使用匈牙利算法在多项式时间内解决。
  • 不管怎样,网络流量可以在多项式时间内完成,而不仅仅是伪多项式时间。

标签: algorithm network-flow


【解决方案1】:

从技术上讲,您仍然必须证明减少需要多项式时间,但这是一个更小的问题。主要问题是您的减少是错误的方法

要证明某事是 NP 完全的,你需要做两件事:

  1. 表明它在 NP 中
  2. 证明它也是 NP 难的。

要使用归约进行后者,您需要将 ILP 归约为网络流量,而不是将网络流量归约为 ILP。减少的重点是表明,如果您可以解决给定的问题(在本例中为网络流),您可以在多项式时间内解决 ILP(以及扩展的每个 NP 问题)。通过减少错误的方式,您实际上已经证明,如果您可以在多项式时间内解决 ILP,那么您可以在多项式时间内解决网络流(这是正确的,但由于网络流在 P 中,这是无用的)。

【讨论】:

  • 所以你的意思是我们可以将网络流量减少到 ILP,而我们不能将 ILP 减少到网络流量,对吗?
  • 为什么ILP不能减少到网络流量?是因为归约不能花费多项式时间吗?
  • 我从来没有说过我们不能从 ILP 减少到网络流。我所说的是,从 ILP 减少到网络流是您在网络流的 NP 完整性证明中想要的,而不是相反。
  • 我的理解是,是的,任何当前已知的从 ILP 到网络流的减少都不是多项式时间。据我所知,是否存在这样的多项式时间缩减是一个悬而未决的问题。它的存在至少表明 P = NP。
猜你喜欢
  • 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
相关资源
最近更新 更多