最小顶点覆盖和最小化顶点覆盖

13
我正在备考一场考试,其中一个样题如下:
顶点覆盖:在图中,一个顶点覆盖是指一个点的集合,使得每条边至少有其中一个端点属于该集合。
最小顶点覆盖:在图中,一个最小顶点覆盖是指顶点覆盖中包含顶点数最少的一个。
极小顶点覆盖:在图中,一个极小顶点覆盖是指不包含其他顶点覆盖的顶点覆盖(从集合中删除任意一个顶点都会导致得到的集合不再是顶点覆盖)。
问题:一个极小顶点覆盖并不总是一个最小顶点覆盖。请用一个简单的例子进行演示。
大家能理解这个问题吗?我无法看出两者之间的区别。更重要的是,我很难想象出来。
我真心希望考试中不会有这种奇怪的问题!
2个回答

29
考虑下面的无向图: undirected graph

顶点集合{2,4,5}是图的一种最小顶点覆盖。为什么?因为它是一个顶点覆盖(所有的边都被覆盖了),且没有其他顶点覆盖包含的顶点更少。 minimum vertex cover

顶点集合{2,3,5,6,7}是一种极小顶点覆盖。为什么?因为它是一个顶点覆盖,{2,3,5,6,7} 的任何非平凡子集都不是一个顶点覆盖。试着从{2,3,5,6,7}中删除任何一个顶点,你将会发现总有一条边是未被覆盖的。使得一个顶点覆盖极小的原因是它不能再被减少。你不能让这个集合比它本来的大小更小并且仍然保持作为一个顶点覆盖(不插入新的顶点)。 minimal vertex cover

显然,给定的极小顶点覆盖不是一个最小顶点覆盖,因为一个最小顶点覆盖有三个顶点,而我们的极小顶点覆盖有五个顶点。因此,并非所有的极小顶点覆盖都是最小顶点覆盖。
每个最小顶点覆盖也是一个极小顶点覆盖,因为从一个最小顶点覆盖中删除顶点会得到一个比最小覆盖更小的顶点集合。因此,任何最小顶点覆盖的非平凡子集都不是一个顶点覆盖,因此最小顶点覆盖也是极小的。

23

考虑这个图

A --- B --- C

B 是最小的顶点覆盖。

A、C 是最小的顶点覆盖。如果删除 A 或 C,将不再有顶点覆盖。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接