《浅谈拟阵的一些拓展及其应用》学习笔记

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)),则

[egin{aligned} &r(Acap B)+r(Acup B) \ =&|E_A|+|E_B|+|Z|+|Z| \ =&(|Z|+|E_A|)+(|Z|+|E_B|) \ le&|Z_A|+|Z_B|=r(A)+r(B)&square end{aligned} ]

定理 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(A)+r(Acup{b_1,cdots,b_{n+1}})le r(Acup{b_1,cdots,b_n})+r(Acup{b_{n+1}}) ]

所以 (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.?(贪心算法)

  1. 将元素根据 (omega) 按降序排列,即 (omega(s_1)geomega(s_2)gecdotsgeomega(s_{|S|}))
  2. 维护独立集 (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
考虑证明 $M^*$ 的秩函数 $r^*$ 合法, $$ egin{aligned} r^*(U)&=max_{Isubseteq Ucapmathcal I^*}|I| \ &=max{|Uackslash B|:Bin B(M)} \ &=|U|-min{|Ucap B|:Bin B(M)} \ &=|U|-r(S)+max{|(Sackslash U)cap B|:Bin B(M)} \ &=|U|-r(S)+r(Sackslash U) end{aligned} $$
  1. 有界性:根据 (r) 的单调性,(r(Sackslash U)le r(S)),所以 (r^*(U)le |U|)

  2. 单调性:(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} ]

  3. 次模性:(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)})

原文地址:https://www.cnblogs.com/AThousandMoons/p/14732273.html