2021/07/15 by Karl Bringmann, Bringmann, Karl, Nick Fischer +3 · 1 citation
Computer Science · #Algorithms and Data Compression #Data Structures and Algorithms (cs.DS) #FOS: Computer and information sciences #Machine Learning and Algorithms #Network Packet Processing and Optimization #cs.DS
paper · pdf · doi:10.48550/arxiv.2107.07625
23 pages
arxiv created 2021/07/15 · openalex publication_date 2021/07/15 · arxiv updated 2021/07/19 · openalex created_date 2022/07/25 · openalex updated_date 2026/07/28
Computing the convolution A⋆ 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(nlog 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 2O(√(log t⋅loglog 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(tlog2t) 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(tlog t⋅loglog t), matching the running time of the dense case apart from the loglog t factor.