A Faster Pseudopolynomial Time Algorithm for Subset Sum
给定一个正整数集合$n$和一个目标整数$t$,子集和问题是判断是否存在一个和为$t$的$S$子集.我们提出了一个新的分治算法,计算所有可实现的子集和$\widetilde{O}\!\left(\min\{\sqrt{n}u,u^{4/3},σ\}\right)$中的整数$u$,其中$σ$是$S$中所有元素的总和和$\widetilde{O}$隐藏多对数因子。该结果改进了在$O(nu)$时间内运行的标准动态规划算法。据我们所知,新算法是最快的一般算法为这个问题。我们还提出了一个改进的算法,它计算所有的可实现的子集和内的循环群在$\widetilde{O}\!\left(\min\{\sqrt{n}m,m^{5/4}\}\right)$时间,其中$m$是组的顺序。
2016-12-12 cs.DS
Equal-Subset-Sum Faster Than the Meet-in-the-Middle
在等子集和问题中,我们给出了一个由$n$个整数组成的集合$S$,问题是判断是否存在两个不相交的非空集$A,B \subseteq S$,其元素和为相同的值. 这是一个NP-完备问题.最先进的算法在$O^{*}(3^{n/2}) \le O^{*}(1.7321^n)$时间内运行,并基于中间相遇技术。本文对该算法进行了改进,给出了$O^{*}(1.7088^n)$最坏情况蒙特卡罗算法。这就回答了沃根格的启发性调查中的一个公开问题。此外,我们还分析了多项式空间的等子集和算法。$O^{*}(3^n)$时间上等子集和运算朴素多项式空间算法通过对指数随机位的只读访问,我们展示了一个在$O^{*}(2.6817^n)$时间和多项式空间中运行的随机算法。
2019-07-03 cs.DS
Polynomial-time Method of Determining Subset Sum Solutions
将给定集合满足子集和命题的条件简化为一组线性关系,通过构造、求解和约束一系列维数和个数均为关于集合长度的多项式的线性系统,可以用多项式的步骤来回答集合是否满足子集和命题的问题。该算法具有100%的正确率和可论证的合理性,为重新考虑基于SSP和NP难依赖密码体制的有效性提供了依据。
2017-05-13 cs.DS
A Simple Near-Linear Pseudopolynomial Time Randomized Algorithm for Subset Sum
给定一个$n$正整数的多集$S$和一个目标整数$t$,子集求和问题要求确定是否存在$S$的一个子集,该子集求和为$t$。Koiliaris和Xu [SODA'17]提出的当前最佳确定性算法在$\tilde O(\sqrt{n}t)$时间内运行,其中$\tilde O$隐藏了多对数因子。Bringmann [SODA'17]后来使用两阶段颜色编码给出了随机$\tilde O(n + t)$时间算法。认为$\tilde O(n+t)$运行时间接近最佳。本文提出了一种简单而优雅的$\tilde O(n + t)$时间上的子集和的随机算法。我们的新算法实际上解决了它的计数版本模素数$p>t$,通过使用FFT操作生成函数。
2018-11-26 cs.DS
Long Arithmetic Progressions in Sumsets and Subset Sums: Constructive Proofs and Efficient Witnesses
针对加性组合学中有限加法定理的非构造性影响子集和算法搜索版本的问题,本文提供了构造性证明并提出了近线性时间算法,显式返回等差数列及其元素和表示,进而高效解决了密集子集和及无界子集和的搜索版本。
2025-04-07 cs.DS
Selective algorithm processing of subset sum distributions
针对精确子集和问题算法的效率优化需求,研究提出将和映射到kn个箱并为各箱选最优算法的系统,结合模运算与动态划分处理低效场景,k=2时达O(max(T,n²))时间与O(max(T,n))空间复杂度。
2024-09-17 cs.DS
New Algorithms for Subset Sum Problem
给定一个n个数的集合(或多集合)S和一个目标数t,子集和问题是判断是否存在S的子集和为t。有几种方法可以解决这个问题,包括穷举搜索,分治法,和贝尔曼的动态规划方法。但是,它们都不能生成通用的、轻量级的代码。在本文中,我们提出了一个新的确定性算法的基础上一种新的数据安排,它可以产生这样的代码,并返回所有的解决方案。如果n足够小,它对于通常的目的是有效的。我们还提出了一个概率版本的单侧误差和贪心算法,它可以产生一个最小化的方差的解决方案。
2018-07-13 cs.DS
Scheduling Lower Bounds via AND Subset Sum
给定子集和的$N$实例$(X_1,t_1),\ldots,(X_N,t_N)$,AND子集和问题要求确定是否所有这些实例都是yes实例;也就是说,是否每个整数集合$X_i$都有一个子集,总和为目标整数$t_i$。我们证明了这个问题不能解决的时间$\tilde{O}((N \cdot t_{max})^{1-ε})$,为$t_{max}=\max_i t_i$和任何$ε> 0$,假设$\forall \exists$强指数时间假设($\forall \exists$ -SETH)。然后,我们使用这个结果,以排除$\tilde{O}(n+P_{max} \cdot n^{1-ε})$ -时间算法的几个调度问题的$n$作业的最大处理时间$P_{max}$,基于$\forall \exists$ -SETH。这些问题包括经典的问题,如$1||\sum w_jU_j$,问题的总重量最小化的延误工作在一台机器上,和$P_2||\sum U_j$,问题的延误工作的数量最小化的两个相同的并行机。
2020-04-27 cs.DS
An Improved Pseudopolynomial Time Algorithm for Subset Sum
College of Computer Science and Technology, Zhejiang University(浙江大学计算机科学与技术学院)
本文提出一个改进的伪多项式时间算法,解决子集和问题,时间复杂度为~O(n + √(wt)),改进了之前的结果。
2026-04-28 cs.DS
A Fine-Grained Perspective on Approximating Subset Sum and Partition
子集和的近似问题是计算机科学和数学优化中的一个经典和基本问题。用于子集和的现有技术的近似方案计算时间上的$(1-\varepsilon)$ -近似$\tilde{O}(\min\{n/\varepsilon, n+1/\varepsilon^2\})$ [Gens,Levner'78,Kellerer et al. '97]。特别地,可以在时间$O(n^2)$中计算$(1-1/n)$近似。我们建立了一个连接到最小加卷积,一个问题,是特别感兴趣的细粒度复杂性理论,可以解决天真的时间$O(n^2)$。我们的主要结果是计算子集和的$(1-1/n)$ -近似是次二次等价于Min-Plus-Convolution。因此,假设来自细粒度复杂性理论的Min-Plus-Convolution猜想,不存在对$n$和$1/\varepsilon$具有强次二次依赖的子集和的近似方案。在另一个方向上,我们的减少允许我们转移已知的低阶改进从Min-Plus-Convolution到Subset Sum,这产生了一个温和的次二次随机近似方案。这将第一近似问题添加到与Min-Plus-Convolution等效的问题列表中。对于相关的划分问题,子集和的一个重要的特殊情况,现有技术是在时间上运行的随机近似方案$\tilde{O}(n+1/\varepsilon^{5/3})$ [Mucha~et~al. '19]…
2020-10-26 cs.DS
Efficient reductions and algorithms for variants of Subset Sum
给定$(a_1, \dots, a_n, t) \in \mathbb{Z}_{\geq 0}^{n + 1}$,子集和问题($\mathsf{SSUM}$)是判断是否存在$S \subseteq [n]$使得$\sum_{i \in S} a_i = t$ . $\mathsf{SSUM}$有一个相近的变体,称为$\mathsf{Subset~Product}$。给定正整数$a_1, ..., a_n$和目标整数$t$,$\mathsf{Subset~Product}$问题要求确定是否存在子集$S \subseteq [n]$使得$\prod_{i \in S} a_i=t$。Bellman(1957)提出了一种伪多项式时间动态规划算法,该算法在$O(nt)$时间和$O(t)$空间中求解$\mathsf{SSUM}$和$\mathsf{Subset~Product}$。在第一部分中,我们提出了{ \em搜索}算法的子集和问题的变种。我们的算法由$k$参数化,$k$是给定的可实现集合数的上界(即,~解决方案的数量,精确求和$t$)。我们表明,$\mathsf{SSUM}$与一个独特的解决方案已经是NP难的,随机减少。这使得$k$中的参数化算法非常有趣。随后,我们提出了一个$\tilde{O}(k\cdot (n+t))$时间确定性算法,它发现了一个子集和实例的所有可实现集的汉明重量…
2022-06-01 cs.DS
An Almost Quadratic Vertex Kernel for Subset Feedback Arc Set in Tournaments
针对竞赛图中带终端子集的 Subset-FAST 问题,论文利用近似比 α 的近似算法构造 O((αk)^2) 顶点核,并由已知对数近似得到首个近似二次多项式核。
2025-03-13 cs.DS
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]强指数时间假设。有趣的是,与以前大多数关于子集和的结果相反,我们的算法不使用快速傅立叶变换。相反,它能够更快地模拟“教科书”动态规划算法,使用来自线性草图的想法。这是基于草图的技术在离线环境中获得组合问题的快速算法的第一个应用程序之一。
2018-07-12 cs.DS
Subset Sum in Almost-Linear Time
UC Berkeley(加州大学伯克利分校);Stanford University(斯坦福大学)
该研究提出一种确定性算法,将子集和问题的时间复杂度改进为O(n+Δ^(1+o(1))),基于子集和逆定理与多面体近似的商变体,在SETH假设下实现了对Δ的几乎紧依赖。
2026-10-16 cs.DS
Subset Sum in Time $2^{n/2} / poly(n)$
精确指数算法领域的一个主要目标是给出(最坏情况下)$n$ -输入子集和问题的算法,该算法对于某个常数$c>0$在时间上运行$2^{(1/2 - c)n}$。本文给出了在标准字RAM或电路RAM模型中,对于常数$γ> 0.5023$,具有最坏情况运行时间$O(2^{n/2} \cdot n^{-γ})$的子集和算法。据我们所知,这是对Horowitz和Sahni提出的最坏情况子集和的经典“中间相遇”算法的第一次改进,该算法可以在这些内存模型中及时实现$O(2^{n/2})$。我们的算法结合了许多不同的技术,包括Howgrave-Graham和Joux引入的“表示法”,以及Austrin、Kaski、Koivisto和Nederlof以及Nederlof和Wegrzycki对该方法的后续修改,以及Baran、Demaine和Patrascu在3SUM的次二次算法上使用的“位打包”技术。
2023-01-29 cs.DS
FLSSS: A Novel Algorithmic Framework for Combinatorial Optimization Problems in the Subset Sum Family
本文详细介绍了FLSSS中的算法,FLSSS是一个用于解决各种子集和问题的R软件包。基本算法通过组合空间压缩来解决问题,这些压缩适应于约束、松弛和变化,这些约束、松弛和变化通常对实践中的数据分析至关重要。相反,这种适应性使压缩算法能够耗尽排序超集可能带来的每一位信息,以实现快速收敛。多维扩展遵循一个新的问题分解,是友好的多线程。支持这些算法的数据结构具有微不足道的空间复杂度。该框架提供了多维背包问题和广义指派问题的精确算法。
2018-11-23 cs.DS
Bipartite Synthesis Method applied to the Subset Sum Problem demonstrates capability as decision and optimization tool
本文介绍了一种基于二部合成法的子集和问题的确定性算法。该算法被描述和证明具有最坏情况下的限制性能超过类似的最好的确定性算法实现运行时间复杂度的顺序为O(2^0.5n)。该算法代表了一种更广泛的能力,可能比现有的确定性或概率性方法具有显着的优势,并且可以与现有方法混合。所介绍的方法可以应用于各种决策和优化问题。
2015-02-06 cs.DS
An $O\big((5/3)^n\mathrm{poly}(n)\big)$ One-Sided Monte Carlo Algorithm for Equal Subset Sum
Institute for Interdisciplinary Information Sciences, Tsinghua University(清华大学交叉信息研究院)
本文提出一种等子集和的单侧蒙特卡洛算法,可在指定时间内运行,从不输出非解,存在解时以高概率输出解
2026-09-07 cs.DS
A Near-Linear Pseudopolynomial Time Algorithm for Subset Sum
给定一个$n$正整数的集合$Z$和一个目标值$t$,子集求和问题询问是否有任何$Z$的子集和$t$。Bellman在1957年提出的一个教科书伪多项式时间算法在时间$O(nt)$中求解子集和。这已经由Pisinger [J. Algorithms'99]改进为$O(n \max Z)$,最近由Koiliaris和Xu [SODA'17]改进为$\tilde O(\sqrt{n} t)$。在这里,我们提出了一个简单的随机算法运行的时间$\tilde O(n+t)$。这改进了经典算法,并且可能接近最优,因为它匹配Set Cover和k-Clique的条件下界。然后,我们使用我们的新算法和额外的技巧,以提高最知名的多项式空间解决方案从时间$\tilde O(n^3 t)$和空间$\tilde O(n^2)$时间$\tilde O(nt)$和空间$\tilde O(n \log t)$,假设扩展黎曼假设。无条件地,我们得到了时间$\tilde O(n t^{1+\varepsilon})$和空间$\tilde O(n t^\varepsilon)$的任何常数$\varepsilon > 0$。
2017-01-08 cs.DS
Dynamic Subset Sum with Truly Sublinear Processing Time
子集和问题是理论计算机科学中一个非常古老的基本问题。在这个问题中,$n$项目的权重$w_1, w_2, w_3, \ldots, w_n$作为输入,目标是找出是否有一个子集,他们的权重总和为一个给定的值$t$。该问题一般是NP难的,但当值为非负整数时,子集和可在伪多项式时间$~\widetilde O(n+t)$内求解。在这项工作中,我们考虑的动态变化的子集和。在该设置中,预先向算法提供上限$\tmax$,并且在每个操作中,或者向问题添加新项,或者对于给定的整数值$t \leq \tmax$,要求算法输出是否存在权重之和等于$t$的项的子集。不幸的是,没有一个现有的子集和算法能够处理这些操作在真正的次线性时间\footnote{Truly sublinear means $n^{1-Ω(1)}$.}方面的$\tmax$。我们的主要贡献是一个算法的摊销处理时间\footnote{Since the runtimes are amortized, we do not use separate terms update time and query time for different operations and use processing time for all types of operations.}为每个操作是真正的次线性$\tmax$时,操作的数量至少是$\tmax^{2…
2022-09-11 cs.DS
Faster Deterministic Modular Subset Sum
考虑模子集和问题:给定一个由$\mathbb{Z}_m$和一个目标整数$t$组成的集合$X$,判断是否存在一个$X$的子集,其和等于$t \pmod{m}$ .红衣主教和Iacono(SOSA'21),Axiotis等人(SOSA'21)最近的独立工作提供了简单的和近线性的算法,这个问题。Cardinal和Iacono给出了在$O(m \log m)$时间内运行的随机算法,而Axiotis等人给出了在$O(m \text{ polylog } m)$时间内运行的确定性算法。这两个结果的工作减少到一个文本的问题,这是解决使用动态字符串数据结构。在这项工作中,我们开发了一个简单的数据结构,专门设计用于处理模块子集和算法中出现的文本问题。我们的数据结构,我们称之为移位树,是段树的一个简单变体。我们提供了一个基于散列和确定性的移位树的变体。然后将我们的数据结构应用于模子集和问题,得到了两个算法。第一种算法是蒙特卡罗随机化的,并且与Cardinal和Iacono的Las-Vegas算法的$O(m \log m)$运行时相匹配。第二种算法是完全确定性的,并且在$O(m \log m \cdot α(m))$时间内运行,其中$α$是逆阿克曼函数。
2021-07-03 cs.DS
Subset Sum Made Simple
子集求和是一个经典的优化问题,作为NP难问题的一个例子教授给大学生,这是服从动态规划,产生多项式运行时间,如果输入数相对较小。形式上,给定$n$正整数的集合$S$和目标整数$t$,子集和问题是判定是否存在$S$的子集,其总和为$t$。动态规划产生一个具有运行时间$O(nt)$的算法。最近,作者[SODA '17]将运行时间改进为$\tilde{O}\bigl(\sqrt{n}t\bigr)$,并通过Bringmann [SODA '17]的一种稍微涉及的随机算法将其进一步改进为$\tilde{O}\bigl(n+t\bigr)$,其中$\tilde{O}$隐藏了多对数因子。在这里,我们提出了一个新的和显着更简单的算法与运行时间$\tilde{O}\bigl(\sqrt{n}t\bigr)$。虽然不是最快的,但我们相信新算法和分析足够简单,可以在算法类中提出,作为分治算法的一个引人注目的例子,该算法使用FFT来解决一个似乎(起初)无关的问题。特别是,算法及其分析可以在两页中详细描述(见第3-5页)。
2018-07-22 cs.DS
Inverse Quadratic Decay in Random Subset Sum
Dept. of Electrical and Computer Engineering, Portland State University(俄勒冈州立大学电气与计算机工程系)
本文提出了一种算法,在概率1-δ下构造与Da Cunha等人(2023)相同的O(B/w)网格,同时在整个过程中修剪到w个元素,并在O(w log w)时间内运行。该算法使用网格进行新颖的束搜索启发式方法,在线性ithmic时间内运行,基于列表大小n和束宽w,具有预期误差O(B/nw²)的性能,展示了网格在实现误差衰减方面的实际有效性。
2026-05-20 cs.DS
Modular Subset Sum, Dynamic Strings, and Zero-Sum Sets
本文提出了高概率O(m log m)时间的模子集和算法,利用动态字符串结构并提出更简单的Data Dependent Tree替代方案,同时给出了寻找Erdős-Ginzburg-Ziv定理零和子集的高概率O(n log n)时间算法。
2023-10-26 cs.DS
Approximating Subset Sum Ratio via Partition Computations
我们提出了一个新的FPTAS的子集和比问题,其中,给定一组整数,要求两个不相交的子集,使它们的总和之比尽可能接近$1$。我们的方案利用精确和近似算法来解决密切相关的分区问题,因此,在这些方面的任何进展-例如Bringmann和Nakos [SODA 2021]最近的改进-都将延续到我们的FPTAS。根据输入集$n$的大小与误差容限$\varepsilon$之间的关系,我们改进了Melissinos和Pagourtzis [COCOON 2018]的复杂度为$O(n^4 / \varepsilon)$的当前最佳算法。特别地,在我们提出的方案中的$n$的指数可以降低到$2$,这取决于所使用的分区算法。此外,虽然以$O((n + 1 / \varepsilon)^c)$形式表示的上述现有技术的复杂性具有恒定的$c = 5$,但我们的结果确定$c < 5$。
2022-12-07 cs.DS
Faster Exact Algorithms for Equal-Subset-Sum
The University of Tokyo(东京大学)
研究等和子集问题的精确算法,通过改进算法提升时间和空间效率,改进多项式空间运行时间,并研究时空权衡,在多方面取得更好结果。
2026-07-13 cs.DS
Sumsets, 3SUM, Subset Sum: Now for Real!
本文提出融合 Prony 方法、互质因式分解与组合技巧的实数和集算法,在 real RAM 模型下复现整数情形中和集、几何模式匹配、3SUM 预处理及子集和的标志性运行时间。
2024-10-29 cs.DS
Fast Monotone Summation over Disjoint Sets
我们研究的问题,计算多个总和的总和在每个总和的被加数的索引由子集的大小$p$的$n$元素地面集的合奏。更准确地说,任务是为基集的大小为$q$的每个子集计算与大小为$q$的子集不相交的大小为$p$的所有子集的值之和。我们提出了一个算术电路,没有减法,解决了这个问题,使用$O((n^p+n^q)\log n)$算术门,所有单调;对于恒定的$p$,$q$这是在最佳的因素$\log n$。电路设计是基于查看的总和作为一个“设置成核”的任务,并使用树投影的方法来实现成核。应用包括改进的算法,用于计算加权图中最重的$k$ -路径,计算矩形矩阵的持久性,以及机器学习中的动态特征选择。
2012-08-02 cs.DS
Knapsack and Subset Sum with Small Items
背包问题与子集和问题是组合优化中的基本NP-难问题。最近有越来越多的兴趣了解这些问题的最佳可能的伪多项式运行时间相对于各种参数。在本文中,我们专注于最大项目大小$s$和最大项目价值$v$。我们给出的算法,在时间$O(n + s^3)$和$O(n + v^3)$的背包问题,并在时间$\tilde{O}(n + s^{5/3})$的子集和问题。我们的算法适用于具有多重性的更一般的问题变体,其中每个输入项都具有(二进制编码的)多重性,这简洁地描述了该项在实例中出现的次数。在这些变体中,$n$表示不同项目的数量(可能小得多)。我们的结果来自于组合和优化几种不同的研究路线,特别是Eisenbrand和Weismantel(TALG 2019)的整数规划的邻近参数,Kellerer和Pferschy的快速结构化$(\min,+)$ -卷积(J. Comb. Optim. 2004),以及源自Galil和Margalit(SICOMP 1991)的加性组合方法。
2021-05-09 cs.DS
Parameterized Algorithms on Integer Sets with Small Doubling: Integer Programming, Subset Sum and k-SUM
本文以倍增常数为参数,研究了整数集上 Integer Programming 和 Subset Sum 等问题的参数化复杂度,提出了高效的判定与求解算法,并证明了相关下界及 Freiman's Theorem 的高效构造化。
2024-07-25 cs.DS
Approximate Min-Sum Subset Convolution
本文首次研究$(1+\varepsilon)$近似的最小和子集卷积,提出弱多项式和强多项式两种近似算法,为最小代价$k$-着色、带奖励Steiner树等NP难问题提供指数时间近似方案,复兴了热带子集卷积研究。
2024-08-09 cs.DS
A short note on Merlin-Arthur protocols for subset sum
在子集和问题中,我们给定n个正整数和一个目标整数t。一个解就是这些整数之和为t的子集。在这个简短的说明中,我们表明,对于一个给定的子集和实例,有一个证明的大小$O^*(\sqrt{t})$的解决方案的数量是什么,可以在$O^*(t)$时间构造,并可以在时间概率验证$O^*(\sqrt{t})$与最恒定的错误概率。这里,$O^*()$表示法省略了输入大小$n\log(t)$中的多项式因子。
2016-02-04 cs.CC cs.DS
Analysis of Nederlof's algorithm for subset sum
我们证明了Nederlof的算法[信息处理快报,118(2017),15-16]用于构造一个证明子集的数量和一个特定的整数等于一个声称的数量是有缺陷的,因为:1)它的一致性没有保持; 2)提出的递归公式是不正确的。
2018-07-06 cs.CC cs.DS
On Near-Linear-Time Algorithms for Dense Subset Sum
在子集求和问题中,我们给出一组$n$正整数$X$和一个目标$t$,并询问$X$的某个子集是否与$t$求和。在文献中已经研究过的这个问题的自然参数是$n$和$t$以及最大输入数$\rm{mx}_X$和所有输入数之和$Σ_X$。本文研究了$n$中所有参数都是多项式的子集和的稠密情形。在这种情况下,标准伪多项式算法在多项式时间$n^{O(1)}$内求解子集和。我们的主要问题是:稠密子集和何时能在近似线性时间$\tilde{O}(n)$内求解?我们提供了一个基本上完整的二分法,通过设计改进的算法和证明条件下界,从而确定基本上所有的设置的参数$n,t,\rm{mx}_X,Σ_X$的密集子集和时间$\tilde{O}(n)$。为了标记方便,我们在不失一般性的情况下假设$t \ge \rm{mx}_X$(因为可以忽略较大的数字)和$t \le Σ_X/2$(使用对称性)。然后我们的二分法如下:-通过恢复和改进Galil和Margalit [SICOMP'91]的基于加法组合学的方法,我们证明了如果$t \gg \rm{mx}_X Σ_X/n^2$,则子集和在近线性时间$\tilde{O}(n)$中。- 我们证明了一个匹配的条件下界:如果子集和是在近线性时间的任何设置与$t \ll \rm{mx}_X Σ_X/n^2$,那么强指数时间假设和强k-和假设失败。我们还将我们的算法从集合推广到多集合,尽…
2020-10-18 cs.DM cs.DS
Improved quantum algorithm for the random subset sum problem
求解随机子集和实例在构造密码系统中起着重要的作用。对于随机子集和问题,Bernstein等人在2013年提出了一种具有启发式时间复杂度$\widetilde{O}(2^{0.241n})$的量子算法,其中“$\widetilde{O}$“符号用于省略poly($\log n$)因子。2018年,Helm和May提出了另一种量子算法,将启发式时间和内存复杂度降低到$\widetilde{O}(2^{0.226n})$。本文提出了一种新的量子算法,它具有启发式的时间和存储复杂度$\widetilde{O}(2^{0.209n})$ .
2020-02-13 cs.CR cs.DS
Does Subset Sum Admit Short Proofs?
本文研究子集和问题在多项式长度证书下的可解性,系统分析了参数化问题的认证复杂性,并证明置换群子集和问题至少与有界路径宽图的3Coloring问题同等困难。
2024-09-05 cs.CC cs.DS
SETH-Based Lower Bounds for Subset Sum and Bicriteria Path
Subset-Sum和k-SAT是计算机科学中研究最广泛的两个问题,关于它们的难度的说明是细粒度复杂性的基石之一。在这一领域最有趣的开放问题之一是将这些问题之一的难度建立在另一个问题的基础上。我们的主要结果是一个紧密的减少,从k-SAT的子集和密集的情况下,证明贝尔曼的1962年的伪多项式$O^{*}(T)$ -时间算法的子集和$n$号码和目标$T$不能提高到时间$T^{1-\varepsilon}\cdot 2^{o(n)}$的任何$\varepsilon>0$,除非强指数时间假设(SETH)失败。这是细粒度复杂性的任何两个核心问题之间最强的已知联系之一。作为一个推论,我们证明了“直接或”定理的子集和SETH下,提供了一个新的工具,证明条件下界:现在可以假设,决定是否出$N$给定的子集和实例是一个YES实例需要时间$(N T)^{1-o(1)}$。作为这一推论的应用,我们证明了一个严格的SETH为基础的下界的经典Bicriteria s,t-路径问题,这是广泛研究的运筹学。我们将其复杂性与子集和的复杂性分开:在具有$m$边和以$L$为界的边长度的图上,我们证明了Joksch从1966年开始的$O(Lm)$伪多项式时间算法不能改进为$\tilde{O}(L+m)$,这与最近对子集和的改进相反(Bringmann,SODA 2017)。
2021-02-19 cs.CC cs.DS
Upper bound on the number of steps for solving the subset sum problem by the Branch-and-Bound method
我们研究的计算复杂性的背包问题的一个特殊情况下:子集和问题。为了解决这个问题,我们考虑分支定界方法的基本变体之一,其中任何子问题沿着具有最大权重的自由变量分解。用分支定界法解决问题的复杂性,我们指的是用这种方法解决问题所需的步骤数。本文给出了用分枝定界法求解子集和问题的复杂性的上界。这些边界可以很容易地从问题的输入数据中计算出来。因此,这些界限可以用来初步估计分支定界法求解子集和问题所需的计算资源。
2015-06-20 cs.CC cs.DS
A Quantum Approach to Subset-Sum and Similar Problems
在本文中,我们研究的子集和问题,使用量子启发式的方法类似的验证电路的量子亚瑟-梅林游戏。在一定的假设条件下,我们证明了子集和问题的精确解可以在多项式时间内得到,并且比经典算法的速度有可能达到指数级。我们给出了一个数值例子,并讨论了该方法的复杂性和它的进一步应用背包问题。
2017-09-22 cs.CC cs.DS quant-ph
Improved Approximation Schemes for (Un-)Bounded Subset-Sum and Partition
本文考虑了子集和问题及其重要的变形。在SUBSET SUM问题中,给定一个$n$正数的(多)集合$X$和一个目标数$t$,任务是寻找$X$的最大和不超过$t$的子集.这是众所周知的,这个问题是NP-困难的,并承认完全多项式时间近似计划(FPTAS)。近年来,在($\min$,+)-卷积猜想~ \cite{bringmann2021fine}的假设下,证明了对于任意小的$δ>0$,不存在运行时间$\tilde\OO( 1/ε^{2-δ})$的FPTAS.然而,如果我们放松约束,使得任务是找到$X$的子集,该子集可以稍微超过阈值$t$乘以$ε$,并且子集内的数字之和至少是遵守约束的最优目标值的$1-\tilde\OO(ε)$倍,则可以绕过下限。可能违反约束的近似方案也被称为弱近似方案。对于子集和问题,存在在时间上运行的随机弱近似方案$\tilde\OO(n+ 1/ε^{5/3})$ [Mucha et al. '19]。对于目标$t$是所有输入数总和的一半的特殊情况,弱近似方案等价于不违反约束的近似方案,并且最知名的算法在$\tilde\OO(n+1/ε^{{3}/{2}})$时间内运行[Bringmann and Nakos'21]。
2022-12-06 cs.CC cs.DS
Efficient Reporting of Top-k Subset Sums
“子集和问题”是一个非常著名的NP完全问题。在这项工作中,top-k变化的“子集和问题”被认为是。这个问题在推荐系统中有着广泛的应用,在推荐系统中,需要的不是k个最好的对象,而是具有最低(或最高)总得分的k个最好的对象子集。给定一个n个实数的输入集R和一个正整数k,我们的目标是生成R的k个最佳子集,使得它们的元素之和最小化。我们的解决方案方法是基于构建一个元数据结构G为给定的n。G的每个节点存储大小为n的位向量,从中可以检索R的子集。这里证明了不需要构造整个图G。为了回答一个查询,只需要隐式遍历G的所需部分就足够了,这显然摆脱了预处理步骤,从而减少了整体的时间和空间需求。然后,提出了一种改进的算法来生成每个子集递增,它表明,它是可能的,以消除显式存储的位向量。这不仅提高了空间要求,而且提高了渐近时间复杂度。最后,我们的算法,只报告前k子集和的变化已与现有的算法相比,这表明我们的算法在时间和空间要求方面表现得更好,由一个常数因子。
2021-08-25 cs.CC cs.DS
A Fast Greedy Algorithm for Generalized Column Subset Selection
University of Waterloo(滑铁卢大学)
本文定义了一个广义列子集选择问题,它涉及从源矩阵A中选择最接近目标矩阵B的跨度的列。然后,本文提出了一种快速的贪心算法来解决这个问题,并绘制连接到不同的问题,可以有效地解决使用所提出的算法。
2013-12-24 cs.DS cs.LG stat.ML
Division algorithms for the fixed weight subset sum problem
给定正整数$a_1,..., a_n, t$,固定权重子集求和问题是找到$a_i$的子集,该子集求和为$t$,其中该子集具有规定数量的元素。这个问题是现代背包密码系统安全性的基础,解决这个问题直接导致消息攻击。我们提出了新的指数算法,不依赖于格,因此将适用于格基约简算法失败时。这些算法依赖于Stinson给出的分裂系统概念的推广。特别是,如果问题的长度为$n$,权重为$\ell$,那么对于常数$k$(小于$n$的二次幂),我们将$k$设置的生日算法应用于问题的分裂系统。该随机化算法具有满足$T \cdot S^{\log{k}} = O({n \choose \ell})$的时间和空间复杂度(其中常数一致地依赖于$k$)。除了有效地利用空间,该算法是高度并行化。
2012-01-13 cs.DS math.CO
Classical and Quantum Algorithms for Variants of Subset-Sum via Dynamic Programming
子集求和是一个NP完全问题,其中必须判定$n$整数的多集合是否包含其元素和为目标值$m$的子集。最著名的经典和量子算法分别在时间上运行$\tilde{O}(2^{n/2})$和$\tilde{O}(2^{n/3})$,基于著名的中间相遇技术。在这里,我们介绍了一种新的经典的动态编程为基础的数据结构与应用程序的子集和和一些变种,其中包括(其中寻找两个具有相同和的不相交子集),2-Subset-Sum(Subset-Sum的一个宽松版本,其中输入集中的每个项目可以在求和中使用两次),以及Shifted-Sums,这两个变体的推广,其中寻找两个不相交的子集,其和相差某个指定值。给定任何模数$p$,我们的数据结构可以在时间上构造为$O(n^2p)$,之后可以在时间上查询$O(n^2)$,查询求和为任何模数$p$的值的子集列表。我们使用这种数据结构结合可变时间振幅放大和一个新的量子对发现算法,扩展的量子爪发现算法的多个解决方案的情况下,给出一个$O(2^{0.504n})$量子算法的移位和,最有名的$O(2^{0.773n})$经典的运行时间的改进。顺便说一句,我们获得了新的$\tilde{O}(2^{n/2})$和$\tilde{O}(2^{n/3})$经典和量子算法的子集和,而不是基于开创性的满足在中间的方法。我们还研究了鸽子洞模型和鸽子洞模型和鸽子洞,其中解决方案的存在性是由鸽子洞原理…
2022-07-22 cs.CC cs.CR cs.DS
Subset Sum via Partial Match
Institute for Interdisciplinary Information Sciences, Tsinghua University(清华大学交叉信息研究院);Columbia University(哥伦比亚大学)
本文提出一种基于部分匹配的表示技术,通过深度2线性电路实现子集和问题在 $O(2^{0.499999n})$ 时间内求解,突破中间相遇障碍。
2026-10-08 cs.CC cs.DS
A note on "Approximation schemes for a subclass of subset selection problems", and a faster FPTAS for the Minimum Knapsack Problem
Pruhs和Woeginger证明了FPTAS的存在性的一般类的最小化和最大化子集选择问题。在不失去一般性的情况下,从原来的框架,我们证明了如何更好的渐近最坏情况下的运行时间可以实现,如果一个$ρ$ -近似算法是可用的,特别是我们获得匹配的最大化和最小化子集选择问题之间的运行时间。我们直接将此结果应用于最小背包问题,其中原始框架产生一个FPTAS与运行时间$O(n^5/ε)$,其中$ε$是所需的精度和$n$是项目的数量,并获得一个FPTAS与运行时间$O(n^3/ε)$,从而提高了运行时间的二次因子在最坏的情况下。
2016-07-27 cs.CC cs.DS
Fourier meets Möbius: fast subset convolution
给出了子集卷积问题的一个快速算法:给定定义在n元集合N的子集格上的函数f和g,计算它们的子集卷积f*g,定义为(f * g)(S)= \subseteq f(T)g(S \setminus T),其中加法和乘法在任意环中进行.通过莫比乌斯变换和求逆,我们的算法在O(n^2 2^n)的加法和乘法中计算子集卷积,大大改进了直接的O(3^n)算法。具体地,如果输入函数具有整数范围{-M,-M+1,.,M},它们在普通和积环上的子集卷积可以在O^*(2^n log M)时间内计算;符号O^* 抑制了多对数因子。此外,使用标准的嵌入技术,我们可以在O^*(2^nM)时间内计算最大和或最小和半环上的子集卷积。为了证明快速子集卷积的适用性,我们针对具有n个顶点、k个端点和m条边且具有有界整数权重的图中的最小Steiner树问题提出了第一个O^*(2^k n^2 + n m)算法,改进了经典Dreyfus-Wagner算法的O^*(3^k n + 2^k n^2 + n m)时间界。我们还讨论了最近的O^*(2^n)时间算法的扩展覆盖和划分问题(Björklund和Husfeldt,FOCS 2006; Koivisto,FOCS 2006)。
2006-11-21 cs.DM cs.DS math.CO
Dense Subset Sum may be the hardest
子集求和问题询问给定的$n$正整数集合是否包含元素的子集,这些元素的总和等于给定的目标$t$。Horowitz和Sahni [J. ACM 1974]提出的子集和的$O^*(2^{n/2})$时间算法是否能在最坏情况下被“真正更快”的、具有某些恒定$δ> 0$的$O^*(2^{(0.5-δ)n})$时间算法击败,这是一个悬而未决的问题。继续早期的工作[STACS 2015],我们研究了由最大bin大小$β$参数化的Subset Sum,$β$定义为产生相同总和的$n$输入整数的最大子集数量。对于每一个$ε> 0$,我们给出了一个真正更快的算法的实例与$β\leq 2^{(0.5-ε)n}$,以及实例与$β\geq 2^{0.661n}$。因此,我们也得到了一个表征流行的密度参数$n/\log_2 t$:如果所有的密度至少$1.003$的实例承认一个真正更快的算法,那么这样做的每一个实例。这违背了目前的直觉,即密度1的实例是最难的,因此是朝着肯定回答开放问题迈出的一步。我们的研究结果源于新的组合早期算法子集和研究的极值问题添加剂组合连接到问题的唯一可解码的代码对信息论。
2015-08-25 cs.CC cs.DM cs.DS
Improving Lagarias-Odlyzko Algorithm For Average-Case Subset Sum: Modular Arithmetic Approach
本文提出一种基于模运算的方法改进Lagarias-Odlyzko算法,通过单次调用格规约求解更小整数规模的子集和问题,支持多目标求解,并利用原始格与对偶格的LLL规约基向量长度分析提升了密度保证。
2024-08-28 cs.CR cs.DS
Parametric packing of selfish items and the subset sum algorithm
子集和算法是经典装箱问题的自然启发式算法:在每次迭代中,算法在未打包的物品中找到适合新箱子的最大尺寸的物品集。超过35年后,在文献中首次提及,建立这种启发式的最坏情况下的性能仍然是一个悬而未决的问题。由于它们的简单性和直观的吸引力,贪心算法是许多从业者选择的算法。因此,更好地理解简单贪婪算法本身就是一个有趣的话题。最近,Epstein和Kleiman(Proc. ESA 2008)通过证明装箱问题的博弈论版本的强无政府无政府代价正是这种启发式的近似比,提供了另一种研究子集和算法的激励。本文建立了子集和算法的精确逼近比,从而解决了一个长期悬而未决的问题。我们将这个结果推广到装箱问题的参数变体,其中对于某些α \leq 1,项目大小位于区间(0,α]上,对于所有α \leq 1,得到无政府状态的强价格的紧界。最后,我们研究了参数装箱博弈的纯无政府代价,我们证明了所有α \leq 1的几乎紧的上界和下界。
2009-07-24 cs.DS cs.GT
Improving Schroeppel and Shamir's Algorithm for Subset Sum via Orthogonal Vectors
本文提出了一个$\mathcal{O}^\star(2^{0.5n})$时间和$\mathcal{O}^\star(2^{0.249999n})$空间随机算法,用于求解$n$整数的最坏情况子集和实例。这是对Schroeppel和Shamir(FOCS 1979)提出的长期存在的$\mathcal{O}^\star(2^{n/2})$时间和$\mathcal{O}^\star(2^{n/4})$空间算法的首次改进。我们通过两个步骤突破了这一差距:(1)我们提出了一个空间有效的减少正交向量问题(OV),在细粒度复杂性的最核心的问题之一。通过Schroeppel和Shamir的方法以及Howgrave-Graham和Joux(EUROPERTH PT 2010)为设计平均情况下的子集和算法而引入的表示技术的复杂组合来建立约简。(2)我们提供了一个算法OV,检测$N$给定的矢量在$\{0,1\}^d$与支持大小$d/4$在时间$\tilde{O}(N\cdot2^d/\binom{d}{d/4})$之间的正交对。我们的OV算法基于并改进了Fomin,Lokshtanov,Panolan和Saurabh(J. ACM 2016)开发的代表性家族框架。我们的减少揭示了一个奇怪的子集和OV之间的紧密关系,因为我们的OV算法的任何改进将意味着改善Schroeppel和Shamir,这也是一个长期存…
2021-04-12 cs.CC cs.DS
A Quadratic Vertex Kernel and a Subexponential Algorithm for Subset-FAST
本文首次为Subset-FAST问题构造了二次顶点核,通过改进FAST归约规则并新增两条规则识别无关顶点,进而得到首个次指数时间FPT算法。
2025-03-10 cs.DM cs.DS math.CO
A Probabilistic Approach to The Perfect Sum Problem
已知子集和问题是计算机科学领域中的NP难问题,已知最快的方法具有$O(2^{0.3113n})$的运行时复杂度。这个问题的一个修改版本被称为完美和问题,并进一步扩展了子集和的思想。这种扩展导致额外的复杂性,使得难以计算大输入。在本文中,我提出了一个概率的方法,近似的解决方案,完美和问题的近似分布的潜在的总和。由于这个问题是一个扩展的子集和,我们的近似也授予一些概率洞察子集和问题的解决方案。我们利用分布近似模型的子集的数量总和到一定的大小。这些分布近似以两种方式制定:使用边界来证明正态近似,并通过密度估计近似的经验分布。这些近似可以以$O(n)$复杂度计算,并且可以随着输入数据的大小而增加精度,使得其对于大规模组合问题是有用的。代码可在https://github.com/KristofPusztai/PerfectSum上获得。
2022-11-25 cs.DS stat.AP stat.CO
Faster Space-Efficient Algorithms for Subset Sum, k-Sum and Related Problems
我们提出了空间有效的Monte Carlo算法,解决子集和背包实例与$n$项目使用$O^*(2^{0.86n})$时间和多项式空间,其中$O^*(\cdot)$符号抑制因素多项式的输入大小。这两种算法都假定对随机位的随机只读访问。模这个温和的假设,这解决了一个长期存在的开放问题,在精确算法的NP难问题。这些结果可以推广到求解$n$变量上的二元线性规划问题,在相似的运行时间内,约束条件较少。我们还表明,对于任何恒定的$k\geq 2$,$k$ -Sum的随机实例可以解决使用$O(n^{k-0.5}polylog(n))$时间和$O(\log n)$空间,而不需要随机访问随机位的假设。这些结果的基础是一个算法,该算法确定两个给定的列表的长度$n$与整数由一个多项式在$n$共享一个共同的值。假设随机只读访问随机位,我们表明,这个问题可以解决使用$O(\log n)$空间显着快于平凡的$O(n^2)$时间算法,如果没有值经常出现在同一列表中。
2017-06-24 cs.CC cs.CR cs.DS