问题标签 [network-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 回答
2477 浏览

c - 二部图中的最大匹配

我在二分图问题中遇到了最大匹配问题。问题是这样的:

给定一个有 m 个圆孔的板和一组 n 个圆盘。孔编号为 h 1 , ..., h m,圆盘编号为 d 1 , ..., d n

我们有一个 m 行 n 列的矩阵 A。如果 h i可以拟合 d j(即 h i的直径≥ d j的直径),则 A[i][j] = 1 ,否则为 0。

鉴于任何孔最多只能包含一个圆盘的条件,我需要找到最大的孔盘拟合配置。

我读过这个问题可以建模为网络流量问题,但不能完全遵循。有人可以解释如何做到这一点吗?另外,是否有任何我可以查看的 C 代码?

0 投票
1 回答
1207 浏览

algorithm - 计算有向图中不同 st 割的数量

我试图在有向未加权图中找到不同 st 削减的数量。在一篇文章Enumeration in Graphs p 中。45 我找到了列举这些削减的好方法(第 7.3 节)。如果我只对此类削减的数量感兴趣并且我实际上不需要枚举它,是否可以使用更快或更简单的算法?

我正在使用的 st cut 的定义如下。我们有一个有向图,其中两个顶点标记为ST。Cut 是图的最小边集,通过删除这些边,将不再存在从顶点S到顶点T的路径。

0 投票
1 回答
618 浏览

variable-assignment - 分配prob流网络解决方案

我有成本矩阵 C 的分配问题,例如:

21 30 26 16 20
27 29 28 20 38
39 25 21 19 23
28 24 30 29 16
30 33 32 17 31

其中 C[i][j] 表示工人 i 完成工作 j 的成本。

如何使用网络流算法解决这个问题?我欢迎任何提示。

0 投票
1 回答
1173 浏览

c++ - 如果所有路径都具有相同的长度,如何开始 Edmonds-Karp 实施?

如果所有路径的长度相同,如何选择Edmonds-Karp 算法的起始路径?在这种情况下,最大流量根据路径顺序决策而变化。

0 投票
1 回答
332 浏览

algorithm - 在最大流量的 Push Relabel 算法中,为什么没有从源 s 到接收器 t 的路径?

我很难理解来自 CLRS 的以下引理:

设 G 是一个流网络,s 和 t 是源和汇节点,f 是从 s 到 t 的预流,h 是 G 上的高度函数。那么在残差图 G f中没有从 s 到 t 的增广路径.

为什么是这样?

0 投票
4 回答
65166 浏览

algorithm - 究竟什么是增广路径?

在谈到 时computing network flows算法设计手册说:

传统的网络流算法基于增广路径的思想,反复寻找从 s 到 t 的正容量路径并将其添加到流中。可以证明,当且仅当它不包含增广路径时,通过网络的流是最优的。

我不明白是什么augmenting paths。我用谷歌搜索,发现:

但他们都引用了上面的报价。

谁能真正清楚地解释什么是 a augmenting path

0 投票
2 回答
1630 浏览

performance - 计算最小值 - 使用 maxflow 算法在有向加权图中切割

我已经使用福特富尔克森算法计算了最大流量,现在我想实现需要计算最大值的项目选择问题。不。可行的项目。我需要找到一个包含 no 的 min.cut。具有最大利润的可行项目。找到最小值的算法应该是什么。cut *在知道图中的最大流量之后。*我如何使用最大流量来确定包含即否的切割。对最大流量有贡献的节点数。我需要选择最佳节点集,以使收入最大化。在我的应用程序中,每个节点都与一个收入相关联,它也可以是正数和负数。并且也有优先级限制,例如,如果选择 a 比选择 b&c 也必须选择 有人能告诉我如何实现吗?


我在最大流图中将其转换如下:如果收入(节点)> 0 从源-> 节点添加一条边,否则从节点-> 接收器添加一条边,我为优先约束创建了一个无限容量的 egde

0 投票
1 回答
150 浏览

graph - 网络流图所有可能的路径

如何在有向图中找到从源(S)到汇(S)的所有可能路径?

0 投票
1 回答
208 浏览

algorithm - 图上的谜题

给定一个无向图 G=(V,E),每个节点 i 都与“Ci”个对象相关联。在每一步,对于每个节点 i,Ci 对象在 i 的邻居之间平均分配。经过K步,输出对象最多的前5个节点的对象个数。

这是一步中发生的一个示例: 在此处输入图像描述
A 的对象被 B 和 C 平均分配。B
的对象被 A 和 C 平均分配。C
的对象被 A 和 B 平均分配。

一些约束:|V|<10^5, |E|<2*10^5, K<10^7, Ci<1000

我目前的想法是:用一个矩阵来表示每一步的转换。这个问题转化为矩阵幂的计算。但是考虑到|V|,这个解决方案太慢了。可以是 10^5。

有没有更快的方法来做到这一点?

0 投票
2 回答
2501 浏览

graph - 所有对最大流量

给定一个有向加权图,如何找到所有顶点对之间的最大流量(或最小边切)。
天真的方法是简单地调用像 Dinic 的Max FlowO((V^2)*E)算法,其复杂性是,对于每一对。
因此对于所有对它都是O((V^4)*E)

是否有可能通过一些优化O((V^3)*E)来降低复杂性?O(V^3)