拟阵理论选学
1. 拟阵的定义
1a. 拟阵的定义
拟阵(Matroid)
- 非空性:
。 - 遗传性:
。 - 交换性:
且 , 使得 。
1b. 常见拟阵
均匀拟阵(Uniform Matroid):
图拟阵(Graphic Matroid):
首先
的子集一定也是森林,因此遗传性显然成立。 然后考虑交换性:考虑
且不存在这样的 ,那么 中的每条边一定只能连接 中相同连通块中的点,此时一定有 ,故交换性也成立。
向量拟阵(Vector Matroid):
常规拟阵(Regular Matroid):在任何域上都能通过 Vector Matroid 表示的拟阵,对于图拟阵,我们可以对第
任何 Regular Matroid 都能通过行列式计算
2. 拟阵的基
2a. 拟阵基的定义
拟阵的基(Basis)是
一个性质是一个拟阵所有的基大小都相等,否则取
2b. 拟阵基公理
拟阵的基
- 非空性:
。 - 基交换性:
, 使得 。
下证任意拟阵
首先非空性是显然成立的。
其次对于基交换性,可以考虑
和 两个独立集,根据拟阵交换性知道存在 使得 。 又因为
,因此 ,因此此时的 即为所求。
2c. 拟阵的基定义
事实上拟阵
首先证明满足基公理的
一个显然的事实是
,一定不存在 ,即 中没有元素有真子集关系,否则 ,必然违背基交换性。 反证法考虑
且 ,由于基交换性,我们可以取 ,使得 。 此时
,且 严格减小,因此可以不断递归直到 ,此时即有 ,导出矛盾,因此原命题成立。
可以猜测通过
先证明
是一个拟阵:首先根据定义,很自然的有遗传性和非空性,因此我们只要证明交换性即可。 我们考虑证明以下两个条件不可能同时发生:
且 。 ,总有 。 那么反证法,我们进一步证明:总存在一组
,在满足条件 (1),(2) 的基础上,还能满足下述的条件 (3):
,总有 。 对于一组满足 (1),(2) 的
,假设 使得 ,那么我们令 ,此时条件 (1) 仍然满足,条件 (2) 由于仍然有 ,也是成立的。 因此不断递归下去,
的大小不可能无限增长,因此必然在某个时刻存在这样的 同时满足条件 (1),(2),(3)。 进一步还能找到一个同时满足条件 (1),(2),(3),(4) 的
,其中条件 (4) 是:
。 可以调整,由于
,因此一定有 使得 ,此时考察 :
若
或 ,取 。 首先条件 (1) 显然满足。
由于
,那么 ,因此条件 (2) 满足。 由于
,因此 ,因此条件 (3) 满足。 否则取
。 条件 (1) 显然满足。
由于
,那么 时一定有 ,又因为 ,因此条件 (2) 满足。 由于
,因此 ,因此条件 (3) 满足。 那么对于满足条件 (1),(2),(3),(4) 的
,根据定义可以找到一个 使得 且 ,由于 因此 。 此时如果
,那么取 ,那么 且 ,已经导出矛盾。 否则我们可以根据基交换性,删除一个
中元素再加入一个 中元素,得到 使得 ,从而导出矛盾,故原命题得证。
然后我们还要证明这样的
先证明基为
,这是显然的,因为根据定义 中取到极大的元素一定恰好是 中全体元素。 其次不可能存在两个拟阵被这样的
生成,首先这两个拟阵的极大元素集合都一样是 ,根据遗传性, 中必然包含且只能包含 中元素的子集,因此这样的 唯一。
因此我们可以任取一个满足拟阵基公理的
3. 拟阵的秩函数
3a. 秩函数的定义
拟阵的秩函数(rank function)
3b. 秩函数公理
- 边际性(Binary Marginal):
且 。 - 次模性(Submodular):
, 。
下证任意拟阵
边际性较为显然,如果
,取 的最大独立子集 , 且 且 ,导出矛盾。 然后证次模性:我们只需要证明
。 事实上我们可以证明:
时, 都有 。 根据拟阵交换性,我们首先可以找到一个
且 且 ,即一个 的最大独立子集包含 。 由于
,我们还能进一步通过拟阵交换性构造 ,且 。 由于
,因此根据拟阵遗传性有 。 根据上面的结论,取出
的最大独立子集 , ,因此 ,再运用边际性即得 。
事实上,次模性也常常被写作另一种形式:
先考虑推出这种形式:由于
,根据次模性不断在 和 的基础上加入 的元素,得到 ,原命题得证。 然后考虑根据这种形式推出原公理:注意到
,那么有 ,同样得证。
3c. 拟阵的秩函数定义
对于任意的
先考虑如何求出拟阵
根据边际性,若
,那么 ,因此 。 然后证明交换性,对于
满足 ,我们要找到一个 使得 。 不妨反证法,设
都有 ,即 。 那么根据边际性,取
, ,那么 。 不断递推最终能得到
,与 矛盾,故交换性成立。
然后我们要证明
设该拟阵的秩函数为
,我们要证明 ,取出 的最大独立子集 。 根据定义
,接下来要证明 。 首由于
是最大独立子集,那么 都有 。 那么根据次模性,任取
都有 ,因此 。 不断递推有
。
那么我们知道可以通过任意满足秩函数公理的的
4. 拟阵上的最大权独立集
4a. 贪心算法
拟阵上的最大权独立集就是
做法就是把元素按权值从大到小排序,维护集合
在图拟阵上,这就是常见的 Kruskal 最小生成树算法。
4b. 算法正确性证明
我们要证明这个算法的正确性。
首先根据拟阵交换性,最优解和贪心解一定都是拟阵的一组基,否则可以继续加元素。
因此我们只要考虑两个解大小相同的情况。
设贪心解为
设最优解为
其中元素按权值大小从大到小排列且
显然
此时取
此时
因此
5. 对偶拟阵
5a. 对偶拟阵的定义
对偶拟阵(Dual Matroid)由一个拟阵
5b. 对偶拟阵性质的证明
首先我们要证明
设
,其中 是 所有元素的子集并。 我们考虑拟阵的秩函数定义,求
的秩函数 。 那么:
验证一下秩函数的边际性:
。 秩函数的次模性:
时 ,此时 。 因此
从而 。 因此我们验证了
的秩函数满足拟阵秩函数公理,从而 是拟阵。
5c. 对偶拟阵的应用
比较经典的对偶拟阵是图拟阵的对偶(Co-Graphic Matroid),分析一下发现这个拟阵的基是所有生成树的补,那么拟阵的所有元素都满足:删除后原图联通,即该拟阵是原图割集的补集。
图对偶拟阵可以用来求图上是否有两棵不相交的生成树:只要判断图拟阵和对偶图拟阵的交中是否含有大小
这个算法可以求解 Shannon's Switching Game:
A 和 B 轮流在图上删除/保留边,两人操作过的边不能操作,如果某一时刻 B 保留的边形成生成树那么 B 获胜。
这个游戏后手的必胜条件就是图中有两棵边不交的生成树。
6. 拟阵的环
6a. 拟阵环的定义
拟阵中的一个环(Circuit)被定义为一个极小的非独立子集,即
在图拟阵上,环就是图上的环。
6b. 拟阵环的性质
拟阵环具有如下性质:
-
环的大小不是固定的。从图拟阵中就容易构造出例子。
-
不存在两个环有包含关系。根据定义,这是显然的。
-
当且仅当存在环 使得 。首先根据拟阵的遗传性,
说明 。然后对于一个非独立集
,若 不是环,那么必定能找到一个 使得 ,不断重复,最终停止时一定能找到一个环作为 的子集。
6c. 唯一环定理
唯一环定理(Unique Circuit Thereom)描述的是:对于任意
根据推论,显然
中不可能无环。 我们只需证明不存在两个环
满足 且 。 由于
且根据推论 之间无包含关系,因此我们可以取 。 此时根据环的极小性定义,
。 然后根据拟阵交换性,我们可以逐步向
中加入 的元素,因此存在 , , 且 。 不妨假设
,那么考虑 的性质:
- 首先
时由于 ,此时 从而 ,与 矛盾。 - 否则
,此时由于 ,因此 从而 ,与 矛盾。 从而推出矛盾,故原结论成立。
唯一环定理的一个推论就是
先证明
: 因为
是 中唯一环,因此 必不被 包含,故 。 然后证明
: 首先
推出 存在,如果 那么 ,则 。 因此
。
6d. 拟阵的增广路
对于一个
。 。 。
下面给出证明:
考虑归纳法,对于
的情况就是唯一环定理的推论。 然后我们考虑从
次操作之后得到的独立集 推出 。 首先,我们记
,由于 ,由此推出 。 因此
,因此 。 那么
,显然有 。
7. 拟阵交
7a. 拟阵交问题
给定两个拟阵
7b. 拟阵交的求法
维护答案
按如下方式建立一张有向二分图
- 左部点包含所有
中元素,和虚拟源汇点 。 - 右部点包含所有
中元素。 ,如果 ,那么连接 。 ,如果 ,那么连接 。 ,如果 ,那么连接 。 ,如果 ,那么连接 。
在
不断增广直到
记
时间复杂度
7c. 拟阵交算法正确性证明
首先我们来验证,每轮增广结束后,
设该增广路为
,其中 。 取
,我们用拟阵增广路的判定来证明 : 我们先说明
,一定有 ,由于 ,因此 存在,又因为 ,根据唯一环定理, 也是 中的唯一环,即 。
,满足 : 反证法,假设存在
,那么 ,因此 中包含边 ,那么我们直接取增广路 可以得到一条更短的增广路,与当前增广路最短性矛盾。
,满足 : 反证法,假设存在
,那么 ,因此 ,因此 在 中,把原增广路中 的部分替换成 一定更优,与当前增广路的最短性矛盾。
,满足 。 由于
在 中,因此 ,那么 。 因此
,反向考虑整条增广路,类似可证 。 综上,我们得到每次增广后的
依然属于 。 。
7d. 拟阵交算法最优性证明
其次我们验证:当该算法停止时,
为了证明
的极优性,我们需要一定的放缩: 都有 。 这是因为
,同理 ,因此原式成立。 然后我们只需要找到一个
使得 ,那么我们就能说明 为 中最大元素。 我们取
为当前 中 出发可达的点, ,我们能够证明 且 。 先证明
: 反证法,假设
,那么 在 中的最大独立集一定至少包含一个 的点,那么根据拟阵的交换性,我们能够从 开始调整,找到一个 使得 。 如果
,那么存在一条边 ,而 ,那么就存在一条 的增广路,所以一定有 。 然后考虑
,由于 ,因此 不包含 ,所以至少存在一个 使得 。 那么此时
,存在一条 的边,与 导出矛盾。 对于
的证明也是类似的,故存在 使得 。 因此
。
综上所述,我们证明了这个算法一定能求出
7e. 带权拟阵交
给
我们在构造
时间复杂度
7f. 拟阵交的应用
-
带限制 MST
给定若干条特殊边,要求特殊边不能选择超过
条,求 MST。建立两个拟阵,一个是图拟阵,另一个是特殊边
的边集的集合,求带权拟阵交。 -
最小树形图
给定一张有向图,求出以
为根的最小外向树。建立两个拟阵,第一个表示除
外每个点入度 的边集,第二个表示将图看成无向图后没有环,求带权拟阵交。 -
Colorful Tree
给定带权无向图,每条边有
之间的颜色,要求每种边恰选一条,求 MST。建立两个拟阵,一个是图拟阵,另一个是每种颜色至多选一条的边集,求带权拟阵交。
7g. 多个拟阵的交
求
哈密尔顿问题是指:给定一张有向图
- 第一个拟阵:定义为将图看成无向图后没有环。
- 第二个拟阵:定义为除
之外所有点入度 。 - 第三个拟阵:定义为除
之外所有点出度 。
答案就是这三个拟阵的交中的最大元素,哈密尔顿路存在当且仅当该元素大小为
8. 拟阵并与拟阵划分问题
8a. 拟阵并的定义
定义两个拟阵
接下来证明
拟阵的遗传性根据
的遗传性显然得证,那么只需证明拟阵的交换性。 对于两个集合
,且 ,我们要找到 使得 。 先设
,其中 且 。 由于
,那么 和 中至少有一条成立,不妨设 。 根据拟阵
的交换性,取 使得 ,若 那么 即为所求。 否则
,我们把 从 中移动到 中,此时 ,得到 严格增大,故这样的调整不可能无限持续,因此我们总能找到一个合法的 。
8b. 拟阵并问题
给定
首先我们可以证明
然后我们可以把
那么
因此求最大的
记
- 定义第一个拟阵
,即第 列上的元素在 中。 - 定义第二个拟阵
,即任意两列上的元素无交。
因此最大的
接下来我们验证
首先考虑
,由于每列独立,那么遗传性是显然的,而交换性就找某一列上的拟阵使得 ,用 的交换性调整即可。 然后考虑
,显然有遗传性,而交换性直接找到 中有元素且 中没有元素的一行即可。 因此
都是拟阵。
那么通过定义新拟阵的拟阵交,我们就把
8c. 拟阵并定理
拟阵并定理(Matroid Union Theorem)指的是:
给定拟阵
下面给出证明:
先说明
,都有: 。 考虑把
写成 ,其中集合两两无交,那么 ,因此我们只要找到一组 使得等号成立即可。 类似解决
拟阵并问题的过程,构造辅助拟阵 ,设对应的秩函数为 。 我们先证明关于
和 的两个小结论:
,因为 中每一列都独立。 ,因为 中只包含这些行,且每行都可以选一个元素。 那么根据拟阵交定理的结论,
, 设右式为在
处取到极小值,那么取 。 此时
, 。 因此
,因此此时的 即可取到等号。 故
成立。
8d. 拟阵覆盖问题
给定
这个问题是多项式可解的,具体算法可以参考这个链接:Link。
但是最小的
我们定义拟阵
,取 ,记 的秩函数为 。 那么
合法的充要条件是 ,即 ,根据拟阵并定理: 。 那么
,即 ,因此最小的 至少是 。 充分性可以逆推,
时可以导出 即 ,那么这个 就是合法的。
因此我们可以直接算出最小拟阵覆盖的大小。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效