Given a set of $n$ input integers, the Equal Subset Sum problem asks us to find two distinct subsets with the same sum. In this paper we present an algorithm that runs in time $O^*(3^{0.387n})$ in the~average case, significantly improving over the $O^*(3^{0.488n})$ running time of the best known worst-case algorithm and the Meet-in-the-Middle benchmark of $O^*(3^{0.5n})$. Our algorithm generalizes to a number of related problems, such as the ``Generalized Equal Subset Sum'' problem, which asks us to assign a coefficient $c_i$ from a set $C$ to each input number $x_i$ such that $\sum_{i} c_i x_i = 0$. Our algorithm for the average-case version of this problem runs in~time $|C|^{(0.5-c_0/|C|)n}$ for some positive constant $c_0$, whenever $C=\{0, \pm 1, \dots, \pm d\}$ or $\{\pm 1, \dots, \pm d\}$ for some positive integer $d$ (with $O^*(|C|^{0.45n})$ when $|C|<10$). Our results extend to the~problem of finding ``nearly balanced'' solutions in which the target is a not-too-large nonzero offset $\tau$. Our approach relies on new structural results that characterize the probability that $\sum_{i} c_i x_i$ $=\tau$ has a solution $c \in C^n$ when $x_i$'s are chosen randomly; these results may be of independent interest. Our algorithm is inspired by the ``representation technique'' introduced by Howgrave-Graham and Joux. This requires several new ideas to overcome preprocessing hurdles that arise in the representation framework, as well as a novel application of dynamic programming in the solution recovery phase of the algorithm.
翻译:在设定了美元输入整数的情况下, Qeal Subset Sum 问题要求我们找到两个不同的子集, 其金额相同。 在本文中, 我们展示了一种计算法, 运行时间为: 美元( 3 ⁇ 0. 387n} 美元), 运行时间比 美元( 3 ⁇ 0. 488n} ) (美元) 最已知的最坏的算法和 Met- 中位基准 $( 3 ⁇ 0. 50n} ) 。 我们的算法一般化为一些相关问题, 比如“ 通用的 equetset Sum Sum” 问题, 要求我们从每个输入的美元中指定一个系数 $( 3 ⁇ ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 美元) 美元( 美元) 。 我们的平均算法的算法可能由时间 $ ( 0. 0. 0. 0. 0. 0. 0. ° C ) 美元 (n_ 美元 美元 美元 ) 解算一个正数( 美元) ( 美元) ( 美元) 美元) 美元) 以某种固定的算法的解算为 。