1.1 基础定义
定义 \(M=(S,\mathcal I)\) 是拟阵当且仅当 \(\mathcal I\subseteq 2^S\),且
- (遗传性)\(J\subseteq I\in\mathcal I\Rightarrow J\in\mathcal I\)。
- (扩张性)\(I,J\in\mathcal I\land |I|<|J|\Rightarrow\exist z\in J\backslash I,I\cup\{z\}\in\mathcal I\)。
定义 \(\mathcal I\) 的元素是独立集。极大独立集称为基,极小非独立集称为环。
引理 2.1 所有基的大小相同。
定理 2.2(基交换定理)对于拟阵 \(M\) 的两个基 \(A,B\),\(\forall z\in A\backslash B,\exist y\in B\backslash A\),\(A-\{z\}+\{y\}\) 是独立集。
定义 \(C(M)\) 表示拟阵 \(M\) 的所有环,\(B(M)\) 表示拟阵 \(M\) 的所有基。
推论 2.3 所有环不互相包含。
推论 2.4 \(\forall X,Y\in C(M)\land e\in X\cap Y\land X\ne Y\),\(X\cup Y-\{e\}\notin\mathcal I\)。
proves
证明:由推论 2.3 可得 \(X\backslash Y\) 非空,取 \(f\in X\backslash Y\),则 \(X-\{f\}\) 是独立集。设 \(Z\) 是 \(X\cup Y\) 中包含 \(X-\{f\}\) 的最大的独立集,因为 \(Y\) 是环所以 \(Y\subsetneq Z\),所以 \(|Z|\le|X\cup Y-\{f\}|-1<|X\cup Y-\{e\}|\),所以 \(X\cup Y-\{e\}\) 不是独立集,得证。
推论 2.5 \(\forall e\notin I\in B(M)\),\(I+\{e\}\) 包含唯一的环。
证明:反证法,若 \(C_1,C_2\subseteq I+\{e\}\),又因为 \(I\) 是独立集,所以 \(e\in C_1\cap C_2\),所以 \(C_1\cup C_2-\{e\}\subseteq I\) 包含环,矛盾,得证。
1.2 秩函数
定义拟阵 \(M=(S,\mathcal I)\) 的秩为基的元素个数,秩函数 \(r(U)\) 定义在 \(2^S\) 上,表示 \(U\) 中极大独立集的大小。
定理 2.6(有界性)\(\forall U\subseteq S\),\(0\le r(U)\le |U|\)。
定理 2.7(单调性)\(\forall A\subseteq B\subseteq S\),\(r(A)\le r(B)\)。
定理 2.8(次模性)\(\forall A,B\subseteq S\),\(r(A\cup B)+r(A\cap B)\le r(A)+r(B)\)。
proves
证明:设 \(Z\) 是 \(A\cap B\) 中的最大独立集。根据扩张性,分别扩张出 \(A,B,A\cup B\) 的最大独立集 \(Z_A,Z_B,Z_{AB}\)。
将 \(Z_{AB}\) 划分为 \(A\cap B,A\backslash B,B\backslash A\) 的三部分,根据遗传性,任意部分的组合都是独立集。
设 \(E_A=Z_{AB}\cap(A\backslash B)\),\(E_B=Z_{AB}\cap(B\backslash A)\),则
\[\begin{aligned} &r(A\cap B)+r(A\cup 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\rightarrow\N\),定义 \(\mathcal I=\{I:r(I)=|I|\}\),则有 \(M=(S,\mathcal I)\) 是拟阵。
proves
证明:遗传性:\(\forall A\subseteq B\in\mathcal I\),则根据次模性,\(|B|=r(B)\le r(A)+r(B-A)\),又根据有界性,\(r(A)\le |A|\),\(r(B-A)\le |B|-|A|\),所以 \(r(A)=|A|\),即 \(A\in\mathcal I\)。
交换性:\(\forall A,B\in\mathcal I\land |A|<|B|\),反证法,若 \(A\) 加入 \(B\) 中任一元素都不是独立集,设 \(B=\{b_1,b_2,\cdots,b_{|B|}\}\),考虑归纳证明 \(r(A\cup B)=|A|\),此时则有 \(|B|=r(B)\le r(A\cup B)=|A|\),矛盾。
若 \(r(A\cup\{b_1,\cdots,b_n\})=|A|\),则根据次模性,
\[r(A)+r(A\cup\{b_1,\cdots,b_{n+1}\})\le r(A\cup\{b_1,\cdots,b_n\})+r(A\cup\{b_{n+1}\}) \]所以 \(r(A\cup\{b_1,\cdots,b_{n+1}\})=|A|\)。得证。
2 拟阵上的最优化
对于拟阵 \(M=(S,\mathcal I)\),给定函数 \(\omega:S\rightarrow\mathbb R_+\),定义 \(\omega(I)=\sum_{e\in I}\omega(e)\),求 \(\max\{\omega(I):I\in\mathcal I\}\)。
定理 3.?(贪心算法)
- 将元素根据 \(\omega\) 按降序排列,即 \(\omega(s_1)\ge\omega(s_2)\ge\cdots\ge\omega(s_{|S|})\)。
- 维护独立集 \(I\),初始时为空,\(\texttt{for }i:1\rightarrow |S|\),若 \(I\cup\{s_i\}\) 是独立集,则 \(I:=I\cup\{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 z\in I'\backslash I\),\(I+\{z\}\) 是独立集。显然 \(z\notin 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^*$ 合法, $$ \begin{aligned} r^*(U)&=\max_{I\subseteq U\cap\mathcal I^*}|I| \\ &=\max\{|U\backslash B|:B\in B(M)\} \\ &=|U|-\min\{|U\cap B|:B\in B(M)\} \\ &=|U|-r(S)+\max\{|(S\backslash U)\cap B|:B\in B(M)\} \\ &=|U|-r(S)+r(S\backslash U) \end{aligned} $$-
有界性:根据 \(r\) 的单调性,\(r(S\backslash U)\le r(S)\),所以 \(r^*(U)\le |U|\)。
-
单调性:\(\forall T\subseteq U\subseteq S\),有
\[\begin{aligned} r^*(T)&=|T|-r(S)+r(S\backslash T) \\ &\le |T|-r(S)+r(S\backslash U)+r(U\backslash T) & r的次模性 \\ &\le |T|-r(S)+r(S\backslash U)+|U|-|T| & r的有界性\\ &=|U|-r(S)+r(S\backslash U)=r^*(U) \end{aligned} \] -
次模性:\(\forall A,B\subseteq S\),设 \(T=S\backslash A\),\(U=S\backslash B\),根据 \(r\) 的次模性,
\[\begin{aligned} &r(T\cup U)+r(T\cap U) \\ =&r(S\backslash(A\cap B))+r(S\backslash(A\cup B)) \\ \le&r(S\backslash A)+r(S\backslash B) \end{aligned} \]带入定义式可得 \(r^*(A\cup B)+r^*(A\cap B)\le r^*(A)+r^*(B)\)。\(\square\)
3.2 删除和收缩
对于拟阵 \(M=(S,\mathcal I)\) 和 \(Z\subseteq S\),定义拟阵 \(M\) 删除子集 \(Z\) 的拟阵 \(M\backslash Z=(S\backslash Z,\mathcal I')\),其中 \(\mathcal I'=\{I:I\in\mathcal I\land I\subseteq S\backslash Z\}\)。
定义拟阵 \(M\) 收缩子集 \(Z\) 的拟阵 \(M/Z=(M^*\backslash Z)^*\)。可以证明删除和收缩操作得到的是拟阵,证明略。
考虑收缩操作的意义,简单推导可得 \(r_{M/Z}(U)=r_M(Z\cup 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_1\cap\mathcal I_2\) 中的最大集合。
定理 4.1(最小最大定理)\(\max\{|I|:I\in\mathcal I_1\cap\mathcal I_2\}=\min\{r_1(U)+r_2(S\backslash U):S\subseteq U\}\)。
首先可以证明 \(\max\le\min\),因为 \(\forall I\in\mathcal I_1\cap\mathcal I_2\),有 \(|I|=|I\cap U|+|I\cap(S\backslash U)|\le r_1(U)+r_2(S\backslash U)\)。
所以只需要构造出一组 \(I,U\) 取到等号即得证。
4.1 强基交换定理
注意断句
对于拟阵 \(M=(S,\mathcal I)\) 和 \(A\subseteq S\),定义 \(A\) 的闭包算子 \(cl(A)=\{e\in S:r(A\cup\{e\})=r(A)\}\)。
引理 4.2 \(\forall A\subseteq B\subseteq S\),\(cl(A)\subseteq cl(B)\)。
proves
证明:\(\forall e\in cl(A)\),根据次模性,\(r(A\cup\{e\})+r(B)\ge r((A\cup\{e\})\cap B)+r(A\cup B\cup\{e\})\ge r(A)+r(B\cup\{e\})\)。又因为 \(r(A\cup\{e\})=r(A)\),所以 \(r(B)\ge r(B\cup\{e\})\),所以 \(e\in cl(B)\),得证。
引理 4.3 \(\forall A\subseteq S\land e\in cl(A)\),\(cl(A)=cl(A\cup\{e\})\)。
proves
证明:由引理 4.2 可得 \(cl(A)\subseteq cl(A\cup\{e\})\),只需证明 \(cl(A\cup\{e\})\subseteq cl(A)\) 即可。同样用类似的方法运用次模性即可。
引理 4.4 \(\forall A\subseteq S\),\(cl(A)=cl(cl(A))\)。
proves
证明:多次运用引理 4.3,加入 \(cl(A)\backslash A\) 中的元素。
定理 4.5(强基交换定理)对于拟阵 \(M\) 的两个基 \(A,B\),\(\forall x\in A\backslash B,\exist y\in B\backslash A\),\(A-\{x\}+\{y\}\) 和 \(B-\{y\}+\{x\}\) 都是 \(M\) 的基。
proves
4.2 算法
回到原问题,我们只需要找到满足等号成立的 \(I,U\) 就可以解决。
对于拟阵 \(M=(S,\mathcal I)\) 和独立集 \(I\in\mathcal I\),定义交换图 \(D_M(I)\) 是一个左右点集分别为 \(I\) 和 \(S\backslash I\) 的二分图,满足 \(x\in I\) 与 \(y\in S\backslash I\) 连边当且仅当 \(I-\{x\}+\{y\}\in\mathcal I\)。
引理 5.6 对于拟阵 \(M\) 的两个大小相同的独立集 \(I,J\),\(D_M(I)\) 中有 \(I\backslash J\) 与 \(J\backslash I\) 的完美匹配。
proves
定义新的拟阵 \(M'=(S,\mathcal I')\),其中 \(\mathcal I'=\{I':I'\in\mathcal I\land|I'|\le|I|\}\)。那么 \(I,J\) 都是 \(M'\) 中的基。
根据强基交换定理,\(\forall y\in J\backslash I\),\(\exist x\in I\backslash J\),满足 \(I-\{x\}+\{y\}\) 和 \(J-\{y\}+\{x\}\) 都是 \(M\) 中的独立集,则令 \((x,y)\) 是一组匹配,将 \(J\) 变为 \(J-\{y\}+\{x\}\),继续递归下去。
引理 5.7 对于拟阵 \(M\) 的独立集 \(I\) 以及大小与 \(I\) 相同的集合 \(J\),若 \(D_M(I)\) 中有 \(I\backslash J\) 与 \(J\backslash I\) 的完美匹配,那么 \(J\) 是独立集。
proves
![](https://www.icode9.com/i/l/?n=20&i=blog/1399387/202105/1399387-20210529094039780-221578516.png)对于两个拟阵 \(M_1,M_2\) 和独立集 \(I\in\mathcal I_1\cap\mathcal I_2\),定义交换图 \(D_{M_1,M_2}(I)\) 是一个左右点集分别为 \(I\) 和 \(S\backslash I\) 的有向二分图,满足 \(x\in I\) 向 \(y\in S\backslash I\) 连边当且仅当 \(I-\{x\}+\{y\}\in\mathcal I_1\),\(y\in S\backslash I\) 向 \(x\in I\) 连边当且仅当 \(I-\{x\}+\{y\}\in\mathcal I_2\)。
- 令 \(I=\varnothing\),\(X_1=\{x\notin I:I+\{x\}\in\mathcal I_1\}\),\(X_2=\{x\notin I:I+\{x\}\in\mathcal I_2\}\)。
- 在 \(D_{M_1,M_2}\) 中找到一条 \(X_1\) 到 \(X_2\) 的最短路 \(P\),令 \(I:=I\oplus P\)。若找不到则算法结束。
proves
时间复杂度 \(O(r^2n)\),其中 \(r=\max\{r_1(S),r_2(S)\}\)。