Algorithm 理解几何约束求解的伪代码最大流算法有困难
因此,我正在努力解决这个问题,主要是寻找加权图的最小稠密子图(在几何约束求解的上下文中) 稠密子图是边权重和顶点权重之和相等的子图 作者解释说,这在某种程度上等同于最大流算法,因此他在标准最大流算法的基础上提出了一个变体,他说该算法对于这个问题更有效。然而,我不太熟悉的概念,我发现实际的描述非常迟钝。也许有人能帮我 算法说明如下: 我非常困惑第17步应该是什么,流实际上在哪里初始化,以及扩充过程是如何工作的 本文提供了一个例子: 所以我试着通过这个例子,但我不能让它做它应该做的。似乎当它第一次循环时,它访问e1、v0和v2,并标记e0和e2。然后访问e0并标记v2。然后它访问e2,但是它的所有顶点都已经访问过了,所以该算法从来没有做过任何事情。它如何扩展路径 提前感谢。如果流实际上已经初始化,那么它们就没有初始化——这是作者的疏忽。假设所有e和v的fev最初为零 增强过程的工作原理第17步明显高于常规的其余部分。扩充路径是最大流的一个标准子主题,许多本科算法文本都涵盖了这个主题Algorithm 理解几何约束求解的伪代码最大流算法有困难,algorithm,graph,Algorithm,Graph,因此,我正在努力解决这个问题,主要是寻找加权图的最小稠密子图(在几何约束求解的上下文中) 稠密子图是边权重和顶点权重之和相等的子图 作者解释说,这在某种程度上等同于最大流算法,因此他在标准最大流算法的基础上提出了一个变体,他说该算法对于这个问题更有效。然而,我不太熟悉的概念,我发现实际的描述非常迟钝。也许有人能帮我 算法说明如下: 我非常困惑第17步应该是什么,流实际上在哪里初始化,以及扩充过程是如何工作的 本文提供了一个例子: 所以我试着通过这个例子,但我不能让它做它应该做的。似乎当它第一
让我们考虑一个流问题,其中所有的事物都有权重1。< /P>
a-->b
^
/
/
c-->d
我没有画s
和t
。假设我们把一个单位从c
推到b
a-->b
/
/
v
c-->d
出现从b
到c
的反向弧是因为,虽然我们不能从绝对意义上将流从b
发送到c
,但我们可以取消从c
到b
的一个单位,这在数学上具有相同的效果。最大流的值为2,我们通过增加路径a->b->c->d
来实现。这只意味着将一个单元从a
推到b
,将一个单元从c
取消到b
,将一个单元从c
推到d
下面是步骤17的一些伪代码
Augment(vert, pred, amount)
v = vert
while true
e = pred(v)
f_e^v += amount
if pred(e) is null
break
v = pred(e)
f_e^v -= amount
amount
应该是最大的值,它不会导致任何边产生超过其重量的结果,也不会导致任何顶点消耗超过其重量的结果。谢谢,我明天会尝试。