基于线性绘制的快速模子集和算法
Fast Modular Subset Sum using Linear Sketching
摘要:
给定n个正整数,模子集和问题询问是否子集加起来等于给定目标t模给定整数m。这是子集和问题(其中m=+ \infty)的自然推广,与加法组合学和密码学有关。最近,在[Bringmann,SODA'17]和[Koiliaris和Xu,SODA'17]中,已经开发了非模块化情况下的有效算法,在近线性伪多项式时间中运行。然而,对于模的情况,Koiliaris和Xu [Koiliaris and Xu,SODA'17]提出的最著名的算法的时间复杂度为O~(m^{5/4})。本文提出了一个时间复杂度为O~(m)的算法,该算法符合[Abboud et al. [17]强指数时间假设。有趣的是,与以前大多数关于子集和的结果相反,我们的算法不使用快速傅立叶变换。相反,它能够更快地模拟“教科书”动态规划算法,使用来自线性草图的想法。这是基于草图的技术在离线环境中获得组合问题的快速算法的第一个应用程序之一。
英文摘要:
Given n positive integers, the Modular Subset Sum problem asks if a subset adds up to a given target t modulo a given integer m. This is a natural generalization of the Subset Sum problem (where m=+\infty) with ties to additive combinatorics and cryptography. Recently, in [Bringmann, SODA'17] and [Koiliaris and Xu, SODA'17], efficient algorithms have been developed for the non-modular case, running in near-linear pseudo-polynomial time. For the modular case, however, the best known algorithm by Koiliaris and Xu [Koiliaris and Xu, SODA'17] runs in time O~(m^{5/4}). In this paper, we present an algorithm running in time O~(m), which matches a recent conditional lower bound of [Abboud et al.'17] based on the Strong Exponential Time Hypothesis. Interestingly, in contrast to most previous results on Subset Sum, our algorithm does not use the Fast Fourier Transform. Instead, it is able to simulate the "textbook" Dynamic Programming algorithm much faster, using ideas from linear sketching. This is one of the first applications of sketching-based techniques to obtain fast algorithms for combinatorial problems in an offline setting.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。