Wymień czas i złożoność zapytań

18

Praca bezpośrednio ze złożonością czasu lub dolnymi granicami obwodu jest przerażająca. Dlatego opracowujemy narzędzia takie jak złożoność zapytań (lub złożoność drzewa decyzyjnego), aby uzyskać kontrolę nad dolnymi granicami. Ponieważ każde zapytanie zajmuje co najmniej jeden krok jednostkowy, a obliczenia między zapytaniami są liczone jako wolne, złożoność czasu jest co najmniej tak wysoka jak złożoność zapytania. Czy możemy jednak powiedzieć coś o separacjach?

Jestem ciekawy pracy w literaturze klasycznej lub kwantowej, ale dostarczam przykłady z QC, ponieważ jestem bardziej zaznajomiony.

Niektóre słynne algorytmy, takie jak wyszukiwanie Grovera i wyszukiwanie okresów Shora, złożoność czasowa mieści się w zakresie czynników logarytmicznych złożoności zapytania. W przypadku innych, takich jak problem ukrytej podgrupy, mamy wielomianową złożoność zapytań , ale algorytmy wielomianu czasu nie są znane.

Ponieważ potencjalnie istnieje luka między złożonością czasu a złożonością zapytania, nie jest jasne, czy algorytm optymalnej złożoności czasu musi mieć taką samą złożoność zapytania, jak algorytm optymalnej złożoności zapytania.

Czy istnieją przykłady kompromisów między czasem a złożonością zapytań?

Czy występują problemy, w których najbardziej znany algorytm złożoności czasu ma inną złożoność zapytań niż najbardziej znany algorytm złożoności zapytań? Innymi słowy, czy możemy wykonać więcej zapytań, aby ułatwić operacje między zapytaniami?

Czy może istnieje argument, który pokazuje, że zawsze istnieje wersja asymptotycznie optymalnego algorytmu zapytań posiadająca implementację o asymptotycznie najlepszej złożoności czasowej?

Artem Kaznatcheev
źródło
Czy chcesz naturalnego problemu, czy sztuczny problem też jest w porządku?
Robin Kothari,
2
Preferowane są problemy naturalne, ale problemy sztuczne są lepsze niż brak odpowiedzi.
Artem Kaznatcheev

Odpowiedzi:

9

Oto próba utworzenia sztucznej funkcji o następującej właściwości:

  • Problem można rozwiązać za pomocą zapytań , ale wymaga czasu.O(logn)exp(n)
  • Problem można rozwiązać za pomocą czasu ale wymaga to zapytańO(n)O(n)

Niech rozmiar wejściowy to . Niech pierwsze bity (nazwijmy ten ciąg x) kodują dane wejściowe do pełnego problemu dla EEXP. Następne bitów (nazwijmy ten ciąg y) ma właściwość polegającą na tym, że wszystkie mają wartość zero wtedy i tylko wtedy, gdy x jest NIE wystąpieniem problemu EEXP-complete.n+lognlognn

Innymi słowy, pierwsze bity kodują trudny problem, a następne bitów daje wskazówkę dotyczącą rozwiązania problemu. Jednak, aby znaleźć rozwiązanie, patrząc na bitowy ciąg, wykonujesz zapytania .n n Ω ( n )lognnnΩ(n)

Tak więc problem ten można rozwiązać albo czytając tylko pierwsze n i spędzając czas exp (n), albo czytając n bitów i używając tylko czasu liniowego.lognn

Ta sama funkcja dotyczy złożoności kwantowych zapytań. W razie potrzeby wstaw znaki pierwiastka kwadratowego.

Robin Kothari
źródło
7

Bardziej ekstremalna wersja przykładu Robina:

Niech rozmiar wejściowy będzie , przy czym pierwsze n - 1 bitów (nazywamy ten ciąg x ) koduje maszynę Turinga T x . Napraw niektóre funkcje f ( n ) . Niech ostatni bit struny będzie wynosić 1 w maszynie Turinga T x zatrzymuje się w krokach mniejszych niż f ( n ) . Problem polega zatem na ustaleniu, czy T x zatrzymuje się w krokach mniejszych niż f ( n ), a parzystość x jest parzysta.nn-1xT.xfa(n)1T.xfa(n)T.xf(n)x

Tak więc, wykonując zapytań, problem można rozwiązać w czasie O ( f ( n ) ) , podczas gdy wykonując n zapytań, problem można rozwiązać w czasie O ( n ) .n1O(f(n))nO(n)

Joe Fitzsimons
źródło
Prawdopodobnie miałeś na myśli, że ostatni bit jest taki, że parzystość x jest nawet wtedy, gdy maszyna Turinga zatrzymuje się w czasie (w przeciwnym razie pytanie wymaga tylko jednego zapytania;)). Jest to miłe i może być modyfikowane, aby zapewnić dowolny rodzaj odstępu między czasem a zapytaniem. Rozważmy dowolnej funkcji i g ( n ) < n , niech pierwsza g ( n ) bitów x być opis tokarka. Niech pozostałe n - g ( n ) z xg(n)=ω(1)g(n)<ng(n)xng(n)xbity są takie, że parzystość wynosi nawet iff T x zatrzymuje się w krokach mniejszych niż f ( n ) > n . Następnie mamy g ( n ) versus n zapytań kosztem Θ ( f ( n ) ) versus n w czasie. xTxf(n)>ng(n)nΘ(f(n))n
Artem Kaznatcheev
Zignoruj ​​pierwsze zdanie mojego poprzedniego komentarza.
Artem Kaznatcheev
7

Podoba mi się odpowiedź Robina Kothari i modyfikacja Joe Fitzsimonsa. W oczywisty sposób rozszerzając swoje odpowiedzi mogą osiągnąć dowolny stosunek separacji (oprócz stałej względem nie-stałej) między coraz mniejszą złożonością zapytań a coraz większą złożonością czasową. Jednak nie ma oczywistego sposobu, aby ich funkcje nie były częściowe. Chcę wskazać na naturalny problem, w którym mamy separację i pokazać, że duże separacje są trudniejsze dla wszystkich funkcji.


Naturalny problem

Ben Reichardt zwrócił uwagę na e-mail na problem oceny formuły. Złożoność kwantowych zapytań do oceny ogólnej formuły AND-OR do jednorazowego odczytu dla zmiennych wynosi Θ ( n. JednakO(Θ(n)Algorytm zapytania nie jest wydajny czasowo. Tutajpokazano najszybszy znany algorytm, który tworzyO(O(n)zapytania i uruchamiane w czasie polilogarytmicznie gorzej. Mamy zatem naturalny problem całkowity, w którym występuje znany rozdział. Chociaż nie ma dowodów na to, że ten rozdział musi istnieć.O(nlogn)

Trudno jest rozdzielić wszystkie funkcje?

Wydaje mi się, że trudniej jest znaleźć funkcje całkowite z możliwymi do udowodnienia rozdzieleniami. Aby pokazać, że przypadek funkcji całkowitych i częściowych jest inny, przedstawię argument dotyczący największej separacji pomiędzy złożonością zapytań algorytmów optymalnych i optymalnych czasowo dla funkcji całkowitej.

mΩ(logm)mnnmm0

(query complexity,time complexity)(q1(n),t1(n))(q2(n),t2(n))q2(n)f(q1(n))f(n)=O(2n)

[1] HU Simon, „Ciasny Z (loglogn) związany z czasem, w którym równoległe pamięci RAM obliczają nie-zdegenerowane funkcje boolowskie”, w: Symp. na temat podstaw teorii obliczeń, notatki z wykładów z informatyki, t. 158, Springer, Berlin, 1983, ss. 439–444.

Artem Kaznatcheev
źródło