1.点支配集:即 V 中的顶点要么是 V集合中的元素、要么与 V中的一个顶点相邻。
通信例子:要在几个城市之间建立通讯基站,直接相连代表能覆盖信号,最少需要在几个城市建基站?
点 支 配 集 的 定 义 : 图 G 的 点 支 配 集 V ∗ : ∀ v ∈ ( V − V ∗ ) , ∃ v ∗ ∈ V ∗ ( v ∗ , v ) ∈ E 点支配集的定义:图G的点支配集V^*:\forall v\in (V-V^*),\exists v^* \in V^* (v^*,v)\in E 点支配集的定义:图G的点支配集V∗:∀v∈(V−V∗),∃v∗∈V∗(v∗,v)∈E
2.点覆盖集:点“覆盖”边,(点直接连接某个边)通俗地讲,所谓点覆盖集 V*,就是 G 中所有的边至少有一个顶点属于 V*。
3.点独立集:点集的子集中任何两个定点均不直接相邻
图
画
错
了
:
当
然
最
小
描
述
覆
盖
,
最
大
描
述
独
立
图画错了:当然最小描述覆盖,最大描述独立
图画错了:当然最小描述覆盖,最大描述独立
关系
G 的极大点独立集都是 G 的极小支配集。逆命题不成立(即,极小支配集未必是极大独立集)。
一个独立集是极大独立集,当且仅当它是一个支配集
设无向图 G(V, E)中无孤立顶点,顶点集合 V⊆V,则 V是 G 的点覆盖,当且仅当 V–V*是 G 的点独立集。
极
小
支
配
集
未
必
是
极
大
独
立
集
:
如
:
米
极小支配集未必是极大独立集:如:米
极小支配集未必是极大独立集:如:米
求解
极小点支配集的求解:每个顶点与它的所有邻接顶点进行加法运算组成一个因子项,所有因子项再连乘。
每个顶点的所有邻接顶点进行积运算后再与该顶点进行和运算,组成一个因子项;所有因子项再连乘,并根据逻辑运算规律展开成积之和的形式。在运算完毕得到的结果中,每个乘积项代表一个极小覆盖集,其中最小者为最小覆盖集。
无向连通图 G 的极小点覆盖集与极大点独立集存在互补性,求出极小点覆盖集和点覆盖数后,就可以求出极大点独立集和点独立数。由此得极大点独立集。
+ 是 或 , 乘 是 且 , 交 换 律 , 结 合 律 , 分 配 律 都 与 数 字 一 样 , 且 有 , 吸 收 律 v i + v i = v i ; v i v i = v i ; v i + v i v j = v i 。 +是或,乘是且,交换律,结合律,分配律都与数字一样,且有, 吸收律vi + vi = vi;vivi = vi;vi + vivj = vi。 +是或,乘是且,交换律,结合律,分配律都与数字一样,且有,吸收律vi+vi=vi;vivi=vi;vi+vivj=vi。
分 割 线 分割线 分割线
边覆盖集:边覆盖点,几条边可“覆盖”所有定点
边独立集(匹配):任何两条边都没有公共顶点。
对 于 一 个 给 定 的 匹 配 M , 若 边 ( u , v ) ∈ M , 则 称 顶 点 u 与 v 被 M 所 匹 配 。 u , v 为 M 的 盖 点 , 不 与 匹 配 M 中 边 相 关 联 的 顶 点 称 为 未 盖 点 。 对于一个给定的匹配M,若边(u, v)∈M,则称顶点 u 与 v 被 M 所匹配。u,v为M的盖点,\\不与匹配M中边相关联的顶点称为未盖点。 对于一个给定的匹配M,若边(u,v)∈M,则称顶点u与v被M所匹配。u,v为M的盖点,不与匹配M中边相关联的顶点称为未盖点。
边覆盖和匹配之间的关系
点 覆 盖 和 点 独 立 之 间 关 系 “ 密 切 ” , 那 么 边 覆 盖 和 边 独 立 ( 匹 配 ) 之 间 呢 ? 点覆盖和点独立之间关系“密切”,那么边覆盖和边独立(匹配)之间呢? 点覆盖和点独立之间关系“密切”,那么边覆盖和边独立(匹配)之间呢?
设无向图 G 的顶点个数为 n,且 G 中无孤立点:
∗
最
大
匹
配
和
最
小
变
覆
盖
之
间
的
转
化
:
设
M
为
G
的
一
个
最
大
匹
配
,
对
于
G
中
M
的
每
个
未
盖
点
v
,
选
取
一
条
与
v
关
联
的
边
所
组
成
的
边
的
集
合
为
N
,
则
W
=
M
∪
N
为
G
中
的
最
小
边
覆
盖
;
设
W
1
为
G
的
最
小
边
覆
盖
,
若
G
中
存
在
相
邻
的
边
就
移
去
其
中
的
一
条
,
设
移
去
的
边
集
为
N
1
,
则
M
1
=
W
1
−
N
1
为
G
中
一
个
最
大
匹
配
;
*最大匹配和最小变覆盖之间的转化: \\ 设 M 为 G 的一个最大匹配,对于 G 中 M 的每个未盖点 v,选取一条与 v 关联的边所 组成的边的集合为 N,则 W = M∪N 为 G 中的最小边覆盖;\\ 设 W1 为 G 的最小边覆盖,若 G 中存在相邻的边就移去其中的一条,设移去的边集为 N1,则 M1 = W1 - N1 为 G 中一个最大匹配;
∗最大匹配和最小变覆盖之间的转化:设M为G的一个最大匹配,对于G中M的每个未盖点v,选取一条与v关联的边所组成的边的集合为N,则W=M∪N为G中的最小边覆盖;设W1为G的最小边覆盖,若G中存在相邻的边就移去其中的一条,设移去的边集为N1,则M1=W1−N1为G中一个最大匹配;
∗
G
满
足
:
边
覆
盖
数
+
边
独
立
数
=
n
顶
点
个
数
*G满足:边覆盖数 + 边独立数 = n顶点个数
∗G满足:边覆盖数+边独立数=n顶点个数
匹配问题:
求一般的最大匹配的问题
交错轨(对于一个匹配M,路径上交错出现属于M或不属于M的边)
可增广轨:对于一个给定匹配 M,两个端点都是未盖点的交错轨(特别地,如果两个未盖点之间仅含一条边,那么单单这条边也组成一条可增广轨)
可增广轨的含义(即匹配 M 扩充了):对于某个可增广轨 P,把 P 中原来属M去掉,而把 P 中原来不属于 M 的边加到新匹配 中去,变化后的匹配 恰好比原匹配 M 多一条边。
定理: M 为 G 的最大匹配,当且仅当 G 不存在关于 M 的可增广轨。
因此,求最大匹配的一个可行方法为:给定一个初始匹配 M(如果没有给定,则 M=Ø),如果图 G 没有未盖点,则肯定不会有可增广轨了,即 M 就是最大匹配;
否则对图 G 的所有未盖点 vi,通过一定的方法搜索以 vi为端点的
可增广轨,从而通过可增广轨逐渐把 M 扩大。(在扩大 M 的过程当中,某些未盖点会逐渐被 M 盖住)
二部图得最大匹配的求法:
- 网络流解法
- 匈牙利算法
- Hopcroft-Karp 算法