这一节主要介绍一些拟阵的问题,和相关的算法。
输入的界定
在讨论问题或者算法之前,我们写界定一下一个拟阵的输入是啥。通常来说,我们表达拟阵与两种方式:
- 列举所有的独立集
- 给出表出矩阵
在我们接下来的讨论中,我们都假设问题的输入,是第二种方式,即我们通过给出表出矩阵 来表达一个拟阵 。
那么,可能大家容易想到的一个问题就是,对于一个集合 ,我们想知道 是否是 的独立集。当然,这是很容易办到的。因为我们只需要判断 在矩阵 中对应的向量是否线性独立,而高斯消元(Gaussian elimination)(搞死小圆)就可以在多项式时间内判断向量组的线性独立。判断一个集合 是否是独立集,除了通过高斯消元,在不同的问题中,我们也可以通过不同的办法来实现(比如在均匀拟阵中,只用回答 大小是否超过秩)。
接下来,我们讨论一些关于基与环的问题,这都有着很实际的意义。
寻找最小带权基
问题定义:全集 中的每个边有个权重 ,我们的任务是寻找一个权值和最小的基。(对于找最大权值,我们只需要对权值求相反数,因为权值函数是定义在 上的)。
先回顾一下基的定义:
基(Basis):一个极大独立集叫做基。
比如在均匀拟阵中,大小为秩的子集便是基;在图拟阵中,一棵生成树(如果图连通的话)就是基。
咦!那寻找最小带权基,在图拟阵中不就是最小生成树嘛?(你可能会发出这样的疑问)。没错,而且好巧不巧,解决最小生成树的贪心算法Kruskal,同样能解决其他拟阵的最小带权基问题!贪心算法流程如下:
- 令初始解集
- 不断扩大解集
- 在第 步,寻找未加入解集,且权值最小,并能保证解集独立的边
- 若能找到
- 将 加入解集,
- 若不能找到
- 输出当前解集
这个算法简单粗暴,而且效率非常高(在图拟阵问题中是 的复杂度)。
定理3.1:上述贪心算法输出的 为最小带权基。
证明:首先 一定是一个基,这是因为我们找到的是一个极大的独立集。现在证明 是最小带权基。
我们令 是 的最小带权基,我们把 中的元素按照非递减的顺序排序 ,设 。我们通过归纳法证明 的权值至多是 的权值。对于 和 来说,显然是满足的。对于 ,假设 的 的权重都不超过 的权重。
我们令 是第 步加入 的边。由交换性质,我们知道 ,使得 是独立的。然而在算法的过程中,我们选择了 而不是 ,这意味着 。由于 是非减的,所以有 。所以由归纳假设:
证毕。
利用S_{i-1}比X_i小,证明每次加入的元素总比X对应的元素权值更小
这个贪心算法除了应用在求最小生成树,还能应用在哪里呢?可以看出,只要讲问题的限制描述成拟阵,而问题的目标是求最小或最大带权基,那么就能应用!比如说,给定一些同维度的带权向量,求最小权的极大线性无关向量组,也是能用贪心做的(似乎不是很会举例)。
寻找最小或最大带权环
既然最小带权基能多项式做,那能不能多项式做最小或最大带权环呢(星星眼)?答案是,不能!除非P=NP。
对于最大带权环问题,其在图拟阵上,等价于寻找最大的圈,如果权值都是1的话。然而这和著名的NP-complete问题哈密顿回路等价,所以寻找最大带权环是NP-hard的。
对于最小带权环问题,其在图拟阵上,等价于寻找最小的圈,当然这是多项式可解的。但这并不意味着,寻找最小带权环是多项式可解的。事实上,我们可以通过一个叫Even Set的NP-complete问题规约证明寻找最小带权环是NP-hard的。
Even Set 问题是说给定一个全集 ,和一个 上的集族 ,和一个整数 ,问是否存在一个集合 ,其大小不超过 ,且 , 是个偶数。
对任意一个Even Set的实例,我们构造一个二元拟阵 。考虑这个二元拟阵 的表出矩阵为 ,每一行代表一个集合 ,每一列代表一个元素 。当第 个元素在第 个集合中时, 否则 。
如此一来,寻找集合 ,便是在 中找寻最小带权环。所以最小带权环也是NP-hard的。
更不幸的是,寻找最小带权环,以解集大小作为参数,甚至是属于W[1]-hard的,即在一定假设下,似乎也没有FPT算法。另一方面,如果限制了拟阵可以在一个有限域表出,那么是存在以解集大小作为参数的FPT算法[1, 2]。但如果限制拟阵是可以在一个整环上表出,是否存在以解集大小作为参数的FPT算法,至今也是Open的。
这一节就到这里啦,下一节讲讲非常非常棒的拟阵交(科研的好工具;ACM选手看着就眼馋)。
Ref.
[1] Hlinený, P.: Branch-width, parse trees, and monadic second-order logic for matroids. J. Combinatorial Theory Ser. B 96(3), 325–351 (2006)
[2] Geelen, J., Gerards, B., Whittle, G.: Excluding a planar graph from GF(q)-representable matroids. J. Combinatorial Theory Ser. B 97(6), 971–998 (2007)