arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 0712.3203cs.DScs.CCcs.CR
收藏

在期望多项式时间内求解中密度子集和问题的枚举方法

Solving Medium-Density Subset Sum Problems in Expected Polynomial Time: An Enumeration Approach

Changlin Wan, Zhongzhi Shi

摘要:

子集和问题(SSP)可以简单地表述为:给定一个目标整数$E$和一个包含$n$正整数$a_j$的集合$A$,求$A$的一个子集和$E$。SSP实例的\textit{density} $d$由$n$与$m$的比率定义,其中$m$是$A$中最大整数的对数。基于子集和的结构和统计性质,我们提出了一种改进的SSP枚举方案,并将其实现为一个完整且精确的算法(EnumPlus)。该算法总是等价地将一个实例约简为低密度,然后通过枚举的方法进行求解。通过这种方法,我们可以设计一个唯一的算法,可以有效地解决任意密度的情况下,在一个统一的方式。此外,我们的算法有相当大的性能优势,比以前的算法。首先,它扩大了密度范围,在此范围内,SSP可以在期望的多项式时间内求解。具体地说,它解决了SSP在预期的$O(n\log{n})$时间时,密度$d \geq c\cdot \sqrt{n}/\log{n}$,而以前的最佳密度范围是$d \geq c\cdot n/(\log{n})^{2}$。此外,在平均情况下,总的期望时间和空间的需求被证明是$O(n^5\log n)$和$O(n^5)$分别。其次,在最坏的情况下,它稍微提高了以前最好的时间复杂度的精确算法SSP。具体来说,我们的算法的最坏情况下的时间复杂度被证明是$O((n-6)2^{n/2}+n)$,而以前的最好的结果是$O(n2^{n/2})$。

英文摘要:

The subset sum problem (SSP) can be briefly stated as: given a target integer $E$ and a set $A$ containing $n$ positive integer $a_j$, find a subset of $A$ summing to $E$. The \textit{density} $d$ of an SSP instance is defined by the ratio of $n$ to $m$, where $m$ is the logarithm of the largest integer within $A$. Based on the structural and statistical properties of subset sums, we present an improved enumeration scheme for SSP, and implement it as a complete and exact algorithm (EnumPlus). The algorithm always equivalently reduces an instance to be low-density, and then solve it by enumeration. Through this approach, we show the possibility to design a sole algorithm that can efficiently solve arbitrary density instance in a uniform way. Furthermore, our algorithm has considerable performance advantage over previous algorithms. Firstly, it extends the density scope, in which SSP can be solved in expected polynomial time. Specifically, It solves SSP in expected $O(n\log{n})$ time when density $d \geq c\cdot \sqrt{n}/\log{n}$, while the previously best density scope is $d \geq c\cdot n/(\log{n})^{2}$. In addition, the overall expected time and space requirement in the average case are proven to be $O(n^5\log n)$ and $O(n^5)$ respectively. Secondly, in the worst case, it slightly improves the previously best time complexity of exact algorithms for SSP. Specifically, the worst-case time complexity of our algorithm is proved to be $O((n-6)2^{n/2}+n)$, while the previously best result is $O(n2^{n/2})$.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑