Skip to content

算法Algorithm

单调次模函数最大化

施工中 · 内容逐步修订

monotone submodular maximization

在基数约束下按最大边际收益贪心,利用收益递减取得 1−1/e 近似。

形式陈述 ​

模型与算法 ​

给有限底集 E,n=|E|,以及通过精确 value oracle 提供的实值次模函数 f:2E→R;要求 f(∅)=0 且单调,因此它也非负。给定整数预算 k≥0,目标是在 |S|≤k 下最大化 f(S)。k=0 或 n=0 时返回空集;k≥n 时返回 E,由单调性知其最优。以下分析 1≤k<n:从 S0=∅ 开始,第 i=1,…,k 步在 E∖Si−1 中选择最大化

Δ(e∣Si−1)=f(Si−1∪{e})−f(Si−1)

的元素 e,并令 Si=Si−1∪{e};平局按固定编号处理。

递推证明 ​

令 O 为最优大小至多 k 的集合。由单调性和次模性,

OPT−f(Si−1)≤f(Si−1∪O)−f(Si−1)≤∑e∈O∖Si−1Δ(e∣Si−1).

若 gap 为正,至多 k 个非负边际中至少一个不小于 gap/k;gap 为零时,单调性同样保证贪心增益至少为零。故

OPT−f(Si)≤(1−1/k)(OPT−f(Si−1)),

迭代得 f(Sk)≥(1−(1−1/k)k)OPT≥(1−1/e)OPT。这里按最大化问题的“保留最优值比例”说 1−1/e 的近似保证;换成不小于一的损失比则为 (1−1/e)−1。OPT=0 时仍使用这条不除法的不等式。

直觉

次模性让尚未选入的每个元素边际收益只会下降。最优集合对当前解的剩余优势可由至多 k 个单元素边际上界,因此贪心每轮至少吃掉当前 gap 的 1/k;重复收缩便形成 1−1/e 的指数衰减。

递减边际与剩余 gap
例子与边界

最大覆盖例子 ​

候选传感器各自覆盖一组区域,f(S) 是被至少一个传感器覆盖的区域数。取 A={1,2,3,4}、B={1,2,5}、C={3,4,6},预算为 2。第一轮选覆盖四区的 A,第二轮 B,C 都只新增一区,最终覆盖 5 区;最优 {B,C} 覆盖全部 6 区。保证允许这样的损失:k=2 的精确递推下界是 3/4,本例实际保留比例为 5/6。

约束边界 ​

非单调函数可能因加入元素而降值,证明第一步失效;非次模的互补收益也无法用单元素边际和上界 gap。

推论与应用

基数约束下每步加入边际增益最大的元素,是贪心算法;次模性保证剩余最优增益可由当前所有边际之和上界,从而递推出 1−1/e 保证。

Oracle 调用与 lazy greedy ​

在 1≤k<n 分支,缓存 f(S) 后,朴素贪心共用 O(nk) 次求值,另计 oracle 内部工作和集合表示成本;两个直接返回的边界分支无须执行这 k 轮。次模性保证边际收益随 S 增大只会下降,因此旧边际可以作为上界存入最大堆:弹出当前上界最大的元素后重新计算真实边际;若它仍不小于堆中其余上界,就安全地选择它,否则更新键值并放回。这个 lazy greedy 过程常显著减少实际 oracle 调用,但最坏情形仍可能反复重算,1−1/e 保证来自“最终选中真实最大边际”这一不变量,而不是堆本身。

若只能找到 (1−η) 近似最大边际,或 value oracle 带有加性、乘性误差,误差会逐轮进入 gap 递推,不能无条件沿用精确常数。在一般拟阵约束下,简单逐项贪心通常只有 1/2 保证;达到 1−1/e 需要 continuous greedy 与舍入等更强机制。这类拟阵约束会改变交换结构,不能直接沿用“最优差由至多 k 个任意可加入元素补齐”的基数论证。

连续贪心每轮以多线性梯度求最大权拟阵基,再只加入一小份基指标;有限步长与采样误差逐项进入近似界。保存的基凸组合随后由交换舍入变成可行整数解,保证的是条件期望,而非每个随机分支都达到分数值。

参考资料
  • George Nemhauser, Laurence Wolsey, Marshall Fisher, An Analysis of Approximations for Maximizing Submodular Set Functions, Mathematical Programming, 1978.

  • Gruia Calinescu et al., Maximizing a Monotone Submodular Function Subject to a Matroid Constraint, SICOMP, 2011.

  • David P. Williamson、David B. Shmoys,The Design of Approximation Algorithms,2011,§2.5 的收益递减与 gap 递推,以及 Exercise 2.10 的一般单调次模表述。

关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。