Мультиплікативна версія 3-SUM


22

Що відомо про часову складність наступної проблеми, яку ми називаємо 3-MUL?

Беручи під увагу безліч з цілих чисел, існують елементи таким чином, що ?n a , b , c ∈ S a b = cSna,b,c∈Sab=c

Ця проблема схожа на задачу 3-SUM, яка запитує, чи є три елементи такі, що (або еквівалентно ). 3-SUM передбачається, що вимагає приблизно квадратичного часу в . Чи існує аналогічна гіпотеза для 3-МУЛ? Зокрема, 3-МУЛ відомий як 3-SUM важкий?a + b + c = 0 a + b = c na,b,c∈Sa+b+c=0a+b=cn

Зауважимо, часова складність повинна застосовуватися у "розумній" моделі обчислення. Наприклад, ми можемо зменшити з 3-SUM на множині до 3-MUL на множині , де . Тоді рішення 3-MUL, , існує тоді і тільки тоді, коли . Однак це експоненціальне вибуху чисел дуже погано масштабується з різними моделями, як, наприклад, модель ОЗУ.S ′ S ′ = { 2 x ∣ x ∈ S } 2 a ⋅ 2 b = 2 c a + b = cSS′S′={2x∣x∈S}2a⋅2b=2ca+b=c


Зниження показує, що 3-MULT є 3-SUM важким, якщо вхідні числа можна виразити, використовуючи експоненціальні (також наукові) позначення.
— Воррен Шуді

4
Будь-який алгоритм для 3-SUM, який спирається виключно на те, що додавання є групою, може бути переведений в алгоритм для 3-MULT, і навпаки. Тому будь-який алгоритм, що розділяє два, повинен робити щось незвичне з числами.
— Воррен Шуді

1
щоб бути жахливо педантичним, нам може знадобитися лише напівгрупа.
— Суреш Венкат

Відповіді:


11

Зниження з SUM до MUL працює з незначною стандартною модифікацією. Припустимо, ваші початкові цілі числа були в { }. Після перетворення нові цілі числа знаходяться в { }. Ми зменшимо асортимент.3 1 , … , M x → 2331,…,M 2 , … , 2 Mx→2x2,…,2M

Розглянемо будь-яку трійку цілих чисел у новому множині . Кількість простих дільників будь-якого ненульового становить . Кількість таких трійки дорівнює . Отже, кількість простих чисел які ділять принаймні одне з ненульових чисел становить .S ′ a b - c < 2 M n 3 q a b - c 2 M n 3a,b,cS′ab−c<2Mn3qab−c2Mn3

Нехай - сукупність перших простих чисел. Найбільший такий простір має розмір не більше . Виберіть випадковий простий . З високою ймовірністю не розділить жоден ненульовий , тому ми можемо представити кожну за її залишком, mod , і якщо MUL знайде деякий у , з великою ймовірністю це буде бути правильним для оригінального екземпляра SUM. Ми зменшили діапазон чисел до { }.2 М ⋅P O ( M n 4 log M n ) p ∈ P p a b - c a ∈ S ′ p 3 a b = c S ′ 3 0 , … , O2M⋅n4O(Mn4log⁡Mn)p∈Ppab−ca∈S′p3ab=cS′30,…,O(Mn4log⁡Mn)

(Це стандартне зменшення розміру. Ви можете зробити це краще, враховуючи той факт, що це завжди відмінності двох потужностей по )2ab−c2


1
Хіба ви не зменшили до 3MUL мод просто, а не 3MUL? Можливо, але . a b ≠ cab=c(mod()p)ab≠c
— Воррен Шуді

1
Так, як це, це зменшення до 3MUL mod p. Влучне зауваження.
— virgi

Це дуже цікавий підхід. Однак нас особливо цікавить детерміноване зниження від 3-SUM до 3-MUL. Чи можливо можливо дерандонізувати техніку зменшення розміру?
— Маркус Джалсеній

3

Ви спробували зменшити де ? Результати - це реальні цифри, тому вам доведеться округлити деяку кількість цифр. Щоб переконатися, що цифри додаються правильно, незважаючи на округлення, можливо, вам доведеться додати трохи випадкового шуму.M = max S - min SS′={2x/M|x∈S}M=maxS−minS


На жаль, випадковий шум не здається достатнім, щоб виправити помилку округлення. Однак ці ідеї здаються перспективними для зменшення іншого способу показу 3-MULT не складніше, ніж 3-SUM, оскільки наприклад . (⌈x⌉+1)+⌈y⌉=⌈x+y⌉+1
— Воррен Шуді

1
Рівняння не здається правильним (спробуйте x і y = 2.1). Чи можете ви пояснити, що ви мали на увазі?
— Рафаель
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.