我正在尝试寻找Biparite图的最大独立集。
在“ 1998年5月13日-华盛顿大学-CSE 521-网络流的应用”的一些注释中,我发现以下内容:
问题:
给定一个二分图G=(U,V,E),找到一组独立的U′∪V′这是尽可能大的,在那里U′⊆U和V′⊆V。如果集合的元素之间没有E边,则集合是独立的。
解:
构造上的顶点的流图U∪V∪{s,t}。对于每个边缘(u,v)∈E有一个无限容量边缘从u到
v。对于每个u∈U,存在从单元容量边缘s到u,并且对于每个v∈V,存在从单元容量边缘v到
t。
查找有限容量切口(S,T),与s∈S和t∈T。让
U′=U∩S和V′=V∩T。该组U′∪V′,因为没有无限容量的边缘交叉的切断是独立的。切口的大小是|U−U′|+|V−V′|=|U|+|V|−|U′∪V′|。为了使独立集尽可能大,我们使切面尽可能小。
因此,让我们将其作为图表:
A - B - C
|
D - E - F
我们可以将其拆分为二部图,如下所示
(U,V)=({A,C,E},{B,D,F})
通过暴力搜索,我们可以看到唯一的最大独立集是A,C,D,F。让我们尝试解决上面的解决方案:
因此,构建的流网络邻接矩阵为:
stABCDEFs00101010t00010101A100∞0000B01∞0∞0∞0C100∞0000D010000∞0E100∞0∞0∞F010000∞0
下面是我在哪里卡住,最小的有限容量削减我看到的是一个简单的一个:(S,T)=({s},{t,A,B,C,D,E,F}),容量3。
使用此切口会导致以下问题的解决方案不正确:
U′=U∩S={}
V′=V∩T={B,D,F}
U′∪V′={B,D,F}
而我们预期U′∪V′={A,C,D,F}?有人可以发现我在推理/工作中出了错吗?