Jak zmierzyć złożoność problemu dyskretnego logarytmu?


9

Odpowiedzi na to pytanie na Crypto Stack Exchange mówią w zasadzie, że aby zmierzyć złożoność problemu z logarytmem, musimy wziąć pod uwagę długość liczby reprezentującej wielkość grupy. Wydaje się to arbitralne, dlaczego nie wybraliśmy wielkości grupy jako argumentu? Czy istnieje kryterium pozwalające ustalić, który argument wybrać? W rzeczywistości wiem, że przeoczyłem coś ważnego, ponieważ złożoność zmienia się ogromnie, jeśli robimy to ze względu na wielkość grupy.


2
Interesujące pytanie! Zredagowałem to, by powiedzieć „zmierzyć złożoność”, a nie „obliczyć”, ponieważ odpowiedzią na to, jak ją obliczamy, jest ¯ \ _ (ツ) _ / ¯. :-)
David Richerby

Myślę, że tak jest lepiej. :)
Nassim HADDAM

Odpowiedzi:


5

Nie ma znaczenia, czy wybierzesz rozmiar grupylub wielkość liczby całkowitej reprezentującej go jako parametr, ponieważ. Są dwa powody, dla których złożoność jest zwykle opisywana w kategoriach zamiast:|G|nnlog|G|n|G|

  1. n to długość danych wejściowych (dokładniej dane wejściowe mają długość Θ(n)) i zwykle mierzymy złożoność algorytmów jako funkcję długości wejściowej.

  2. Zazwyczaj n jest małą liczbą, taką jak 1024, natomiast |G| to ogromna liczba, taka jak (z grubsza) 21024.


Rozumiem twój punkt widzenia, ale czy nie stanowi problemu w P, jeśli wybraliśmy wielkość grupy jako parametr?
Nassim HADDAM

1
W takim przypadku nie można wybrać parametru - parametrem jest zawsze długość wejściowa.
Yuval Filmus

Dziękuję za odpowiedzi. Miałem problem z tym, co może się zdarzyć, jeśli weźmiemy pod uwagę inny przypadek (problemy z przejściem P w NP i odwrotnie). Widzę teraz wyraźnie :) .
Nassim HADDAM

1
Nie wykonujemy obliczeń pojedynczo, ponieważ naszym celem jest uwzględnienie pewnej liczby lub obliczenie logarytmu dyskretnego i nie obchodzi nas, w jaki sposób liczba jest reprezentowana. Podanie go jako danych wejściowych w formacie binarnym lub jednostkowym nie wpływa na „czas ściany” potrzebny do rozwiązania problemu, a jedynie jego złożoność pod względem wielkości wejściowej (ponieważ zmieniamy wielkość wejściową!).
Yuval Filmus

1
Poza tym tak naprawdę nie możemy mieć 128-bitowej liczby całkowitej jako jednoznacznego wejścia do algorytmu w świecie rzeczywistym. We wszechświecie atomów jest za mało.
Yuval Filmus
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.