图论 - 覆盖
覆盖图是一个子图,它包含与其他图相对应的所有顶点或所有边。包含所有顶点的子图称为线/边覆盖。包含所有边的子图称为顶点覆盖。
线路覆盖
设 G = (V, E) 为图。如果 G 的每个顶点与 C 中的至少一条边重合,则子集 C(E) 称为 G 的线覆盖,即
deg(V) ≥ 1 ∀ V ∈ G
因为每个顶点都通过边与另一个顶点连接。因此它的最小度为 1。
例子
看一下下图 -
其具有线覆盖的子图如下 -
C 1 = {{a, b}, {c, d}}
C 2 = {{a, d}, {b, c}}
C 3 = {{a, b}, {b, c}, {b, d}}
C 4 = {{a, b}, {b, c}, {c, d}}
当且仅当“G”具有孤立顶点时,“G”的线覆盖不存在。具有“n”个顶点的图的线覆盖至少有 [n/2] 条边。
最小线覆盖
如果无法从 C 中删除任何边,则称覆盖图 G 的 C 的线是最小的。
例子
在上图中,具有线覆盖的子图如下 -
C 1 = {{a, b}, {c, d}}
C 2 = {{a, d}, {b, c}}
C 3 = {{a, b}, {b, c}, {b, d}}
C 4 = {{a, b}, {b, c}, {c, d}}
这里,C 1、C 2、C 3是最小线覆盖,而 C 4不是,因为我们可以删除 {b, c}。
最小线路覆盖
它也称为最小最小线覆盖。具有最少边数的最小线覆盖称为“G”的最小线覆盖。覆盖“G”的最小线中的边数称为“G”的线覆盖数(α 1)。
例子
在上面的例子中,C 1和 C 2是 G 的最小线覆盖,且 α 1 = 2。
每个线覆盖都包含一个最小线覆盖。
每个线覆盖不包含最小线覆盖(C 3不包含任何最小线覆盖。
最小线覆盖不包含循环。
如果覆盖“C”的线不包含长度为 3 或以上的路径,则“C”是最小线覆盖,因为“C”的所有组件都是星形图,并且从星形图中不能删除任何边。
顶点覆盖
让 'G' = (V, E) 成为一个图。如果“G”的每条边都与“K”中的顶点重合或被“K”中的顶点覆盖,则 V 的子集 K 称为“G”的顶点覆盖。
例子
看一下下图 -
从上图可以得出的子图如下 -
K 1 = {b, c}
K 2 = {a, b, c}
K 3 = {b,c,d}
K 4 = {a, d}
这里,K 1、K 2和K 3具有顶点覆盖,而K 4没有任何顶点覆盖,因为它不覆盖边{bc}。
最小顶点覆盖
如果没有顶点可以从“K”中删除,则图“G”的顶点“K”被称为最小顶点覆盖。
例子
在上图中,具有顶点覆盖的子图如下 -
K 1 = {b, c}
K 2 = {a, b, c}
K 3 = {b,c,d}
这里,K 1和K 2是最小顶点覆盖,而在K 3中,顶点“d”可以被删除。
最小顶点覆盖
它也被称为最小最小顶点覆盖。具有最少顶点数的图“G”的最小顶点覆盖称为最小顶点覆盖。
“G”的最小顶点覆盖中的顶点数称为G的顶点覆盖数(α 2 )。
例子
在下图中,具有顶点覆盖的子图如下 -
K 1 = {b, c}
K 2 = {a, b, c}
K 3 = {b,c,d}
这里,K 1是G的最小顶点覆盖,因为它只有两个顶点。α 2 = 2。