我最近发现在加权边的图中找到最大切割是NP难的。然而,找到最小切割并非NP难。 如果我在所有边上反转权重然后搜索最小切割,那么这不会给我原始图上的最大切割吗?如果没有,为什么?
答案 0 :(得分:4)
图表的最大切割不是具有反向权重的图形的最小切割。请看下面的图表:红线是最小切割和绿色最大切割。
如果反过来你意味着"对面"然后确实找到一个最大值归结为找到另一个的最小切割。证据很简单。
设G为任何图形,G'具有相反权重的图表。设v_1,..., v_n
为要移除的顶点序列以进行G的最大切割,并w_1,..., w_n
为相关权重。 M = w_1 + ... + w_n = max(cuts)
。显然v_1,..., v_n
是G&C 39的缩写。让v'_1,...,v'_m
成为G'和w'_1,..., w'_n
他们在G'中的权重。
然后v'_1,...,v'_m
也是G的切割,重量为-(w'_1+...+w'_q)
。根据M的定义,我们有-(w'_1+...+w'_q) <= M
,因此w'_1+...+w'_q >= -M
。所以我们有--M是G&#39;中的最小切割值。并且v_1,..., v_n
实现了这个值,它是G&#39;的最小分割。
至于为什么它不是一个容易解决的问题,请参阅 Peter de Rivaz的回答。
答案 1 :(得分:4)
我假设通过逆你的意思是将重量w改为-w。
在这种情况下,调整后的图形的最小切割确实解决了原始图形的最大切割问题。
不幸的是,只有当所有权重都是非负数时才能知道解决最小割问题的有效算法,这意味着如果所有权重都是非正数,我们只能有效地求解最大割数。
答案 2 :(得分:0)
要查找问题的类(多项式或非多项式),您应该使用Reduction这是一种将问题转换为另一个问题的机制。您可以在https://cs.stackexchange.com/questions/1531/is-logical-min-cut-np-complete中找到更多讨论。