问题标签 [max-flow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
893 浏览

algorithm - 给定一个流网络和一条边 e,描述一个确定 e 是否穿过某个最小割的算法

给定一个流网络 G = (V,E),其源为 s,汇为 t,边 e = (u,v),描述一种算法来确定边 e 是否与某个最小割 (S,T) 相交。

我的第一个想法是计算最大流量 f,然后将 e 的容量减少一些 a > 0。然后我们检查残差图是否有从 s 到 t 的路径(这意味着我们可以进一步增加流量 f) .

现在,如果没有从 s 到 t 的路径,我们可以确定 e 不会越过任何最小割。

问题在于另一个方向。如果有一条从 s 到 t 的路径,那可能是因为我们在选择 a > 0 时不小心创建了一个新的最小割使 e 交叉。

那么如何选择足够小的 a > 0 呢?

0 投票
1 回答
2005 浏览

c++ - opencv GCGRAPH(最大流量)基于什么算法?

opencv 有一个最大流算法的实现(GCGRAPH文件 gcgraph.hpp 中的类)。它在这里可用

有谁知道这个类实现了哪个特定的最大流算法?

0 投票
1 回答
1344 浏览

algorithm - Minimum spanning tree containing a given edge after removing edges

This is a part of an exam preparation. I know it has something to do with max-flow algorithm, but I'd be happy for a hint:

Let G=(V,E) an undirected connected graph, and let w:E->R a weight function, e an edge and k > 0. Describe an algorithm that determines whether we can remove at most k edges from the graph, so that e would belong to a minimum spanning tree of the new graph.

I think that a spanning tree is kind of a perfect matching. But how do I make it minimal that contains e and the right amount of other edges?

0 投票
0 回答
225 浏览

algorithm - 最大流量的 MPM 算法和 Push-relabel 算法有什么限制?

我正在对此进行编码,并且需要了解这两种不同算法的限制:1)容量必须是整数吗?2)图必须是非循环的吗?

谁能给点提示?

谢谢

0 投票
2 回答
291 浏览

max-flow - 最大流量和最小切割的对偶性:当存在无限容量时

我想知道 max-flow 和 min-cut 之间著名的二元性是否真的可以容忍无限的价值容量。这是一个似乎不是的简单示例:

源 s、汇 t、其他五个节点 a、b、c、d、e

s -> a: 容量 3

s -> b: 3

a -> c: \infty

a -> d: \infty

b -> d: \infty

b -> e: \infty

c -> t: 1

d -> t: 1

e -> t: 4

最大流量为 5。但是,没有容量为 5 的切割。这是因为无限容量迫使所有 a、b、c、d、e 属于同一集合/切割的一半(否则会有割集中的一个 \infty 权重)。

0 投票
1 回答
2886 浏览

c++ - push-relabel算法的实现

我正在从 topcoder 站点学习 push-relabel 算法:http: //community.topcoder.com/tc ?module=Static&d1=tutorials&d2=maxflowPushRelabel 我认为实现有问题。节点饱和时如何将多余的流量推回节点。例如:

在此处输入图像描述

在找到从 1 到 3 的最大流量时,在某一阶段我需要将流量从 2 推回到 1(因为 2 没有出边)。但在先进先出算法的代码实现中,第16行的循环从0 to G[u].size(). 既然 2 没有从 2 到 1 的任何边,它怎么能把流量推回到 1 呢?

如果需要,这是我糟糕的实现:

0 投票
1 回答
6291 浏览

algorithm - 网络流是伪多项式时间吗?

我们知道正常的背包问题具有伪多项式时间,因为 O(nW) 的运行时间。我想知道网络流的运行时间是否是伪多项式时间,因为使用 Ford-Fulkerson 算法的网络流的运行时间是 O(Cm)(m 表示边数,C 表示从起点离开的边的容量总和) ?

0 投票
1 回答
150 浏览

algorithm - 如何使用最大流量解决这个问题?

C1 城市愿意出售一些商品,而其他 C2 城市愿意购买一些商品(每个城市都可以出售或购买商品,但不能同时出售)。每个销售城市只能向一个城市销售商品,每个购买城市只能从一个城市购买商品。

您的目标是以最大化交换商品数量的方式连接自私的城市。

最难的是每个城市只能向/从一个城市出售/购买商品的限制。

0 投票
1 回答
1082 浏览

algorithm - 教授声称两个不同的最大流量意味着“无限数量的最大流量”

0 投票
1 回答
3256 浏览

algorithm - 减少某些边缘的容量将减少最大流量

我试图找到一个反例,但它似乎不存在。但是,也找不到证据。也许有人有什么想法?这是详细信息:

对于具有非零最大流量值的每个 st 流网络,都存在一条边,因此降低该边的容量将降低最大流量的值。这是真的假的吗?