顶点覆盖与主导集合

时间:2013-01-26 16:52:30

标签: computer-science graph-theory

我试图理解顶点覆盖和支配集之间的区别。

根据理解,在支配集中,集合D包含与不在D中的其他顶点相邻的顶点(对于V中的每个v,v在D中或者与D中的一个相邻)。

在顶点覆盖中,D中的所有顶点都覆盖了所有边缘,但通过这样做,它们与其他顶点相邻,它们不在D中 - 那么为什么它不是一个支配集?

9 个答案:

答案 0 :(得分:26)

我在维基百科的Dominating Set文章中找到了一些图表来说明这种差异。

这些示例显示了不是顶点覆盖的主导集(红色),与您稍后在问题中提到的相反。 (V-D)中的边缘阻止它们成为顶点覆盖。

答案 1 :(得分:26)

以前的答案很好但是最简单的例子还没有写在这里:

enter image description here

答案 2 :(得分:3)

您只需要考虑四个顶点上的路径来区分这两个概念。设a,b,c,d为这种路径的连续顶点。然后{a,d}是一个支配集,但不是顶点覆盖(因为它无法覆盖边缘bc)。

答案 3 :(得分:3)

  1. 如果顶点覆盖范围外有零度顶点,则顶点覆盖可能不是主导集。顶点覆盖'覆盖'所有边缘,但零点顶点不与顶点覆盖相邻。

  2. 如果存在边缘,则支配集可能不是顶点覆盖,例如e =(u,v),其中u和v都在支配集之外。如果u和v都与其他边缘的支配集中的顶点相邻,则这是可能的。

答案 4 :(得分:3)

我不能从给定的答案中快速理解顶点覆盖和支配集之间的差异,所以我进行了查找。

定义顶点覆盖:

According to Wikipedia

图的“ p”顶点覆盖是一组顶点,其中至少包含 图的每个边缘的一个端点。”

因此,用简单的话来说,对于每条线,必须在2个点/节点(连接到线的末端)中的1个位于点/节点的集合中。

定义支配集:

According to Wikipedia:

图G =(V,E)的控制集是V的子集D D以外的每个顶点都与D的至少一个成员相邻。

因此,用简单的话来说:所有点/节点都必须位于(点/节点的)集合中,或通过一条线/边连接到集合。

给定示例的说明

这就是在@Daniel给出的示例中的原因: Image as uploaded by @Daniel

每2个节点是一个顶点覆盖,而一个节点不能是一个顶点覆盖,因为与所选节点相对的线在“顶点覆盖集中没有至少1个节点”。

可视化差异

差异如下图所示: Example on why 1 node (in 3) is not a Vertex Cover.

但是1个节点是主要的集合,因为在这种情况下,所有节点都位于集合中,或者通过1条线连接到集合。 (这里的1条线是按距离排列的,如果有2条线并联连接到主导组,也可以是完美的,只要它不仅是串联的/彼此之间只有2条线连接到主导组)

下面添加了一个示例,以直观地说明为什么单个节点是3个节点中的支配集:

Example on why a single node is a dominating set in a 3 node fully connected graph.

答案 5 :(得分:1)

每个Vertex封面都是一个主导的集合,但反之则不然。 例如,如果你有一个图G =(V,E)G = {a,b,c,d,e}和E = {(a,b),(b,c),(c,d),( e,a),(e,b)},然后支配集DS = {b,e}不是G的顶点覆盖。边缘(c,d)未被覆盖。

答案 6 :(得分:0)

对于连通图,顶点覆盖必须是主导集。对于隔离节点,您需要将其包含在支配集中,但在顶点覆盖中不需要它。但是,支配集是较大的类,它们不必是顶点覆盖,如this reply中的示例所示。

答案 7 :(得分:0)

我认为主要区别在于顶点覆盖,一条边在顶点覆盖集中必须至少具有其端点之一。但是,对于支配集,它满足节点在集合中还是其直接邻居位于集合中的情况,因此边缘的两个端点都可能不在集合中(仅当两个端点都在集合中时才发生连接到集合中的节点)。希望这可以澄清一点。

答案 8 :(得分:0)

  • 顶点覆盖::您可以将它们看作是对任何通道(边缘)都有关注的策略。这样,他们可以关注除孤立节点之外的任何节点,因为节点不是他们关心的问题。它们必须覆盖所有段落。

  • 控制集::这些是关注任何节点的策略。通道并不重要,因此如果其中一个通道通过一条边监视节点,则与该节点相连的其他边缘可能不会被遮盖,因为通道不受这些策略的影响。

检查此答案https://stackoverflow.com/a/14594930/2651073的图像