【发布时间】:2020-05-19 20:47:39
【问题描述】:
我目前正在研究基于 R 文档中的此代码的 Ford-Fulkerson 算法:
nodes <- 1:6
arcs <- matrix(c(1,2,1, 1,3,7, 2,3,1, 2,4,3, 2,5,2, 3,5,4, 4,5,1, 4,6,6,
5,6,2), byrow = TRUE, ncol = 3)
# Maximum flow with Ford-Fulkerson algorithm
maxFlowFordFulkerson(nodes, arcs, source.node = 2, sink.node = 6)
&得到以下结果:
$`s.cut`
[1] 2 3 1 5
$t.cut
[1] 4 6
$max.flow
[1] 6
结果中表明该网络的最大流量为6。
但是,我一直在尝试手动计算最大流量,无论我做什么,我得到的最大流量都只有 5。
&我能够得到的一些可能的流程:
2 --> 4 --> 5 --> 6........[容量:1]
2 --> 5 --> 4 --> 6(回流)...[容量:1]
2 --> 5 --> 6.................................[容量:1]
2 --> 4 --> 6..........................[容量:2]
[总容量:5]
或者
2 --> 3 --> 5 --> 6........[容量:1]
2 --> 4 --> 5 --> 6........[容量:1]
2 --> 5 --> 4 --> 6(回流)...[容量:1]
2 --> 4 --> 6.............................[容量:2]
[总容量:5]
我误解了这个过程吗?任何人都可以写下逐步获得最大流量 6 的路径吗?
【问题讨论】:
标签: r algorithm max flow ford-fulkerson