二分图上的最小顶点覆盖

时间:2014-04-27 23:37:20

标签: algorithm graph bipartite

假设你有一个二分图G =(V,U,E)

v1连接到u1,u2和u3

v2连接到u2和u3

v3连接到u3。

通过查看图表,我知道最小顶点覆盖是{v1,v2,u3}和{v1,u2,u3},但我不知道如何使用二分匹配/顶点覆盖算法来找到这个。 HereHere

当我手动执行算法时,输出只是琐碎的最小顶点覆盖,全部是V.我做错了吗?

编辑:

图形的最大匹配是边(v1,u1),(v2,u2)和(v3,u3)。给定最大匹配,下一步是从不饱和顶点(不是匹配边的端点之一的顶点)开始

但在这种情况下,所有顶点都已饱和,所以我不知道如何继续。

1 个答案:

答案 0 :(得分:0)

Konig定理有两个方向。对应于弱线性编程对偶性的简单方向是顶点覆盖至少与匹配一样大。这是因为,在每个顶点覆盖中,每个匹配边缘至少存在一个端点。

对应于强LP对偶性的Konig定理的硬方向是存在顶点覆盖,其中存在至多(即,确切地)每个匹配边缘的一个端点。维基百科当前证明的主旨是使用匹配来贪婪地构造顶点覆盖,表明如果该算法被卡住,则所谓的最大匹配具有增强路径(矛盾)。每个边都入​​射到匹配的顶点,因此可以从封面中排除不匹配的顶点。反过来他们的邻居必须包括在内。他们的邻居的邻居可以被排除在外等等。

您已经注意到此过程有时无法确定每个顶点的状态。对于这种情况,维基百科的编辑写道:“如果没有这样的顶点,但是任何先前定义的集合Sk中都没有包含顶点,则任意选择其中一个,让S2j + 1由该单个顶点组成。”证明这一步骤的一种方法如下。让你成为所选择的顶点,并且v是你的伴侣,我们假装v的配偶不是你,而是一个新创造的顶点u'。那么你是无与伦比的,所以我们通过排除u并覆盖新创建的边缘来重新设置算法u' - v当我们随后包含v时。