Björklund 的许多工作要么是给一些问题的指数做出了惊人的改进, 要么是给一些神奇的问题给出了多项式复杂度的算法. 当我们统一审视这些问题的时候, 大概能够发现 Björklund 基本上围绕两个思想: 一个是将问题代数化 (其中可能需要设计一些合适的抵消), 另一个是通过合适的方式利用组合侧的随机化, 来进行 "挤水".
Rota 曾言, "每个数学家其实也只有几个 trick, 即使是 Hilbert 也是如此".
Björklund 的许多工作要么是给一些问题的指数做出了惊人的改进, 要么是给一些神奇的问题给出了多项式复杂度的算法. 当我们统一审视这些问题的时候, 大概能够发现 Björklund 基本上围绕两个思想: 一个是将问题代数化 (其中可能需要设计一些合适的抵消), 另一个是通过合适的方式利用组合侧的随机化, 来进行 "挤水".
之前的博客里讲过的一些东西就不复读了.
-d matching
给出 个点, 分成 个大小为 的部分 , 然后给出若干条超边 (hyperedge), 也即一条边 在每个 里有一个端点. 问这个图是否有完美匹配.
显然, 的情况是传统的二分图匹配, 而众所周知 就已经是 NPC 问题了.
我们先看 的情况.
先考虑前两部图, 也即 的部分, 每条边就是真的一条边, 我们需要选出一个完美匹配, 满足每条边对应的 里的点互不相同.
我趣, 这不是我们子集卷积吗. 拍上去, 做完了.
对于一般的 , 显然能做到 .
-set exact cover
给出一些大小为 的集合, 问能否选出一些集合构成精确覆盖.
对于 的情况, 这无非是一般图匹配.
对于 的情况, 我们可以先考虑随机选取一个大小为 的子集. 如果有一个精确覆盖的话, 看每个三角形和这个子集的关系. 交集大小有可能是 .
我们假设交集大小都是 . 那么 的那部分可以直接把集合幂乘起来. 和 部分, 我们记 是那些交集为 的三角形, 是那些交集为 的三角形构成的反对称矩阵. 那么 的行列式会枚举出选这些点和边的完美覆盖, 有一些符号的交替, 但总而言之是多项式时间的.
这个做法一次测试的时间是 的, 因为有这么多大小的集合幂级数信息. 但它也只有指数级别的成功概率 . 我们需要重复试验 才能成功.
经过优化, 可以取到最小值 .
一般而言, 对于更大的 也可以得到对应的挤水结果.
无向图, 经过 个指定点的最短回路
注意, 没有指定 个点的经过顺序, 只要求它们都被经过了.
首先进行一个理智检验: 如果 , 这是哈密顿路, 恐怕只能有指数时间算法. 如果能有一个 算法就很好了.
首先我们先看看如何大概通过 "计数" 知道是否有解.
无向图这个条件相当关键, 我们考虑在计数的过程中, 从 个点的第一个点出发, 过程中经过每个点恰好一次.
如果一条路径有交点, 因为我们考虑的是 无向图, 那么路径的一侧可以翻转, 又得到一条不同的路径.
如果我们是在特征为 的域上计数, 那么这个对合原则上就会消去所有的非简单路径.
当然, 这需要一些更加细致的讨论, 比如为了防止所有路径被调换, 我们要要求 出发的点要比最后回来时候的点小. 记录路径的时候要记上一个点, 以防直接走回去, 这样非简单路径一侧只有一条边的话是不能对合的.
这样的状压 DP 复杂度大约是 .
特征为 的域不能用太小的 , 但用大一些的就可以了.
Comment. 鉴于现在哈密顿路已经做到了 , 把 的底数优化并非不可能.
无向图, 两对点之间的不交最短路径
给定 , 问是否存在两条不交的路径总和最短.
记邻接矩阵为 , 我们给 以外的对角线位置都 , 然后给 位置加一的话, 会枚举两条路径勾连 . 但这不是准确的说法, 因为路径还有可能是 甚至 的.
但神奇的是, 如果另外考虑这么勾连的另外两种矩阵 和 , 可以把它们线性组合, 把错误的方案消掉, 但相应的, 正确的方案被数了两倍.
我们不能再用特征为 的域上 了, 但是 也能做.
以及为此, 为了解决最短, 需要挂在多项式上, 需要 的多项式上的 . 但总之这是 可解的.
Comment. 经过实验, 三个点对的情况好像不能用 per 这么简单地消出来了, 但是也没有显著证明说明三个点对做不了.
三阶张量的渐进秩猜想 和 -集合覆盖猜想 互斥
渐进秩猜想 是说, 对于一个三阶张量 , 有 .
注意这个猜想是非常强的, 比如它会直接推出 .
而 -集合覆盖猜想 是说, 不存在一个 , 使得任何 -集合覆盖都有 算法. 其中 -集合覆盖就是输入的集合都 的集合覆盖问题.
对于常数大小的 , 我们可以补齐所有集合的子集, 这样覆盖就变成了精确覆盖.
现在考虑这样一个问题: 给三个集族 , 每个集族包含的都是一些大小 大小的集合, 问是否能从 里各选出一个集合, 构成 的精确覆盖.
显然用子集卷积可以做到 , 而且这个问题能 的话, 也就能以差不多的复杂度否决 -集合覆盖猜想.
考虑张量 的 , 这个张量计算的恰好就是子集卷积 .
我们考虑把 挖掉三维的全集部分, 记为 , 那么 是一个 的张量. 枚举的是 , 但每三个块都没有被其中任何一个集合独占.
如果 渐进秩猜想 成立, 那么 的计算是可以 完成的.
现在把 先随机排列一下, 然后分成 部分和 部分, 后面的部分三个一组, 用 的高阶张量幂计算. 复杂度是 .
但这样的计算也是有错误率的, 记为 , 我们需要重复试验 次才能成功.
经过计算和挤水, 发现对于 , 可以做到 .
这就说明了 -集合覆盖猜想 和 渐进秩猜想 互斥.
值得一提的是, 容易发现上面那个集合覆盖问题, 也会顺带解决有向图的 Hamilton 路问题, 这可能也是 Björklund 考虑这个东西的一个原因.
Comments 现在对于代数算法已经到了 虐待 的程度. 我们记得, 之前有 Nederlof 的结果说明, 则无向二分图 TSP 可以 计算. 那个做法用到了非常复杂的手段, 最后也要挤水.
回想对于代数算法的早期运用, 只要 往往就能给出惊人的加速. 但现在这一代结论却需要 这种.
你愿意相信这给 的下界提供了一种证据吗?
或者, -集合覆盖猜想 可以看做是 SETH 的一个类比, 那么我们能否用代数算法和 SETH 联系起来, 甚至和 CKT-SETH 联系起来?
更加野心勃勃的计划: 能否将对于代数算法的 虐待 进行 scale down, 得到非平凡的 -电路可满足性 问题的加速, 进而得到下一代线路复杂性下界?
(upd: 然后 Kevin Pratt 最近显著地加强了一点这个结果...)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)