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


22

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

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

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

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


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

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

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

Відповіді:


11

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

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

Нехай - сукупність перших простих чисел. Найбільший такий простір має розмір не більше . Виберіть випадковий простий . З високою ймовірністю не розділить жоден ненульовий , тому ми можемо представити кожну за її залишком, 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 , , O2Mn4O(Mn4logMn)pPpabcaSp3ab=cS30,,O(Mn4logMn)

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


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

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

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

3

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


На жаль, випадковий шум не здається достатнім, щоб виправити помилку округлення. Однак ці ідеї здаються перспективними для зменшення іншого способу показу 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.