首先通过染色、拆点等方法构造二分图。
1.最小顶点覆盖。
在边集E中,每条边至少有一个端点被选出,所需要的最小点集V。
(变种: 最小点权覆盖集)
2.最大点独立集。
在点集U中选出子集V,使V中的点两两之间没有边相连,最大化V。
(变种:最大点权独立集)
3.最小边覆盖。
在点集U中,每个点至少有一条出边被选出,所需要的最小边集E。
4.最小路径覆盖。
对于DAG,使用最少的不相交的链(路径)覆盖所有点。通过拆点得到二分图后就是最小边覆盖。
5.最大团。
在点集U中,选出点集V,是每个点两两之间有连边。
6.最大匹配。
在二分图边集E中选出子集E1,每条E1中的边不相交。最大化E1。
通过反证法可以证得:
最大匹配=最大流
最小顶点覆盖=最大匹配
最大点独立集 =|V|-最大匹配
最小边覆盖=|V|-最大匹配
最大团=补图的最大点独立集
最小点权覆盖集 通过建模求最大流
最小点权覆盖集+最大点权独立集=|V|