在给定最大匹配的情况下,找到二分图的最小顶点覆盖

时间:2012-09-16 18:34:26

标签: algorithm graph set matching bipartite

我似乎找到了一个算法,但我很难理解它,我想知道你们中是否有人知道算法的一般概要。

以下是我在第2页上找到的算法的链接

http://www.cse.iitb.ac.in/~sundar/cs435/lecture23.pdf

2 个答案:

答案 0 :(得分:10)

算法很简单:

  1. 找到不匹配的顶点,将其标记为不包含在最小顶点覆盖中。
  2. 将此顶点的所有匹配邻居标记为包含在最小顶点覆盖中。
  3. 将前一步骤中所有顶点的配合视为不匹配的顶点,并重复步骤1.
  4. 如果递归结束,请从步骤1开始重复(即图的几个连接组件的情况)。
  5. 如果没有不匹配的顶点,则取出所有剩余的顶点并以您喜欢的方式标记它们(请记住,对中的一个顶点必须 包含在最小顶点覆盖中,而另一个则不包括在内 包括在内)。
  6. P.S。我知道这是坏死的。

答案 1 :(得分:-4)

首先你应该知道二分图,两组顶点和边,好吧,你现在知道了。

然后你需要从两组中选择一些顶点来覆盖所有边缘。只要选择了一个顶点,就会覆盖链接到它的所有边。现在你的任务是选择最小数量的顶点,以覆盖所有边缘。

原则意味着,您需要的最小数量等于最大匹配对的数量。