Skip to content

定理Theorem

拟阵贪心定理

Matroid greedy theorem

完整证明有限独立系统的贪心双向刻画,区分任意实权重的基优化与非负权重的独立集优化,并在四列矩阵上核对每次接受、拒绝及最优值。

形式陈述 ​

设 (E,I) 是有限独立系统:∅∈I,并且独立集的子集仍独立。给定权重 w:E→R,按非增权重排列元素;相等权重可任意确定一个次序。算法从空集出发,对每个元素 e,恰在加入后仍独立时接受它,直到扫描完全部元素。

拟阵贪心定理给出如下等价条件:

  1. (E,I) 是拟阵。
  2. 对每个非负权重和任意相等权重次序,算法返回最大权独立集。
  3. 对每个实权重和任意相等权重次序,算法返回最大权的极大独立集,也称基。

第 3 条在尚未证明系统为拟阵前,用“基”只表示按包含关系极大的独立集,不预设所有基大小相同。三条等价性都将在下文证明。

正向证明还给出更强结论:在拟阵上,对任意实权重,贪心前 k 次成功接受的元素组成最大权 k 元独立集,对所有 0≤k≤r(E) 都成立。这里“前 k 次接受”不等于“扫描到第 k 个元素”。

直觉

贪心选择看似只比较当前元素,但增广公理约束了所有竞争者:一个有 k 个元素的独立集,不可能在第 i 重的位置超过贪心而又完全避开当前可扩充元素。否则增广公理会指出一个更重且本来就能加入的元素,直接与扫描过程矛盾。

反过来,若增广失败,就把那个较小却无法扩充的集合稍微加权。贪心会先全部选入它,随后被困住;较大的独立集却有更高总权。这个构造说明,普遍正确性恰好需要拟阵结构。

例子与边界

四列矩阵的完整扫描 ​

使用秩与闭包页的同一个有理数矩阵

A=(10120112),E={a,b,c,d},

并赋权

(w(a),w(b),w(c),w(d))=(4,3,6,5).

因此扫描次序为 c,d,a,b。

扫描元素 当时已选 判定证书 操作后已选
c,权重 6 ∅ c≠0 c
d,权重 5 c d=2c,加入依赖 c
a,权重 4 c det⁡(c,a)=−1≠0 ac
b,权重 3 ac b=c−a,已在张成内 ac

结果 ac 的权重为 10。为独立核对这个有限例子,全部五个基及其权重为

w(ab)=7,w(ac)=10,w(ad)=9,w(bc)=9,w(bd)=8.

非负权重保证任意独立集可扩充到一个权重不减的基,因此 10 同时是独立集最优值。这个五项核算检验算例;下面的增广证明才负责任意拟阵。

权重符号决定是否必须继续填满 ​

对最大权基问题,即使剩余元素权重为负,也必须继续扩充到基。对任意权重的最大权独立集问题,负权元素一定可以删去而改善目标,所以只需扫描非负权元素,遇到负权部分便停止。

例如在上述矩阵上改用权重 (−1,−2,−3,−4),完整扫描选出 ab,它是最大权基,权重为 −3;最大权独立集却是权重为 0 的空集。当所有权重非负时,零权元素不改变值,一个最优独立集可以扩充为同值的最优基,但它本身未必已经是基。

只有遗传性时的失败 ​

取

I={∅,{a},{b},{c},{b,c}},w(a)=3,w(b)=w(c)=2.

算法先接受 a,随后无法加入 b 或 c,只得到权重 3;独立集 bc 的权重为 4。失败对应 a 无法从更大的 bc 中吸收任何元素,违反增广公理。

一般背包约束也不自动满足拟阵增广性;不能把本定理理解为“任何向下封闭约束都适合按权重贪心”。

推论与应用

正向:每个成功前缀都按分量压过竞争者 ​

设贪心依次接受 g1,…,gr,其权重非增。扫描结束时所得独立集是极大的:某元素若曾被拒绝,当时的集合加它已依赖,后续更大的集合加它也不可能独立。因此在拟阵上最终 r=r(E)。

固定 k≤r,取任意 k 元独立集 J={j1,…,jk},也按权重非增排列。我们证明

(1)w(gi)≥w(ji)(1≤i≤k).

若某个 i 不成立,令

G={g1,…,gi−1},Ji={j1,…,ji}.

它们独立且 |G|=i−1<|Ji|=i。增广公理给出 e∈Ji∖G,使 G+e 独立。又因

w(e)≥w(ji)>w(gi),

元素 e 必定在 gi 之前被扫描。当时已选集合 H 是 G 的子集,遗传性使 H+e 也独立,算法本应接受 e,使它进入 G,矛盾。

对式 (1) 求和,即得

(2)w({g1,…,gk})≥w(J).

证明没有用权重非负性,所以适用于全部实权重。取 k=r,所有拟阵基大小均为 r,得到第 3 条。若权重非负,任意独立集能扩充为权重不减的基,再用基最优性,得到第 2 条。相等权重的次序也不影响论证,因为反证只在严格不等式处使用先后顺序。

逆向:把失败的增广变成统一反例 ​

设独立系统不是拟阵。已有遗传性,故存在独立集 S,T,使

|S|<|T|,S+e∉I对每个 e∈T∖S.

记 m=|S|。必有 m>0:若 S=∅,T 的任一单元素子集都独立,不可能增广失败。赋予非负权重

(3)w(e)={1+12m,e∈S,1,e∈T∖S,0,e∉S∪T.

算法先扫描 S,因 S 独立而全部接受,随后每个 T∖S 中的元素都被拒绝。之后可能接受零权元素,却不会增加目标值。因此最终权重恰为

w(G)=m+12.

但

w(T)≥|T|≥m+1>w(G).

这违反第 2 条。若目标是基,把 T 扩充为某个极大独立集 BT;系统有限,故扩充能够结束,又因权重非负而有 w(BT)≥w(T)。算法自身也返回极大独立集,于是它同样不是最大权基,违反第 3 条。逆向不需要事先假定所有极大独立集等势。

秩前缀、算法接口与两拟阵边界 ​

记扫描前 i 个元素的集合为 Pi,扫描后的已选集为 Gi。在拟阵上,Gi 是 Pi 的极大独立子集,所以

|Gi|=r(Pi).

这把算法的接受记录变成秩增量:第 i 个元素被接受,当且仅当 r(Pi)−r(Pi−1)=1。四列例子中前缀秩依次为 1,1,2,2,正好记录“接受、拒绝、接受、拒绝”。

若独立性以 oracle 给出,排序后完整扫描至多作 |E| 次独立性查询;定理保证组合正确性,不保证 oracle 本身便宜。贪心算法在图拟阵上成为最大权生成森林算法;将权重取负可处理最小权基。

两个拟阵的共同独立集族通常不再满足增广公理。例如三边路径的匹配中,中间一边无法吸收两端边中的任一边。此时应使用拟阵交的增广与秩证书及其既有算法接口;单拟阵贪心定理不会自动延伸到两个约束的交。

参考资料
  • Michel X. Goemans,Lecture Notes on Matroid Optimization,MIT 18.433,2011-03-16,pp. 5–6, Theorem 4.2:各固定基数前缀的最优性及负权元素的处理。
  • Jan Vondrák,CS369P Lecture 8,2010-10-14,pp. 1–3, Theorem 1, Claims 2–3:贪心刻画与失败增广的权重构造。本页从有限独立系统开始,并分别写出基与任意独立集两个目标。
关系图谱7 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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