拟阵和拟阵交,拟阵并咕了
参考文献
能看懂证明的地方抄抄证明,看不懂的地方就抄结论罢.
定义
拟阵和独立集
记 M = ( S , I ) M = (S, \mathcal{I}) M=(S,I) 表示一个定义在一个有限集 S S S 上,独立集的集合是 I \mathcal{I} I 的拟阵,其中 I \mathcal{I} I 是由一些 S S S 的子集组成的集合.
拟阵 M M M需要满足以下公理
- 遗传性:若 I ∈ I , J ⊆ I I\in \mathcal{I},J\subseteq I I∈I,J⊆I,那么 J ∈ I J\in \mathcal{I} J∈I
- 扩张性:若 I , J ∈ I , ∣ I ∣ < ∣ J ∣ I,J\in \mathcal{I},|I|<|J| I,J∈I,∣I∣<∣J∣,那么存在元素 z ∈ J ∖ I z\in J\setminus I z∈J∖I满足 I ∪ { z } ∈ I I\cup\{z\}\in\mathcal{I} I∪{z}∈I
若 I ∈ I I\in \mathcal{I} I∈I,那么我们称 I I I是独立的,即 I I I为独立集,否则 I I I就是不独立的.
我们一般认为 ∅ \emptyset ∅是独立的,即 ∅ ∈ I \emptyset \in \mathcal{I} ∅∈I.
基,环,秩函数
对于拟阵 M = ( S , I ) M = (S, \mathcal{I}) M=(S,I) 中的一个独立集 I I I,如果 I I I 加入任何一个属于 S ∖ I S\setminus \mathcal{I} S∖I 的元素都会变成非独立集,则称 I I I 是拟阵的一个基,即极大独立集.
对于拟阵 M = ( S , I ) M = (S, \mathcal{I}) M=(S,I) 中的一个非独立集 I I I,如果 I I I 去掉任何一个属于 I I I 的元素都会变成独立集,则称 I I I 是拟阵的一个环,也叫极小非独立集.
举个栗子,对于无向图拟阵,生成树森林是一个独立集,极大生成树森林是一个基(图联通的话就是生成树),环就是一个环.
再举个栗子,对于线性无关拟阵,独立集就是线性基.
根据拟阵的扩张性,拟阵的所有基大小相同,但环的大小可能不同.
对于拟阵
M
=
(
S
,
I
)
M = (S, \mathcal{I})
M=(S,I) ,基的元素的个数称为拟阵的秩,对于任意一个
S
S
S 的子集
U
U
U
,定义秩函数
r
(
U
)
r(U)
r(U) 表示
U
U
U 中极大独立集的大小.
秩函数拥有以下性质
- 有界性: ∀ U ⊆ S , r ( U ) ∈ [ 0 , ∣ U ∣ ] \forall U\subseteq S,r(U)\in[0,|U|] ∀U⊆S,r(U)∈[0,∣U∣]
- 单调性: ∀ A ⊆ B ⊆ S , r ( A ) ≤ r ( B ) \forall A\subseteq B\subseteq S,r(A)\leq r(B) ∀A⊆B⊆S,r(A)≤r(B)
- 次模性: ∀ A , B ⊆ S , r ( A ∩ B ) + r ( A ∪ B ) ≤ r ( A ) + r ( B ) \forall A,B\subseteq S,r(A\cap B)+r(A\cup B)\leq r(A)+r(B) ∀A,B⊆S,r(A∩B)+r(A∪B)≤r(A)+r(B)
性质1,2显然,这里证明性质3
令 A ∩ B A \cap B A∩B 中的最大独立集是 z z z ,由交换性可得,从 z z z 开始,可以扩张出 A A A 中的最大独立集 z A z_A zA , B B B 中的最大独立集 z B z_B zB ,和 A ∪ B A \cup B A∪B 中的最大独立集 z A B z_{AB} zAB . z A B z_{AB} zAB 我们可以直接将其划分为分别属于 A ∩ B , A ∖ B , B ∖ A A \cap B, A\setminus B, B\setminus A A∩B,A∖B,B∖A 的三部分,由遗传性得到,任意部分的组合都是独立集.令 z A B z_{AB} zAB 在 A ∖ B A\setminus B A∖B 中的部分为 E A E_A EA , B ∖ A B\setminus A B∖A 中的部分是 E B E_B EB ,可以得到 r ( A ∩ B ) + r ( A ∪ B ) = ∣ E A ∣ + ∣ E B ∣ + ∣ z ∣ + ∣ z ∣ = ( ∣ z ∣ + ∣ E A ∣ ) + ( ∣ z ∣ + ∣ E B ∣ ) ≤ ∣ z A ∣ + ∣ z B ∣ = r ( A ) + r ( B ) r(A \cap B) + r(A \cup B) =|E_A| + |E_B| + |z| + |z| = (|z| + |E_A|) + (|z| + |E_B|) \leq |z_A| + |z_B| = r(A) + r(B) r(A∩B)+r(A∪B)=∣EA∣+∣EB∣+∣z∣+∣z∣=(∣z∣+∣EA∣)+(∣z∣+∣EB∣)≤∣zA∣+∣zB∣=r(A)+r(B).至于为什么 ∣ z ∣ + ∣ E A ∣ ≤ ∣ z A ∣ |z|+|E_A|\leq |z_A| ∣z∣+∣EA∣≤∣zA∣,显然 z ∪ E A z\cup E_A z∪EA也是 A A A的独立集.
什么是次模性 submodular
submodular实际上就是对"边际效用递减"这个说法的形式化
将上面的式子转化一下
∀
A
,
B
⊆
S
,
r
(
A
∩
B
)
+
r
(
A
∪
B
)
≤
r
(
A
)
+
r
(
B
)
\forall A,B\subseteq S,r(A\cap B)+r(A\cup B)\leq r(A)+r(B)
∀A,B⊆S,r(A∩B)+r(A∪B)≤r(A)+r(B)
∀
A
,
B
⊆
S
,
r
(
A
∪
B
)
−
r
(
A
)
≤
r
(
B
)
−
r
(
A
∩
B
)
\forall A,B\subseteq S,r(A\cup B)-r(A)\leq r(B)-r(A\cap B)
∀A,B⊆S,r(A∪B)−r(A)≤r(B)−r(A∩B)
∀
A
,
B
⊆
S
,
r
(
A
∪
(
B
∖
A
)
)
−
r
(
A
)
≤
r
(
(
A
∩
B
)
∪
(
B
∖
A
)
)
−
r
(
A
∩
B
)
\forall A,B\subseteq S,r(A\cup (B\setminus A))-r(A)\leq r((A\cap B)\cup (B\setminus A))-r(A\cap B)
∀A,B⊆S,r(A∪(B∖A))−r(A)≤r((A∩B)∪(B∖A))−r(A∩B)
设
P
=
A
,
Q
=
A
∩
B
,
Δ
=
B
∖
A
P=A,Q=A\cap B,\Delta=B\setminus A
P=A,Q=A∩B,Δ=B∖A
∀
Q
⊆
P
,
Δ
⊆
S
,
r
(
P
∪
Δ
)
−
r
(
P
)
≤
r
(
Q
∪
Δ
)
−
r
(
Q
)
\forall Q\subseteq P,\Delta \subseteq S,r(P\cup \Delta)-r(P)\leq r(Q\cup \Delta)-r(Q)
∀Q⊆P,Δ⊆S,r(P∪Δ)−r(P)≤r(Q∪Δ)−r(Q)
拟阵的另一个定义
M = ( S , I ) , I = { I ∣ r ( I ) = ∣ I ∣ } M=(S,\mathcal{I}),\mathcal{I}=\{I|r(I)=|I|\} M=(S,I),I={I∣r(I)=∣I∣}
证明咕了.
对偶拟阵
对于拟阵 M = ( S , I ) M=(S,\mathcal{I}) M=(S,I),定义 M M M的对偶拟阵 M ∗ = ( S , I ∗ ) , I ∗ = { I ∣ 存 在 S 的 基 B ∈ S ∖ I } M^*=(S,\mathcal{I}^*),\mathcal{I}^*=\{I|存在S的基B\in S\setminus I\} M∗=(S,I∗),I∗={I∣存在S的基B∈S∖I}
通过证明 M ∗ M^* M∗的秩函数 r ∗ r^* r∗是合法的秩函数可以证明 M ∗ M^* M∗是合法的拟阵,证明咕了.
拟阵交
给定两个定义在相同基础集上的拟阵 M 1 = ( S , I 1 ) , M 2 = ( S , I 2 ) M1 = (S, \mathcal{I}_1), M2 = (S, \mathcal{I}_2) M1=(S,I1),M2=(S,I2),定义 M 1 M1 M1 和 M 2 M2 M2的交是所有的集合 I \mathcal{I} I ,满足 I \mathcal{I} I 同时在两个拟阵内都是独立的.
可以发现,拟阵交并不是一个合法的拟阵.
现在我们要求的问题就是同时属于两个拟阵的独立集的最大的独立集.
拟阵上的最优化
给定拟阵
M
=
(
S
,
I
)
M = (S, \mathcal{I})
M=(S,I) ,给定函数
ω
:
S
→
R
\omega: S → R
ω:S→R,定
义
S
S
S 的一个子集的权值
ω
(
I
)
=
∑
e
∈
I
ω
(
e
)
ω(I)=\sum_{e\in I}ω(e)
ω(I)=∑e∈Iω(e) .需要找一个最大的
ω
(
I
)
\omega(I)
ω(I) ,满足
I
∈
I
I\in \mathcal{I}
I∈I.
一个典型的栗子就是无向图最大生成树.
如果一个最优化问题可以用拟阵来描述,那么就可以用简单的贪心来解决.具体的流程如下:
- 将元素按 ω \omega ω从大到小排序
- 维护一个初始为空的集合 I I I,从前往后尝试将元素放进 I I I.
- I I I即为所求集合.
拟阵交
最大最小定理
max i ∈ I 1 ∩ I 2 { ∣ I ∣ } = min U ∈ S { r 1 ( U ) + r 2 ( S ∖ U ) } \max_{i\in \mathcal{I_1}\cap\mathcal{I_2}}\{|I|\}=\min_{U\in S}\{r_1(U)+r_2(S\setminus U)\} i∈I1∩I2max{∣I∣}=U∈Smin{r1(U)+r2(S∖U)}
证明不会
交换图
对于给定的拟阵 M = ( S , I ) M = (S, \mathcal{I}) M=(S,I) ,和一个独立集 I ∈ I I\in \mathcal{I} I∈I ,定义 M M M 中 I I I 的交换图 D M ( I ) D_M(I) DM(I)是这样一种二分图.它的两部分点集各自由 I I I 和 S ∖ I S\setminus I S∖I 构成,一条连接 y ∈ I y\in I y∈I 和 x ∈ S ∖ I x \in S \setminus I x∈S∖I 的边存在,当且仅当 I − { y } + { x } ∈ I I − \{y\} + \{x\} \in I I−{y}+{x}∈I 成立.
一个性质
I I I 和 J J J 都是拟阵 M M M 的独立集,且 ∣ I ∣ = ∣ J ∣ |I| = |J| ∣I∣=∣J∣ .那么在 D M ( I ) D_M(I) DM(I) 中存在一个关于 I ∖ J I\setminus J I∖J和 J ∖ I J\setminus I J∖I 的完美匹配.
另一个性质
I I I 是拟阵 M M M 的独立集, J J J 是一个大小与 I I I 相同的集合.如果在二分图 D M ( I ) D_M(I) DM(I) 中存在一个唯一的 I ∖ J I\setminus J I∖J 到 J ∖ I J\setminus I J∖I 的完美匹配,那么 J J J 也是独立集.
在交换图上搞事情
给定两个拟阵
M
1
,
M
2
M1, M2
M1,M2 ,和一个集合
I
∈
I
1
∩
I
2
I \in\mathcal{I}_1 \cap \mathcal{I}_2
I∈I1∩I2 ,定义关于
I
I
I 的交换图
D
M
1
,
M
2
(
I
)
D_{M1,M2}(I)
DM1,M2(I)
是这样一个二分图.它的两部分点集各自由
I
I
I 和
S
∖
I
S\setminus I
S∖I 构成,一条从
y
∈
I
y \in I
y∈I 指向
x
∈
S
∖
I
x \in S \setminus I
x∈S∖I 的有向边存在,当且仅当
I
−
{
y
}
+
{
x
}
∈
I
1
I − \{y\} + \{x\} \in \mathcal{I}_1
I−{y}+{x}∈I1 ,一条从
x
∈
S
∖
I
x \in S \setminus I
x∈S∖I 指向
y
∈
I
y \in I
y∈I 的有向边存在,当且仅当
I
−
{
y
}
+
{
x
}
∈
I
2
I − \{y\} + \{x\} \in \mathcal{I}_2
I−{y}+{x}∈I2.
求解最大的 I I I的算法流程如下:
- 令初始的 I I I为 ∅ \emptyset ∅.
- 我们定义 X 1 = { x ∉ I ∣ I + { x } ∈ I 1 } , X 2 = { x ∉ I ∣ I + { x } ∈ I 2 } X_1=\{x\notin I|I+\{x\}\in \mathcal{I}_1\},X_2=\{x\notin I|I+\{x\}\in \mathcal{I}_2\} X1={x∈/I∣I+{x}∈I1},X2={x∈/I∣I+{x}∈I2}.
- 在当前的 D M 1 , M 2 ( I ) D_{M_1,M_2}(I) DM1,M2(I)中找到一条从 X 1 X_1 X1到 X 2 X_2 X2的路径,满足没有一条边能缩短这条路径的长度,令其为 P P P.
- 将 I I I变为 ( I ∖ P ) ∪ ( P ∖ I ) (I\setminus P)\cup (P\setminus I) (I∖P)∪(P∖I)(即对称差).
- 重复2-4的增广过程,直至找不到增广路.
- I I I即为所求独立集.
例题
游戏
给定一张 n n n 个点 m m m 条边的无向图,初始时所有边都是未染色的.
A 和 B 轮流操作,A 先手.A 每次的操作是选一条未染色的边并染成红色,B 每次的操作是选一条未染色的边并染成蓝色.
B 的目标是蓝色的边能连通这 n n n 个点,A 的目标是阻止 B.
A 和 B 都绝顶聪明,请问 B 是否能赢.
通过一些牛逼结论可以知道如果图中有两棵完全不交的生成树,那么 B 胜,否则 A 胜.
所以求出无向图拟阵与其对偶拟阵的交,若其大小恰好为 n − 1 n-1 n−1则 B 胜.