ArXiv | 2021

Fast and Simple Modular Subset Sum

 
 
 
 
 
 
 

Abstract


We revisit the Subset Sum problem over the finite cyclic group $\\mathbb{Z}_m$ for some given integer $m$. A series of recent works has provided asymptotically optimal algorithms for this problem under the Strong Exponential Time Hypothesis. Koiliaris and Xu (SODA 17, TALG 19) gave a deterministic algorithm running in time $\\tilde{O}(m^{5/4})$, which was later improved to $O(m \\log^7 m)$ randomized time by Axiotis et al. (SODA 19). In this work, we present two simple algorithms for the Modular Subset Sum problem running in near-linear time in $m$, both efficiently implementing Bellman s iteration over $\\mathbb{Z}_m$. The first one is a randomized algorithm running in time $O(m\\log^2 m)$, that is based solely on rolling hash and an elementary data-structure for prefix sums; to illustrate its simplicity we provide a short and efficient implementation of the algorithm in Python. Our second solution is a deterministic algorithm running in time $O(m\\ \\mathrm{polylog}\\ m)$, that uses dynamic data structures for string manipulation. We further show that the techniques developed in this work can also lead to simple algorithms for the All Pairs Non-Decreasing Paths Problem (APNP) on undirected graphs, matching the asymptotically optimal running time of $\\tilde{O}(n^2)$ provided in the recent work of Duan et al. (ICALP 19).

Volume abs/2008.10577
Pages None
DOI 10.1137/1.9781611976496.6
Language English
Journal ArXiv

Full Text