3-SUM的乘法版本


22

关于以下问题的时间复杂度(我们称为3-MUL)的知识是什么?

给定整数的集合,中是否有元素使得?Sna,b,cSab=c

此问题类似于3-SUM问题,该问题询问是否存在三个元素使得(或等效地)。推测3-SUM大约需要二次时间。3-MUL是否有类似的猜想?具体来说,是否知道3-MUL是3-SUM硬的?a,b,cSa+b+c=0a+b=cn

注意,时间复杂度应适用于“合理的”计算模型。例如,我们可以从集上的3-SUM减少到集上的3-MUL ,其中 。然后,当且仅当,存在3-MUL的解。但是,数字的这种指数级膨胀在各种模型(例如RAM模型)中非常严重。SSS={2xxS}2a2b=2ca+b=c


您的简化确实表明,如果可以使用指数(又名科学)表示法来表示输入数字,则3-MULT很难实现3-SUM运算。
沃伦·舒迪

4
任何仅依赖于加法是一组事实的3-SUM算法都可以转换为3-MULT算法,反之亦然。因此,将两者分开的任何算法都需要对数字做一些不寻常的事情。
沃伦·舒迪

1
要成为令人讨厌的书呆子,我们可能只需要一个半组。
Suresh Venkat 2010年

Answers:


11

从 SUM 减少到 MUL只需对标准进行较小的修改。假设原始整数在{ }中。转换,新整数在{ }中。我们将缩小范围。3 1 M x 2 x 2 2 M331,,Mx2x2,,2M

考虑新集合任何整数三元组。任何非零的质数除数的数量是。这样的三元组的数目为。因此,将至少非零数之一除的质数最多为。小号'一个b - c ^ < 2 中号Ñ 3 q 一个b - c ^ 2 中号Ñ 3a,b,cSabc<2Mn3qabc2Mn3

令为前素数的集合。最大的此类素数最大为。选择一个随机素数。以高概率除不尽任何非零的,所以我们可以表示每个通过其残基,模,如果 MUL发现一些在,以高概率它将对于原始的 SUM实例是正确的。我们将数字范围减小为{ }。2 中号Ñ 4 ø 中号Ñ 4日志中号Ñ p P p 一个b - c ^ 一个小号' p 3 一个b = c ^ 小号' 3 0 ... Ô 中号Ñ 4日志中号Ñ P2Mn4O(Mn4logMn)pPpabcaSp3ab=cS30,,O(Mn4logMn)

(这是标准的尺寸减小。考虑到始终是2的幂的差这一事实,您可能可以做得更好。)2abc2


1
您不是将素数减为3​​MUL而不是3MUL吗?可能是但。a b cab=c(mod()p)abc
沃伦·舒迪

1
是的,这是对3MUL mod p的简化。好点子。
virgi 2010年

这是一个非常有趣的方法。但是,我们对确定性地从3-SUM减少到3-MUL特别感兴趣。是否有可能对减小尺寸的技术进行随机化处理?
Markus Jalsenius,2010年

3

您是否尝试过简化其中?结果是实数,因此您必须四舍五入到一些数字。为了确保即使四舍五入也能正确添加数字,您可能需要添加一些随机噪声。中号= 最大小号- 分钟小号S={2x/M|xS}M=maxSminS


糟糕,随机噪声似乎不足以解决舍入误差。但是,这些想法对于减少显示3-MULT的另一种方法似乎确实很有希望,因为3-并不比3-SUM难,因为例如。(x+1)+y=x+y+1
沃伦·舒迪

1
该方程似乎不正确(尝试x和y = 2.1)。您能说明您的意思吗?
拉斐尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.