目录
前言
最大独立集是一个Np-hard问题,当问题规模比较小时我们完全可以借助枚举法(是一种精确算法)求得问题的精确解。但是随着问题规模的增大,问题复杂度随着问题规模的增加呈现指数级增长,精确算法很难在可接受的时间内求得问题的解,目前有很多的启发式算法来求解Np-hard问题,其中贪心算法、局部搜索算法、禁忌搜索算法,当然还有智能优化算法(蚁群算法、进化算法、遗传算法等),本篇文章记录一下最近看的两篇中文论文中利用贪心算法求解最大独立集问题的算法思想。
首先需要说明的是,上述提及的启发式算法得到的往往是问题的近似解,我们关注的是得到解的质量(比如说得到解所需要的运行时间、迭代次数或者近似比等)。虽然利用贪心算法可以求得独立集,但是求得的独立集的质量不一定好,不过后续可以再借助局部搜索算法扩大当前独立集或者对当前的独立集(可行解)内的元素进行SWAP或者Delete 等操作找到更多的可行解(后续操作的主要目的是保持、探索可行解空间)。
1. 最大独立集、极大独立集
图G = (V,E),其中V是图G的顶点集合,E是图G的边集。如果顶点子集内任意两点之间都不相邻(相邻:两顶点之间有边),那么当前的顶点子集就是独立集。
而最大独立集就是所有独立集中顶点个数最多的集合。需要说明的是对于图G,它的最大独立集不一定是唯一的,但是
贪心算法求解最大独立集问题

最低0.47元/天 解锁文章
7354





