3-SUM的乘法版本


22

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

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

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

注意,时间复杂度应适用于“合理的”计算模型。例如,我们可以从集上的3-SUM减少到集上的3-MUL ,其中 。然后,当且仅当,存在3-MUL的解。但是,数字的这种指数级膨胀在各种模型(例如RAM模型)中非常严重。SS′S′={2x∣x∈S}2a⋅2b=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,…,Mx→2x2,…,2M

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

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

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


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

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

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

3

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


糟糕,随机噪声似乎不足以解决舍入误差。但是,这些想法对于减少显示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.