Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 给定一个流网络和一条边e,描述一个确定e是否穿过某个最小割集的算法_Algorithm_Graph_Graph Algorithm_Flow_Max Flow - Fatal编程技术网

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

Algorithm 给定一个流网络和一条边e,描述一个确定e是否穿过某个最小割集的算法,algorithm,graph,graph-algorithm,flow,max-flow,Algorithm,Graph,Graph Algorithm,Flow,Max Flow,给定具有源s、汇t和边E=(u,V)的流网络G=(V,E),描述确定边E是否穿过某个最小切割(s,t)的算法 我的第一个想法是计算最大流量f,然后将e的容量减少一些a>0。然后我们检查残差图是否有从s到t的路径(这意味着我们可以进一步增加流f) 现在,如果没有从s到t的路径,我们可以确定e没有穿过任何最小截 问题在于另一个方向。如果有一条从s到t的路径,可能是因为我们在选择a>0时不小心创建了e穿过的新最小切割 那么我如何选择一个足够小的a>0呢?这是一个很酷的问题 " 我的第一个想法是计算一个

给定具有源s、汇t和边E=(u,V)的流网络G=(V,E),描述确定边E是否穿过某个最小切割(s,t)的算法

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

现在,如果没有从s到t的路径,我们可以确定e没有穿过任何最小截

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

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

这是一个很酷的问题

" 我的第一个想法是计算一个最大流量f,然后将e的容量减少一点。。。 "

你是说增加吗?因为如果你降低容量,流量就不会增加

无论如何:

运行algo查找最大流量,并假设流量为F

检查e上的流量是否等于其容量,如果不等于,则返回false

这是否意味着如果它等于,e必须穿过某个最小截

假设e=(u,v):由于边规则,进入的流u必须完全离开

这意味着对于你将要进行的每一次切割,都会有一些e
crooses和e
=(x,y)

我们将有一些从u->v…->x或y->…u->v的路径

如果我们将删除此边(e),流量将减少,这意味着我们无论如何都不能 像以前一样返回到x的流(或离开y的流现在找不到通向水槽的路)。这意味着e在某个小切口中

如果流量没有变化,这只意味着我们找到了另一种方法返回我们“丢失”的流量,因此这意味着e不属于任何最小切割,因为它不影响任何等于最大流量的最小切割能力

你对这个问题的直觉是好的,但请注意它不会起作用,因为e的增加/减少不会导致任何结果,因为有一个简单的例子,你改变了e的容量,在剩余网络中仍然没有从s到t的路径,但e仍然属于某个最小切割。

这是一个很酷的问题

" 我的第一个想法是计算一个最大流量f,然后将e的容量减少一点。。。 "

你是说增加吗?因为如果你降低容量,流量就不会增加

无论如何:

运行algo查找最大流量,并假设流量为F

检查e上的流量是否等于其容量,如果不等于,则返回false

这是否意味着如果它等于,e必须穿过某个最小截

假设e=(u,v):由于边规则,进入的流u必须完全离开

这意味着对于你将要进行的每一次切割,都会有一些e
crooses和e
=(x,y)

我们将有一些从u->v…->x或y->…u->v的路径

如果我们将删除此边(e),流量将减少,这意味着我们无论如何都不能 像以前一样返回到x的流(或离开y的流现在找不到通向水槽的路)。这意味着e在某个小切口中

如果流量没有变化,这只意味着我们找到了另一种方法返回我们“丢失”的流量,因此这意味着e不属于任何最小切割,因为它不影响任何等于最大流量的最小切割能力

你对这个问题的直觉是好的,但请注意它不会起作用,因为e的增加/减少不会导致任何结果,因为有一个简单的例子,你改变了e的容量,在剩余网络中仍然没有从s到t的路径,但e仍然属于某个最小切割