Algorithm 在分离源和汇的无向图中,有没有找到最小割的算法

Algorithm 在分离源和汇的无向图中,有没有找到最小割的算法,algorithm,graph-algorithm,graph-theory,network-flow,Algorithm,Graph Algorithm,Graph Theory,Network Flow,我有一个边加权无向图和2个节点(通常称为源节点和汇节点)。我需要找到一组可能权重最小的边,将这两个节点分成两个弱组件 我知道关于有向图和他的定理 我还知道对Ford Fulkerson的无向图最大流算法的一个修改,该算法将每个无向边替换为两条相反的有向边,并同时将流更新到这两条边。但经过此修改后,最大流最小割定理似乎不再有效,因为在以下无向图上,最小割将无法正确确定: nodes: 0, 1, 2, 3 edges & capacities: {0,1}->5, {0,2}->

我有一个边加权无向图和2个节点(通常称为源节点和汇节点)。我需要找到一组可能权重最小的边,将这两个节点分成两个弱组件

我知道关于有向图和他的定理

我还知道对Ford Fulkerson的无向图最大流算法的一个修改,该算法将每个无向边替换为两条相反的有向边,并同时将流更新到这两条边。但经过此修改后,最大流最小割定理似乎不再有效,因为在以下无向图上,最小割将无法正确确定:

nodes: 0, 1, 2, 3
edges & capacities: {0,1}->5, {0,2}->6, {1,2}->2, {1,3}->7, {2,3}->4
source: 0
sink: 3
最大流量最小切割定理说,最小切割是那些边,流量等于它们的容量,根据修改后的Ford Fulkerson,这是所有边,显然不是正确的切割

我在一个无向图中找到了一个,但这不是我想要的,因为这个算法不考虑任何源和汇,并且可以找到一个切入点,它允许节点在同一个组件中。 有没有算法可以有效地在源和汇的无向图中找到一个最小割,将这两个指定的节点分开?


我是否可以修改前面提到的算法,使其适用于我的案例?

您可以对福特·富尔克森算法进行一些修改

  • 首先,您需要找到源和汇之间的最大流量,并重新计算它
  • 从图形中删除一些边
  • 然后,您需要在新图表中找到最大流量。如果最大流量与第一步不同,则此边处于最小切割中
  • 将边返回到图形,选择另一条边并转至步骤2

  • 当你找到最大流时,只要把无向边看作是两个有相同容量的有向边。< /P>如何将每个图的2个边替换为每个方向的无向边,将图形转换成有向图?@ SAMSEGER:这适用于流,但不再用于切割了。我会尝试把更多关于这个的信息放到question@Youda008当前位置为什么这不适合找到伤口本身?我认为这不适用。如果删除具有非零流的任何边,全局流将始终更改。