Computing the convolution $A\star B$ of two length-$n$ integer vectors $A,B$ is a core problem in several disciplines. It frequently comes up in algorithms for Knapsack, $k$-SUM, All-Pairs Shortest Paths, and string pattern matching problems. For these applications it typically suffices to compute convolutions of nonnegative vectors. This problem can be classically solved in time $O(n\log n)$ using the Fast Fourier Transform. However, often the involved vectors are sparse and hence one could hope for output-sensitive algorithms to compute nonnegative convolutions. This question was raised by Muthukrishnan and solved by Cole and Hariharan (STOC '02) by a randomized algorithm running in near-linear time in the (unknown) output-size $t$. Chan and Lewenstein (STOC '15) presented a deterministic algorithm with a $2^{O(\sqrt{\log t\cdot\log\log n})}$ overhead in running time and the additional assumption that a small superset of the output is given; this assumption was later removed by Bringmann and Nakos (ICALP '21). In this paper we present the first deterministic near-linear-time algorithm for computing sparse nonnegative convolutions. This immediately gives improved deterministic algorithms for the state-of-the-art of output-sensitive Subset Sum, block-mass pattern matching, $N$-fold Boolean convolution, and others, matching up to log-factors the fastest known randomized algorithms for these problems. Our algorithm is a blend of algebraic and combinatorial ideas and techniques. Additionally, we provide two fast Las Vegas algorithms for computing sparse nonnegative convolutions. In particular, we present a simple $O(t\log^2t)$ time algorithm, which is an accessible alternative to Cole and Hariharan's algorithm. We further refine this new algorithm to run in Las Vegas time $O(t\log t\cdot\log\log t)$, matching the running time of the dense case apart from the $\log\log t$ factor.


翻译:以两个长度- 美元整数矢量计算 Convolution $A\star B$, 以两个长度- 美元整数矢量计算 $A, 美元B$是几个学科的一个核心问题。 它经常出现在Knapsack 的算法、 $k$- SUM、 全帕最短路径和字符串匹配问题。 对于这些应用程序, 它通常足以计算非负数矢量矢量的算法。 这个问题可以使用快速 Fleier 变换的方式, 以时间( O( n\log n) 的方式解决 。 然而, 所涉及的矢量很少, 因而人们可以指望产出敏感度的算法, 来计算非内向内向内向内向内向内向内向内向内, 将内向内向内向内向内向内, 内向内向内向内向内向内向内向内向内, 内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向内向後向後向内向内向内向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後向後

0
下载
关闭预览

相关内容

专知会员服务
17+阅读 · 2020年9月6日
图节点嵌入(Node Embeddings)概述,9页pdf
专知会员服务
39+阅读 · 2020年8月22日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Arxiv
0+阅读 · 2021年9月19日
Arxiv
0+阅读 · 2021年9月17日
Arxiv
0+阅读 · 2021年9月16日
VIP会员
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
【推荐】决策树/随机森林深入解析
机器学习研究会
5+阅读 · 2017年9月21日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
强化学习 cartpole_a3c
CreateAMind
9+阅读 · 2017年7月21日
Top
微信扫码咨询专知VIP会员