最大独立集的自底向上方法与快速算法
在解决NP难问题的精确算法领域,研究人员一直致力于降低算法的最坏情况复杂度。本文将介绍一种名为“自底向上方法”的新技术,它可以将“稀疏”实例的最坏情况复杂度改进传播到“密集”实例中,并应用于最小集合覆盖和最大独立集问题。
1. 引言
近年来,对于具有非平凡最坏情况复杂度的NP难问题的精确算法研究十分活跃。最大独立集问题作为其中备受关注的问题之一,吸引了众多研究者的目光。
本文提出的自底向上方法,其基本思想包含两个关键要素:一是选择实例的递归复杂度度量,二是确保在“密集”实例上能够进行良好的分支操作。下面我们将分别介绍该方法在最小集合覆盖和最大独立集问题中的应用。
2. 自底向上方法
自底向上方法依赖于两个关键步骤:选择递归复杂度度量和确保在高密度实例上进行良好的分支操作。
2.1 递归复杂度度量的重要性:最小集合覆盖问题
最小集合覆盖问题的目标是在给定有限基集 $U$ 和集合系统 $S$ 的情况下,找到一个最小规模的子系统 $S’$ 来覆盖 $U$。这里,实例的密度定义为集合系统 $S$ 中集合的平均基数。
通过自底向上方法,我们可以为平均(或最大)大小为 $d$($d \geq 5$)的集合实例提供改进的时间复杂度算法。具体步骤如下:
1. 递归复杂度度量 :设 $U = {x_1, \cdots, x_n}$ 为基集,$S = {S_1, \cdots, S_m}$ 为集合系统,$p = \sum_{i=1}^{m} |S_i|$。已知文献 [9] 中的算法在平均集合大小为 5、6、7 和 8 的实例中
自底向上法优化最大独立集
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



