How fast can you test whether a constellation of stars appears in the night sky? This question can be modeled as the computational problem of testing whether a set of points $P$ can be moved into (or close to) another set $Q$ under some prescribed group of transformations. Consider, as a simple representative, the following problem: Given two sets of at most $n$ integers $P,Q\subseteq[N]$, determine whether there is some shift $s$ such that $P$ shifted by $s$ is a subset of $Q$, i.e., $P+s=\{p+s:p\in P\}\subseteq Q$. This problem, to which we refer as the Constellation problem, can be solved in near-linear time $O(n\log n)$ by a Monte Carlo randomized algorithm [Cardoze, Schulman; FOCS'98] and time $O(n\log^2 N)$ by a Las Vegas randomized algorithm [Cole, Hariharan; STOC'02]. Moreover, there is a deterministic algorithm running in time $n\cdot2^{O(\sqrt{\log n\log\log N})}$ [Chan, Lewenstein; STOC'15]. An interesting question left open by these previous works is whether Constellation is in deterministic near-linear time (i.e., with only polylogarithmic overhead). We answer this question positively by giving an $n\cdot(\log N)^{O(1)}$-time deterministic algorithm for the Constellation problem. Our algorithm extends to various more complex Point Pattern Matching problems in higher dimensions, under translations and rigid motions, and possibly with mismatches, and also to a near-linear-time derandomization of the Sparse Wildcard Matching problem on strings. We find it particularly interesting how we obtain our deterministic algorithm. All previous algorithms are based on the same baseline idea, using additive hashing and the Fast Fourier Transform. In contrast, our algorithms are based on new ideas, involving a surprising blend of combinatorial and algebraic techniques. At the heart lies an innovative application of the Baur-Strassen theorem from algebraic complexity theory.
翻译:你能否以多快速度测试一组星座是否出现在夜空中?这一问题可建模为如下计算问题:在给定的变换群作用下,测试点集 $P$ 能否移动到(或接近)另一集合 $Q$。以一个简单的代表性问题为例:给定两个不超过 $n$ 个整数的集合 $P,Q\subseteq[N]$,判断是否存在某个平移量 $s$,使得 $P$ 平移 $s$ 后成为 $Q$ 的子集,即 $P+s=\{p+s:p\in P\}\subseteq Q$。我们称该问题为"星座"问题,其可通过蒙特卡洛随机算法在近线性时间 $O(n\log n)$ 内求解 [Cardoze, Schulman; FOCS'98],或通过拉斯维加斯随机算法在 $O(n\log^2 N)$ 时间内求解 [Cole, Hariharan; STOC'02]。此外,存在一个运行时间为 $n\cdot2^{O(\sqrt{\log n\log\log N})}$ 的确定性算法 [Chan, Lewenstein; STOC'15]。这些先前工作留下的一个有趣开放问题是:星座问题是否存在确定性近线性时间算法(即仅需多对数开销)。我们通过给出一个运行时间为 $n\cdot(\log N)^{O(1)}$ 的确定性算法,对该问题给出了肯定回答。该算法可推广至更高维度下涉及平移、刚体运动以及可能存在不匹配的多种更复杂点模式匹配问题,同时也能实现字符串上稀疏通配符匹配问题的近线性时间去随机化。尤其值得一提的是我们获得确定性算法的方式。所有先前算法均基于相同的基线思路,使用加法哈希和快速傅里叶变换。相比之下,我们的算法基于新思路,融合了组合与代数技术的惊人结合。其核心在于对代数复杂性理论中的鲍尔-斯特拉森定理的创新性应用。