最大团

算分-NP COMPLETENESS

雨燕双飞 提交于 2020-02-12 14:46:03
Easy and Hard Problems:   NP完全理论是为了在可处理的问题和不可处理的问题之间画一条线,目前最重要的问题是是否这两者是本质不同的,而这个问题目前还没有被解决。典型的结果是一些陈述,比如“如果问题B有一个多项式时间的算法,那么C也会有一个多项式时间的算法”,或者逆否表述为“如果C没有多项式时间的算法,那么B也没有”。第二个表述是说,对于一些问题C以及一个新的问题B,我们先去找是否有这种关系,如果有的话我们可能不想去做问题B,先来看看C。为了描述这些东西,需要不少形式主义的记号,我们在这里尽可能地少涉及。   先来看什么是问题?一个抽象的做决定问题是从问题实例集合I到{0,1}的映射,其中0代表错误,1代表正确。为了更严谨,我们把问题实例写成I到{0,1}*,也就是0/1组成的字符串,一个具体的做决定问题是从比特串到{0,1}的映射,我们把那些没有意义的问题映射到0。举个例子来说,对于最短路径问题,一个问题事实例是一个图以及两个顶点,做决定的问题是是否存在这两个顶点之间长度至多为k的一条路径。要注意的是,做决定问题不会比相应的最优算法要复杂,也就是说其复杂度小于等于最优算法,因此为了去证明相应的最优化算法是hard的,如果我们可以证明做决定问题是hard的,那么就可以达成我们的目标。(相当于充分性)   接着来看什么是多项式时间

二分图最大匹配总结

☆樱花仙子☆ 提交于 2019-12-21 03:39:27
一.结论: 1.最大匹配。 2.最小点覆盖:用最少的点去覆盖掉所有的边。 最小点覆盖 = 最大匹配 。 3.最小边覆盖:用最少的边区覆盖掉所有的点,单独一个点可看作一条边。 最小边覆盖 = 结点数 - 最大匹配 。 4.最大独立集:选出尽可能多的点使得他们之间没有关系(没有边相连)。 最大独立集 = 结点数 - 最大匹配 。 5.最大团:选出尽可能多的点使得他们构成一个完全图。 最大团 = 补图的最大独立集 。 6.最小路径覆盖(有向图):选出最少的路径,使得每个点恰好在一条路径上,单独一个点可看作一条边。 最小路径覆盖 = 结点数 - 最大匹配 。 二.证明: 1.最小点覆盖 = 最大匹配: König定理,不会。 2.最小边覆盖(ans) = 结点数(n) - 最大匹配(cnt) 证明:我们假设图中不存在边,那么每个点都要一条边去覆盖,所以总共要n条覆盖边。之后我们考虑原图中的边,利用Hungary()算法求出最大匹配数为cnt,这就表明了:有cnt个点,可以与其他点共用一条覆盖边,于是就可以除去cnt条覆盖边。所以最小边覆盖:ans = n - cnt 。 3.最大独立集(ans) = 结点数(n) - 最大匹配(cnt) 建图:如果u和v有关系,或者说有冲突,那么就在u和v之间连上边。 证明:最大独立集,即在在图中 删去尽可能少的点, 使得剩下的点互相独立,即没有边的存在