1.1 基础定义
定义 (M=(S,mathcal I)) 是拟阵当且仅当 (mathcal Isubseteq 2^S),且
- (遗传性)(Jsubseteq Iinmathcal IRightarrow Jinmathcal I)。
- (扩张性)(I,Jinmathcal Iland |I|<|J|Rightarrowexist zin Jackslash I,Icup{z}inmathcal I)。
定义 (mathcal I) 的元素是独立集。极大独立集称为基,极小非独立集称为环。
引理 2.1 所有基的大小相同。
定理 2.2(基交换定理)对于拟阵 (M) 的两个基 (A,B),(forall zin Aackslash B,exist yin Backslash A),(A-{z}+{y}) 是独立集。
定义 (C(M)) 表示拟阵 (M) 的所有环,(B(M)) 表示拟阵 (M) 的所有基。
推论 2.3 所有环不互相包含。
推论 2.4 (forall X,Yin C(M)land ein Xcap Yland X e Y),(Xcup Y-{e} otinmathcal I)。
proves
证明:由推论 2.3 可得 (Xackslash Y) 非空,取 (fin Xackslash Y),则 (X-{f}) 是独立集。设 (Z) 是 (Xcup Y) 中包含 (X-{f}) 的最大的独立集,因为 (Y) 是环所以 (Ysubsetneq Z),所以 (|Z|le|Xcup Y-{f}|-1<|Xcup Y-{e}|),所以 (Xcup Y-{e}) 不是独立集,得证。
推论 2.5 (forall e otin Iin B(M)),(I+{e}) 包含唯一的环。
证明:反证法,若 (C_1,C_2subseteq I+{e}),又因为 (I) 是独立集,所以 (ein C_1cap C_2),所以 (C_1cup C_2-{e}subseteq I) 包含环,矛盾,得证。
1.2 秩函数
定义拟阵 (M=(S,mathcal I)) 的秩为基的元素个数,秩函数 (r(U)) 定义在 (2^S) 上,表示 (U) 中极大独立集的大小。
定理 2.6(有界性)(forall Usubseteq S),(0le r(U)le |U|)。
定理 2.7(单调性)(forall Asubseteq Bsubseteq S),(r(A)le r(B))。
定理 2.8(次模性)(forall A,Bsubseteq S),(r(Acup B)+r(Acap B)le r(A)+r(B))。
proves
证明:设 (Z) 是 (Acap B) 中的最大独立集。根据扩张性,分别扩张出 (A,B,Acup B) 的最大独立集 (Z_A,Z_B,Z_{AB})。
将 (Z_{AB}) 划分为 (Acap B,Aackslash B,Backslash A) 的三部分,根据遗传性,任意部分的组合都是独立集。
设 (E_A=Z_{AB}cap(Aackslash B)),(E_B=Z_{AB}cap(Backslash A)),则
定理 2.9(充分性)对于满足上述三个性质的秩函数 (r:2^S ightarrowN),定义 (mathcal I={I:r(I)=|I|}),则有 (M=(S,mathcal I)) 是拟阵。
proves
证明:遗传性:(forall Asubseteq Binmathcal I),则根据次模性,(|B|=r(B)le r(A)+r(B-A)),又根据有界性,(r(A)le |A|),(r(B-A)le |B|-|A|),所以 (r(A)=|A|),即 (Ainmathcal I)。
交换性:(forall A,Binmathcal Iland |A|<|B|),反证法,若 (A) 加入 (B) 中任一元素都不是独立集,设 (B={b_1,b_2,cdots,b_{|B|}}),考虑归纳证明 (r(Acup B)=|A|),此时则有 (|B|=r(B)le r(Acup B)=|A|),矛盾。
若 (r(Acup{b_1,cdots,b_n})=|A|),则根据次模性,
所以 (r(Acup{b_1,cdots,b_{n+1}})=|A|)。得证。
2 拟阵上的最优化
对于拟阵 (M=(S,mathcal I)),给定函数 (omega:S ightarrowmathbb R_+),定义 (omega(I)=sum_{ein I}omega(e)),求 (max{omega(I):Iinmathcal I})。
定理 3.?(贪心算法)
- 将元素根据 (omega) 按降序排列,即 (omega(s_1)geomega(s_2)gecdotsgeomega(s_{|S|}))。
- 维护独立集 (I),初始时为空,( exttt{for }i:1 ightarrow |S|),若 (Icup{s_i}) 是独立集,则 (I:=Icup{s_i})。
proves
证明:首先证明 (I) 是基。
设 (U_i={s_1,s_2,cdots,s_i}),考虑证明在任意时刻 (i),有 (r(U_i)=|I|)。归纳证明,(i=0) 时显然成立,若 (i) 成立,尝试证明 (i+1) 也成立。讨论两种情况:
-
(r(U_{i+1})=r(U_i)),显然 (s_{i+1}) 加不进去,成立。
-
(r(U_{i+1})>r(U_i)),设 (I') 是 (U_{i+1}) 的极大独立集,由于 (|I'|>|I|),根据扩张性,(exist zin I'ackslash I),(I+{z}) 是独立集。显然 (z otin U_i),所以 (z=S_{i+1})。
其次证明 (I) 是最优解。若真正的最优解第一步与 (I) 不同的选择是 (s_i),即选择了权值更小的 (s_i'),所以之后要追上就必须选择一个权值更大的 (s_j')。
根据基交换定理,(I-{s_j}+{s_j'}) 是独立集,所以会选择 (s_j') 而非选择 (s_j),矛盾。得证。
3.1 对偶拟阵
对于拟阵 (M=(S,mathcal I)),定义 (M) 的对偶拟阵 (M^*=(S,mathcal I^*)),其中 (mathcal I^*={I:) 存在 (M) 中的基与 (I) 不交(})。或者说所有基的补集的子集的并。
proves
-
有界性:根据 (r) 的单调性,(r(Sackslash U)le r(S)),所以 (r^*(U)le |U|)。
-
单调性:(forall Tsubseteq Usubseteq S),有
[egin{aligned} r^*(T)&=|T|-r(S)+r(Sackslash T) \ &le |T|-r(S)+r(Sackslash U)+r(Uackslash T) & r的次模性 \ &le |T|-r(S)+r(Sackslash U)+|U|-|T| & r的有界性\ &=|U|-r(S)+r(Sackslash U)=r^*(U) end{aligned} ] -
次模性:(forall A,Bsubseteq S),设 (T=Sackslash A),(U=Sackslash B),根据 (r) 的次模性,
[egin{aligned} &r(Tcup U)+r(Tcap U) \ =&r(Sackslash(Acap B))+r(Sackslash(Acup B)) \ le&r(Sackslash A)+r(Sackslash B) end{aligned} ]带入定义式可得 (r^*(Acup B)+r^*(Acap B)le r^*(A)+r^*(B))。(square)
3.2 删除和收缩
对于拟阵 (M=(S,mathcal I)) 和 (Zsubseteq S),定义拟阵 (M) 删除子集 (Z) 的拟阵 (Mackslash Z=(Sackslash Z,mathcal I')),其中 (mathcal I'={I:Iinmathcal Iland Isubseteq Sackslash Z})。
定义拟阵 (M) 收缩子集 (Z) 的拟阵 (M/Z=(M^*ackslash Z)^*)。可以证明删除和收缩操作得到的是拟阵,证明略。
考虑收缩操作的意义,简单推导可得 (r_{M/Z}(U)=r_M(Zcup U)-r_M(Z))。
实际上就是钦定选取 (Z) 的一组基,(M/Z) 中的独立集的要求即为并上 (Z) 的独立集之后是 (M) 的独立集。
对应到图拟阵即为缩边操作。
3.3 极小元
对于拟阵 (M),经过一系列删除/收缩操作得到的拟阵 (M') 称为拟阵 (M) 的极小元。
4 拟阵交
给定两个相同基础集的拟阵 (M_1=(S,mathcal I_1),M_2=(S,mathcal I_2)),求 (mathcal I_1capmathcal I_2) 中的最大集合。
定理 4.1(最小最大定理)(max{|I|:Iinmathcal I_1capmathcal I_2}=min{r_1(U)+r_2(Sackslash U):Ssubseteq U})。
首先可以证明 (maxlemin),因为 (forall Iinmathcal I_1capmathcal I_2),有 (|I|=|Icap U|+|Icap(Sackslash U)|le r_1(U)+r_2(Sackslash U))。
所以只需要构造出一组 (I,U) 取到等号即得证。
4.1 强基交换定理
注意断句
对于拟阵 (M=(S,mathcal I)) 和 (Asubseteq S),定义 (A) 的闭包算子 (cl(A)={ein S:r(Acup{e})=r(A)})。
引理 4.2 (forall Asubseteq Bsubseteq S),(cl(A)subseteq cl(B))。
proves
证明:(forall ein cl(A)),根据次模性,(r(Acup{e})+r(B)ge r((Acup{e})cap B)+r(Acup Bcup{e})ge r(A)+r(Bcup{e}))。又因为 (r(Acup{e})=r(A)),所以 (r(B)ge r(Bcup{e})),所以 (ein cl(B)),得证。
引理 4.3 (forall Asubseteq Sland ein cl(A)),(cl(A)=cl(Acup{e}))。
proves
证明:由引理 4.2 可得 (cl(A)subseteq cl(Acup{e})),只需证明 (cl(Acup{e})subseteq cl(A)) 即可。同样用类似的方法运用次模性即可。
引理 4.4 (forall Asubseteq S),(cl(A)=cl(cl(A)))。
proves
证明:多次运用引理 4.3,加入 (cl(A)ackslash A) 中的元素。
定理 4.5(强基交换定理)对于拟阵 (M) 的两个基 (A,B),(forall xin Aackslash B,exist yin Backslash A),(A-{x}+{y}) 和 (B-{y}+{x}) 都是 (M) 的基。
proves
4.2 算法
回到原问题,我们只需要找到满足等号成立的 (I,U) 就可以解决。
对于拟阵 (M=(S,mathcal I)) 和独立集 (Iinmathcal I),定义交换图 (D_M(I)) 是一个左右点集分别为 (I) 和 (Sackslash I) 的二分图,满足 (xin I) 与 (yin Sackslash I) 连边当且仅当 (I-{x}+{y}inmathcal I)。
引理 5.6 对于拟阵 (M) 的两个大小相同的独立集 (I,J),(D_M(I)) 中有 (Iackslash J) 与 (Jackslash I) 的完美匹配。
proves
定义新的拟阵 (M'=(S,mathcal I')),其中 (mathcal I'={I':I'inmathcal Iland|I'|le|I|})。那么 (I,J) 都是 (M') 中的基。
根据强基交换定理,(forall yin Jackslash I),(exist xin Iackslash J),满足 (I-{x}+{y}) 和 (J-{y}+{x}) 都是 (M) 中的独立集,则令 ((x,y)) 是一组匹配,将 (J) 变为 (J-{y}+{x}),继续递归下去。
引理 5.7 对于拟阵 (M) 的独立集 (I) 以及大小与 (I) 相同的集合 (J),若 (D_M(I)) 中有 (Iackslash J) 与 (Jackslash I) 的唯一完美匹配,那么 (J) 是独立集。
proves
对于两个拟阵 (M_1,M_2) 和独立集 (Iinmathcal I_1capmathcal I_2),定义交换图 (D_{M_1,M_2}(I)) 是一个左右点集分别为 (I) 和 (Sackslash I) 的有向二分图,满足 (xin I) 向 (yin Sackslash I) 连边当且仅当 (I-{x}+{y}inmathcal I_1),(yin Sackslash I) 向 (xin I) 连边当且仅当 (I-{x}+{y}inmathcal I_2)。
- 令 (I=varnothing),(X_1={x otin I:I+{x}inmathcal I_1}),(X_2={x otin I:I+{x}inmathcal I_2})。
- 在 (D_{M_1,M_2}) 中找到一条 (X_1) 到 (X_2) 的最短路 (P),令 (I:=Ioplus P)。若找不到则算法结束。
proves
时间复杂度 (O(r^2n)),其中 (r=max{r_1(S),r_2(S)})。