Multiplikatywna wersja 3-SUM


22

Co wiadomo na temat złożoności czasowej następującego problemu, który nazywamy 3-MUL?

Biorąc pod uwagę zestaw z liczb całkowitych, czy są elementami taki sposób, że ?Sna,b,cSab=c

Ten problem jest podobny do problemu 3-SUM, który pyta, czy istnieją trzy elementy tak, że (lub równoważnie ). Przypuszcza się, że 3-SUM wymaga czasu z grubsza kwadratowego w . Czy istnieje podobna hipoteza dla 3-MUL? W szczególności czy wiadomo, że 3-MUL jest 3-SUMOWY twardy?a,b,cSa+b+c=0a+b=cn

Uwaga: złożoność czasowa powinna mieć zastosowanie w „rozsądnym” modelu obliczeniowym. Na przykład możemy zmniejszyć z 3-SUM na zestawie do 3-MUL na zestawie , gdzie . Wtedy rozwiązanie 3-MUL, , istnieje wtedy i tylko wtedy, gdy . Jednak to wykładnicze powiększenie liczb skaluje się bardzo źle w przypadku różnych modeli, takich jak na przykład model pamięci RAM.SSS={2xxS}2a2b=2ca+b=c


Twoja redukcja pokazuje, że 3-MULT jest 3-SUMOWY twardy, jeśli liczby wejściowe można wyrazić za pomocą wykładniczej (aka naukowej) notacji.
Warren Schudy,

4
Każdy algorytm dla 3-SUM, który opiera się wyłącznie na fakcie, że dodawanie jest grupą, może zostać przetłumaczony na algorytm dla 3-MULT i odwrotnie. Każdy algorytm oddzielający te dwa elementy musiałby zatem zrobić coś niezwykłego z liczbami.
Warren Schudy,

1
aby być okropnie pedantycznym, potrzebujemy tylko półgrupy.
Suresh Venkat,

Odpowiedzi:


11

Twoja redukcja z 3 SUM do 3 MUL działa z niewielką standardową modyfikacją. Załóżmy, że oryginalne liczby całkowite były w { 1,,M }. Po transformacji x2x nowe liczby całkowite są w { 2,,2M }. Zmniejszymy zasięg.

Rozważ dowolną potrójną liczbę całkowitą w nowym zestawie S . Liczba pierwszych dzielników dowolnego niezerowego b - C jest < 2 M . Liczba takich potrójnych wynosi n 3 . Stąd liczba liczb pierwszych q, które dzielą co najmniej jedną z niezerowych liczb a b - c, wynosi co najwyżej 2 M n 3 .a,b,cSabc<2Mn3qabc2Mn3

Niech oznacza zbiór pierwszych 2 M n 4 pierwszymi. Największy takie pierwsza ma wielkość co najwyżej O ( M n 4 log M n ) . Wybrać losowo prime p P . Z dużym prawdopodobieństwem p nie podzieli żadnego z niezerowych a b - c , więc możemy przedstawić każdy a S przez jego resztę, mod p , a jeśli 3 MUL znajdzie jakieś a b = c w SP2Mn4O(Mn4logMn)pPpabcaSp3ab=c Z dużym prawdopodobieństwem będzie poprawne dla oryginalnejinstancji 3 SUM. Zmniejszyliśmy zakres liczb do { 0 , , O ( M n 4 log M n ) }.S30,,O(Mn4logMn)

(Jest to standardowa redukcja rozmiaru. Możesz być w stanie zrobić to lepiej, biorąc pod uwagę fakt, że są zawsze różnicami dwóch potęg 2 ).abc2


1
Czy nie zredukowałeś do 3MUL mod prime zamiast 3MUL? Może być tak, że ale a b c . ab=c(mod()p)abc
Warren Schudy,

1
Tak, jak to jest, jest to redukcja do 3MUL mod p. Słuszna uwaga.
virgi

To bardzo interesujące podejście. Jesteśmy jednak szczególnie zainteresowani deterministyczną redukcją z 3-SUMU do 3-MUL. Czy byłoby możliwe odstąpienie od techniki zmniejszania rozmiaru?
Markus Jalsenius

3

Czy próbowałeś redukcji gdzie ? Wyniki są liczbami rzeczywistymi, więc musisz zaokrąglić do pewnej liczby cyfr. Aby zapewnić prawidłowe dodawanie liczb pomimo zaokrąglenia, może być konieczne dodanie odrobiny losowego szumu.S={2x/M|xS}M=maxSminS


Ups, losowy hałas nie wydaje się wystarczający, aby naprawić błąd zaokrąglania. Jednak te pomysły wydają się obiecujące, że ograniczenie innego sposobu pokazania 3-MULT nie jest trudniejsze niż 3-SUM, ponieważ np. . (x+1)+y=x+y+1
Warren Schudy,

1
Równanie nie wydaje się poprawne (spróbuj xiy = 2,1). Czy możesz wyjaśnić, co miałeś na myśli?
Raphael
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.