最小与最小顶点覆盖
我正在准备考试,其中一个示例问题如下:
顶点覆盖:图中的顶点覆盖是一组顶点,其中每条边至少有一个在该组中的两个端点。
最小顶点覆盖:图中的最小顶点覆盖是所有可能的顶点覆盖中具有最少顶点数的顶点覆盖。
最小顶点覆盖图中的最小顶点覆盖是不包含另一个顶点覆盖的顶点覆盖(从集合中删除任何顶点将创建一组不是顶点覆盖的顶点)
问题:最小顶点覆盖不是始终是最小顶点覆盖。用一个简单的例子来证明这一点。
任何人都可以解决这个问题吗?我看不出两者之间的区别。更重要的是,我很难想象它。
我真心希望他不会在考试时问出像这样的奇怪问题!
I am studying for an exam and one of the sample questions is as follows:
Vertex cover: a vertex cover in a graph is a set of vertices such that each edge has at least one of its two end points in this set.
Minimum vertex cover: a MINIMUM vertex cover in a graph is a vertex cover that has the smallest number of vertices among all possible vertex covers.
Minimal vertex cover a MINIMAL vertex cover in a graph is a vertex cover that does not contain another vertex cover (deleting any vertex from the set would create a set of vertices that is not a vertex cover)
Question: A minimal vertex cover isn't always a minimum vertex cover. Demonstrate this with a simple example.
Can anyone get their head around this? I am failing to see the distinction between the two. More importantly, I'm having a hard time visualizing it.
I seriously hope he's not gonna ask odd questions like this one on the exam!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
考虑以下无向图:
顶点集 {2,4,5} 是以下的最小顶点覆盖图表。为什么?因为它是一个顶点覆盖(所有边都被覆盖)并且没有其他顶点覆盖更少的顶点。
顶点集 {2,3,5,6,7} 是最小值 顶点覆盖。为什么?因为它是顶点覆盖,并且 {2,3,5,6,7} 的任何非平凡子集都不是顶点覆盖。尝试从 {2,3,5,6,7} 中删除任何顶点,看看是否留下了未被覆盖的边。顶点覆盖最小化的原因是无法减少它。您无法使集合比现有的更小,但仍然可以获得顶点覆盖(而不向其插入顶点)。
显然,给定的最小顶点覆盖不是最小顶点覆盖,因为最小顶点覆盖具有三个顶点,并且我们的最小顶点覆盖有 5 个顶点。因此,并非每个最小顶点覆盖也是最小顶点覆盖。
每个最小顶点覆盖也是最小顶点覆盖,因为从最小顶点覆盖中移除顶点将产生尺寸小于最小覆盖的顶点集。因此,最小顶点覆盖的任何非平凡子集都不是顶点覆盖,因此最小顶点覆盖也是最小的。
Consider the following undirected graph:
The set of vertices {2,4,5} is a minimum vertex cover of the graph. Why? because it's a vertex cover (all edges are covered) and there is no other vertex cover with fewer vertices.
The set of vertices {2,3,5,6,7} is a minimal vertex cover. Why? because it's a vertex cover and any non-trivial subset of {2,3,5,6,7} is not a vertex cover. Try removing any vertex from {2,3,5,6,7} and see that you leave an uncovered edge. What makes a vertex cover minimal is an inability to reduce it. You cannot make the set smaller than it already is and still get a vertex cover (without inserting vertices to it).
Obviously, the given minimal vertex cover isn't a minimum vertex cover because a minimum vertex cover has three vertices and our minimal vertex cover has 5 vertices. Hence, not every minimal vertex cover is also a minimum vertex cover.
Every minimum vertex cover is also a minimal vertex cover because removing vertices from a minimum vertex cover will result in a set of vertices of a size smaller the the minimum cover. Thus, any non-trivial subset of a minimum vertex cover is not a vertex cover, and therefore a minimum vertex cover is also minimal.
考虑图
B 是最小顶点覆盖。
A,C 是最小顶点覆盖。删除 A 或 C,就不会留下顶点覆盖。
Consider the graph
B is the minimum vertex cover.
A,C is a minimal vertex cover. Remove either A or C, you are not left with a vertex cover.