路线: 北京 -- 东京羽田 (转机) -- 芝加哥 ORD -- 法兰克福 (转机) -- 北京, 往返各自大概都有 20h, 折腾死了...
我没有列在下面的报告可能也是很有意思的, 只是有可能我没听懂多少东西所以不好意思写... 如果没有出现非常抱歉! > <
On Pigeonhole Principles and Ramsey in TFNP (TFNP 中的鸽笼原理和 Ramsey 定理)
报告人: 李佳蔚
\(\mathsf{FNP}\) 大概是这么一个复杂度类, 它说的是给定一个串 \(x\), 寻找一个串 \(w\) 使得一个多项式时间图灵机 \(M\) 通过检验 \(M(x, w)\). 而 \(\mathsf{TFNP}\) 里的 T 表示 total
function, 也就是说这个问题中任何 \(x\) 都一定存在一个 \(w\).
这个类的一个用处是提供了研究一些组合原则的平台, 比如鸽笼原理, Nash 均衡等等.
具体来说, 鸽笼原理 \(\mathsf{PPP}\) (Polynomial Pigeonhole Principle) 说的是如下问题 \(\mathrm{Pigeon}\) 关于多项式时间规约定义出的问题类:
- 用多项式大小电路的方式给出一个映射 \(C\colon [N+1] \to [N]\) (也就是说电路的输入是 \(\log N\) 位), 找到 \(i\neq j\) 使得 \(C(i) = C(j)\).
人们研究这个问题的一个动机是反推数学 (reverse mathematics): 哪些数学原则是一个定理的证明中只需/必须用到的?
复杂度理论中的规约这个思想为反推数学提供了一个很好的平台, 比如一个 \(\mathsf{TFNP}\) 的问题如果能规约到 \(\mathsf{PPP}\), 那么这个问题某种意义上相当于 "只需用到" 鸽笼原理.
在 Goldberg 和 Papadimitriou 引入 PPP 这个问题类的时候, 他们还考虑了问题类 \(\mathsf{Ramsey}\), 也是直接由问题 \(\mathrm{Ramsey}\) 定义出来的:
- 用多项式大小电路的方式给出一个图的邻接表 \([4^n]\times [4^n] \to \{0, 1\}\), 找到一个 \(n\) 个点的子图使得这个子图是完全图或者是空图.
由于经典的 Ramsey 定理 \(R(n,n)\leq \binom{2n-2}{n-1}\) 直接能说明这个图是存在的, 所以这个问题在 \(\mathsf{TFNP}\) 中. 而且, 这个经典的证明基本上就是迭代用了 \(2n\) 次鸽笼原理 (去年才被 Campos, Griffiths, Morris 和 Sahasrabudhe 改进到了 \(3.999^n\)), Goldberg 和 Papadimitriou 做出了如下猜测.
猜想. \(\mathsf{Ramsey} \subseteq \mathsf{PPP}\).
而这篇新作的作者证明了这个猜想在黑盒规约的意义上是不成立的. 也就是说, 如果把电路 \(C\) 换成黑盒 \(O\) (oracle), 那么 \(\mathsf{Ramsey}\) 不能多项式时间规约到 \(\mathsf{PPP}\). 注意如果 \(\mathsf{P} = \mathsf{NP}\), 那么这些类全都是等价于多项式时间, 所以现阶段我们不可能指望排除白盒规约. 某种意义上说这已经证明了 "Ramsey 原理不能只通过使用一次鸽笼原理来得到".
另一件事是文中作者还将鸽笼原理的原则进行了细分, 比如 \(t\)-\(\mathsf{PPP}\) 问题类是如下组合原则给出的:
- 把 \((t-1)N+1\) 个鸽子扔到 \(N\) 个笼子里, 总有一个笼子里有至少 \(t\) 个鸽子.
传统的 \(\mathsf{PPP}\) 就是 \(t=2\) 的情况.
一个小巧的观察是 \(t\) 越大问题越难: \((t-1)\)-\(\mathsf{PPP}\subseteq t\)-\(\mathsf{PPP}\). 因为我们我们给定一个 \(t-1\) 问题, 可以规约可以考虑额外把 \(N\) 个鸽子一一塞到 \(N\) 个笼子里, 这样就得到了一个 \(t\) 问题, 问题的解删去至多一个鸽子就是原问题的解.
作者们也证明了在黑盒意义下对任何常数 \(t\), 有 \(t\)-\(\mathsf{PPP}\nsubseteq (t-1)\)-\(\mathsf{PPP}\). 所以这个细分是某种程度上严格的. 这初看还是有点反直觉的: 越多的鸽子反而得到了越强的鸽笼原理!
Tight Analyses of Ordered and Unordered Linear Probing (有序和无序的线性探测法的严格分析)
报告人: William Kuszmal
现在数据结构研究的一个重要话题是空间限制比较严格的情况下的时间分析. 这个文章研究的是线性探测法 (linear probing) 的一种变体的哈希表如果保持有 \(1 - 1/x\) 的负载因子, 那么插入, 删除和查找的时间复杂度是多少. 具体的结果取决于设定的一些细节, 但比较有趣的是文章的技术核心在于如下一个组合问题:
在一个正方形区域里随机撒 \(\mathrm{Poisson}(n^2)\) 个 \(+1\) 和 \(-1\), 现在考虑找一条 \((0, 0)\) 到 \((1, 1)\) 的单调路径, 最大化 路径下方的数的和, 这个值称为路径盈余 (path surplus).
看起来大部分单独的路径, 这个值的标准差都是 \(\Theta(n)\) 的, 但是总共有很多条路径, 所以不太好看出来这个值的期望是多少.
定理 (Braverman-Kuszmal). 路径盈余值的期望是 \(\Theta(n \log^{3/4} n)\) 的.
感觉出现 \(\log^{3/4}n\) 这个项还是相当有趣的.
注: 我另外喜欢这个报告的一个原因是, 作者也欣赏高德纳 (Donald Knuth) 的算无遗策: "Knuth is amazing, he's not just correct, he even determined the hidden constant behind \(\Theta(x^2)\)."
Canonical forms for matrix tuples in polynomial time (多项式时间计算矩阵组的标准型)
报告人: Xiaorui Sun
对于两个矩阵 \(M, N\) 是否存在可逆矩阵 \(A, B\) 使得 \(AM = NB\)? 是否存在可逆矩阵 \(A\) 使得 \(AM = NA\) (当 \(M, N\) 是方阵)?
这两个问题的答案分别是, 看 \(M, N\) 的秩是否相等, 以及 \(M, N\) 是否具有相同的 Jordan 标准型.
对于上面两个问题, 线性代数已经让我们对它完全理解清楚了, 甚至允许我们求出这个同构问题的标准型: 每个同构类有一个算法从选取一个典范元素.
对于三阶张量的同构研究 (i.e., 矩阵空间的同构) 以及群同构的研究引导作者们考虑该问题的矩阵组版本: 给定一个矩阵组 \((M_1, \ldots, M_k)\), 能够计算
- \(A, B\) 可逆, \((AM_i B)\)
- \(A\) 可逆, \((AM_i A^{-1})\)
这两种同构意义下的一个矩阵组的标准型?
定理 (Qiao-Sun). 给定一个 有限域 上的矩阵组 \((M_1, \ldots, M_k)\), 存在一个多项式时间算法计算出这两种标准型.
这个算法的大概想法是这样的, 令 \(t\) 从小到大, 不断求出 \((M_i)_{i\leq t}\) 的标准型, 在这个过程中不断对 \(A, B\) 加上限制 (从这里也可以看出, 求第二种情况的标准型只需要一开始加个 \(I\) 就可以规约到第一种情况). 根据矩阵的秩的启发, 我们首先将矩阵组对其到
的情况.
但是往后就肯定没有对角阵这么简单了, 比如 Jordan 标准型不是对角线的矩阵我们就知道一定是不能的. 所以后面的矩阵会长得像上三角分块矩阵
有可能不同的分块组之间一个行变换可以用列变换消过去, 所以没有那么简单 (想一想 Jordan 块的情况!)
最后一个讲座里提到的有趣的事情是, 这个消元的限制可能出现一个神奇的对称性, 这个对称性刚好构成了计算的基域有限域 \(\mathbb F_q\) 的一个扩域. 这个可能性依然可以从 Jordan 标准型看出来, 因为我们讨论 Jordan 标准型的时候一般是假设代数闭的, 根不一定在原来的域里.
我觉得这个问题非常自然, 但是不知道为什么代数学家没有怎么研究过. 不过这个文章的全文竟然有 96 页这么长, 可能是结构的复杂性导致了之前没人关心吧...
Optimal quantile estimation: beyond the comparison model (最优分位数统计: 超越比较模型)
报告人: Mihir Singhal
这是一个流算法 (streaming algorithm) 问题. 你只有很少的内存, 会依次读到数 \(x\), 要么是把一个多重集内加入 \(x\) 这个数, 要么是查询当前的 \(x\) 的 rank, 允许答案有 \(\epsilon n\) 的误差 (\(n\) 是当前集合大小). 这个问题有一些确实的工业界的用途, 而且他们想要的是这个流算法用比较少的空间就完成 (听起来很合理).
一个比较经典的算法是 2001 年的 GK sketch (Greenwald-Khanna), 做到了存 \(O(\epsilon^{-1} \log n)\) 个数. 这个算法存的数只用到了它们之间的大小关系, 而且可以证明在比较模型下是最优的. 类似的有输入的是值域 \(U = n^{O(1)}\) 情况下的 \(O(\epsilon^{-1} \log U)\) 的 \(q\)-digest sketch 算法.
这篇新作的结果是把整数情况做到了最优.
定理 (Gupta-Singhal-武). 存 \(O(\epsilon^{-1})\) 个数足矣.
之所以说是最优是因为王一川 已经证明了 这一点.
定理 (王). 任何算法都需要存 \(\Omega(\epsilon^{-1} (\log (\epsilon U) + \log (\epsilon n)))\) 个比特.
这个算法仍然是基于 \(q\)-digest 的想法. (我们接下来只叙述没有动态插入的版本, 也就是 \(n\) 不需要变化) 最初的 \(q\)-digest 长这样: 先考虑一个值域为 \(U\) 的线段树, 有个阈值 \(\alpha = \epsilon n / \log U\), 每个节点存一个计数器, 叶子节点以外的节点都必须保证计数器不超过 \(\alpha\).
在插入一个树的时候, 沿着线段树往下走, 直到找到一个节点的计数器小于 \(\alpha\), 给这个节点加一, 结束. 在查询的时候, 根节点到叶子的路径上的数不知道是不是真的小于 \(x\) 所以不关, 然后对所有确定小于 \(x\) 的子树的计数器求和.
为啥这个是 \(\epsilon\) 近似? 因为根节点到叶子就 \(\log U\) 个点, 统计错误的数只有 \(\alpha \log U \leq \epsilon n\) 个.
为什么空间对的? 因为只用存非空的叶子, 这只有 \(n / \alpha = \epsilon^{-1} \log U\) 个而且存树的结构代价更小.
那么新作的第一个观察是这样的. 上面这颗 \(q\)-digest 树大部分的信息用来存的是叶子上的值, 而知道叶子的精确值
- 不太重要, 也可以考虑只用一个 quantile sketch 来做.
- 叶子的数量是 \(\epsilon^{-1}\log U\) 远小于 \(U\) 的!
如果递归地维护一个所有叶子的 quantile sketch, 这个空间复杂度就变成了存树的拓扑结构 (\(O(\epsilon^{-1} \log U)\) 个 bit 而不是 word), 以及 \(U' = \epsilon^{-1} \log U\) 的 quantile sketch. 套一下就变成了
这已经比之前所有工作好了. 不停这么递归下去可能会有个含有 \(\log^*\) 的项, 文章剩下的一些工作就是把这个去掉.
Random Gabidulin Codes Achieve List Decoding Capacity in the Rank Metric (随机 Gabidulin 码在秩度量中实现了列表译码容量)
报告人: 张子涵
编码理论的一个核心问题是如何造出好的可以做列表译码 (list decoding) 的编码.
以 Reed-Solomon 编码为例, 一个 \(\mathbb F_q\) 上的 \(m-1\) 次多项式求 \(n\) 个点值 (\(n\geq m\)), 这是一个 \(\mathbb F^{m} \to \mathbb F^n\) 的编码, 这个编码的距离是 \(n-m+1\), 达到了最优 (MDS code), 也就是说任何错误不超过 \((n-m+1)/2\) 的错误都可以被纠正. 一般来说我们把这个 \(R=m/n\) 叫做码率 (code rate), 也就是说 \(\rho \leq (1-R)/2\) 的时候, \(\rho n\) 个错误可以完美纠错. 如果 \(\rho > (1-R)/2\) 呢? 有可能有多个解, 这就称为列表译码 (list decoding).
可以 (用概率方法) 证明的是, 有一些编码, 对于 \(\rho = 1 - R - \epsilon\), 在 \(\rho n\) 距离内只有 \(O(1/\epsilon)\) 个解. 这是大家想要达到的列表译码容量 (list decoding capacity). 但是 Reed-Solomon 编码能不能做到呢? 大家已经知道某些确定的取值点的选取是不能做到的, 于是又研究了所谓的折叠 (folded) Reed-Solomon 编码可以部分做到, 然后最近 陈业元和张子涵 终于说明了这个问题的答案是肯定的.
2023 年, 人们终于部分回答了 Reed-Solomon 码的列表译码容量问题, Brakensiek, Gopi 和 Makam 证明了, 随机选点的 Reed-Solomon 编码有大概率能够达到列表译码容量. 所以下一个问题就是能否找到确定性的构造了.
而 Gabidulin 码关心的是一个略有不同的问题. 在传统的编码理论里, 两个码的距离是 Hamming 距离, 也就是说两个码字之间不同的位数. 但是在秩度量 (rank metric) 里, 两个码 \(w_1, w_2 \in \mathbb F_{q^r}^n\) 的距离是把 \(w_1 - w_2\) 看做一个 \(\mathbb F_{q}^{n\times r}\) 的矩阵, 然后算它的秩, 这被称为秩度量 (rank metric). Gabidulin 码 Reed-Solomon 码的秩度量版本, 它考虑的是多项式
在多个点求值得到的编码, 可以证明 Gabidulin 码在秩度量下也达到了最优的距离. Guo, Xing, Yuan 和 Zhang 的结果就是, 随机选取的 Gabidulin 码在秩度量下也能达到列表译码容量.
让我感兴趣的是证明过程中的一个技术性内容. 对于 Reed-Solomon 码而言, 他们通过证明了 "广义 Hall 定理" 进而得到的一个公式:
定理 (Brakensiek-Gopi-Makam). 考虑一个 \(k\times n\) 的矩阵 \(W\), 第 \((i, j)\) 个元素是形式变元 \(x_{ij}\).
令 \(W_{A}\) 表示从列的子集 \(A\subset [n]\) 中取出这些列生成的向量空间, 那么\[\dim(W_{A_1} \cap \cdots \cap W_{A_\ell}) = \max_{P_1\sqcup \cdots \sqcup P_s = [\ell]} \left( \sum_{i\in [s]} \left|\bigcap_{j\in P_i} A_j\right| - (s-1) k\right). \]
而新作的技术性内容是, 他们证明了原本的公式的某种推广:
定理 (Guo-Xing-Yuan-Zhang). 考虑 \(\mathbb F\) 是 \(\mathbb F_q\) 的扩域, 一个 \(k\times n\) 的矩阵 \(W\), 第 \((i, j)\) 个元素是形式变元 \(x_{ij}\).
对于 \(\mathbb F_q^n\) 的子空间 \(V_1,\dots,V_\ell\),\[\dim_{\mathbb F}\left( \bigcap_i W \cdot {V_i}\right) = \max_{P_1\sqcup \cdots \sqcup P_s = [\ell]} \left( \sum_{i\in [s]} \dim_{\mathbb F_q} \left(\bigcap_{j\in P_i} V_j\right) - (s-1) k\right). \]
Power Series Composition in Near-Linear Time (近线性时间的幂级数复合)
报告人: noshi91 (木ノ下恭範 / Yasunori Kinoshita)
嗯哼, 不解释.