形式陈述
定义与直接枚举
令底集 为有 个元素的有限集理路有限集Finite set与某个自然数初始段等势、因而能够在有限步内无遗漏编号的集合。,,其中 是环理路环Ring带加法阿贝尔群和相容乘法的代数结构。,不要求乘法交换或存在乘法单位元。子集卷积定义为
每一项把 有序划分为 与互补部分;两部分不重叠且并集恰为 。
单个 需枚举 个 。为全部 计算时,成对数量为
因为每个元素有“不在 、在 、在 ”三种状态。位掩码循环减少常数,不改变 。
按秩 zeta 变换
把函数按子集大小分层:
并定义 ranked zeta transform
对 同样处理。接着在每个固定 上按秩做长度 的普通卷积:
这一步会暂时包含相交的 ,因为只要求 且 。下一步反演先保留并集恰为 的项,再由秩与集合大小相等的条件排除相交;两步承担不同的筛选。
Möbius 反演与取对角
布尔格 上的Möbius 反演理路偏序集 Möbius 反演Möbius inversion on posets在局部有限偏序集的区间和变换中用 Möbius 函数恢复原函数。使用系数 。对每个秩 做反演:
最终答案取“秩与集合大小相等”的对角项
固定一对 ,它在反演后的系数是
这是容斥消去理路容斥算法inclusion-exclusion algorithms · subset transforms把容斥恒等式实现为指数时间精确计数,并以子集 zeta/Möbius 变换复用交集和。:未覆盖 的配对被消掉,覆盖 的配对保留。随后取 ,再用 推出交集为空。证明始终保留乘积 的因子次序,所以非交换环也适用。
例如 ,仅令 ,其余为零。反演后的 ,相交项并未消失;真正输出取 。这清楚地区分了“精确覆盖”与“互不相交”。
直觉
子集卷积要把每个目标集合 切成两块互不相交、并集恰为 的有序划分。直接算法逐个猜第一块 ;快速算法先放宽条件,让 只需同时落在 内,再按大小记录 。这一步故意混入了相交对,随后用 Möbius 反演消掉没有真正覆盖到当前集合的累计贡献,最后只取秩等于 的对角线;“并集为 ”与“大小和为 ”合在一起,才迫使两块不相交。
名称中的“卷积”指把一个对象拆成两部分并汇总乘积,但分解坐标是子集的互补划分。它与按加法合成输入的群卷积理路卷积Convolution · 卷积运算在加法群上把两份测度按加法映射推前,汇总所有可合成为同一输出的输入贡献。采用不同的索引规则,也不同于 XOR、OR、AND convolution。秩层上的长度 卷积是算法的辅助步骤;集合本身仍按不交划分组合。
子集卷积的按秩变换与反演
例子与边界
三元素的状态表
对 ,卷积包含八项: 与 ,三个单元素 ,以及三个双元素 。例如 的贡献是
若 是两类块的权,八项恰枚举所有有序二分的乘积权。要改成无序划分,需先让交换两块保持合法性及权重。对非空 ,互补两块不可能相等,交换没有固定点,即使一块为空也一样;每个无序对象恰对应两个有序对象。整数计数可据此除以二,一般环中则还须保证这项除法有定义。只有 时, 才是固定点,须单独处理。
代数与数值边界
快速 Möbius 反演需要减法,因此标准 算法对 在任意环上成立;普通半环只有加法与乘法,不能无条件执行交替符号消去。min-plus 变体常需有界整数权重编码、距离积或额外多项式因子,不能把环算法的界原样搬过去。
浮点运算只是对实数环运算的近似,本身不满足全部环公理,大量交替求和也可能放大消去误差。模环实现要确保模数符合应用的计数语义。输入数组通常以 位 mask 为下标,若 超过机器字长,一次集合操作不再是单字常数。只求一个目标集合 时,直接枚举其 个子集反而更便宜;快速算法的优势是同时得到全部 的答案。
推论与应用
复杂度账本
对 ,所有 的 zeta 与 Möbius 变换各做 个环操作:共有 个秩层,每层 fast zeta 或 Möbius transform 需要 。每个 上的秩卷积也需 ,计入初始化后,统一时间界为
直接存储全部 值需要 个环元素;滚动或覆盖数组可以降低常数,但在相应秩卷积和反演完成前,不能丢掉仍会被引用的层。
集合划分 DP
在以含幺环取值的子集动态规划理路子集动态规划Subset dynamic programming以所有子集为状态执行精确指数动态规划,并准确计算转移枚举量。中,设 是非空块 的权,并令 。定义 ,其余 ; 表示把 分成 个非空有序块的总乘积权。则
正是一层子集卷积。连续应用可以批量计算不同块数的划分权。若目标是最小总成本,把求和与乘法换成 min 与加法会得到 min-sum 形式,但它不再处于有加法逆元的环中,不能直接声称同一个 Möbius 算法和复杂度。
参考资料
- Andreas Björklund, Thore Husfeldt, Petteri Kaski, Mikko Koivisto, Fourier Meets Möbius: Fast Subset Convolution, STOC, 2007,作者预印本,§2.2–2.4:按秩变换、反演与对角提取;§4.3:划分应用。
- Marek Cygan et al., Parameterized Algorithms, Springer, 2015.