Wikipedia to określa
Mówi się, że algorytm ma czas wielomianowy, jeśli jego czas działania jest ograniczony górną granicą przez wyrażenie wielomianowe wielkości wejściowej dla algorytmu, tj. dla pewnej stałej k.
Algorytm działa w silnie wielomianowym czasie, jeśli [8]
liczba operacji w modelu arytmetycznym obliczeń jest ograniczona wielomianem w liczbie całkowitej w instancji wejściowej; i
przestrzeń używana przez algorytm jest ograniczona wielomianem wielkości danych wejściowych.
W Bernhard Korte, Jens Vygen, Optymalizacja kombinatoryczna :
Definicja 1.4.
Algorytm z racjonalnym wejściu mówi się uruchomić w czasie wielomianowym , jeżeli
- istnieje liczba całkowita k, która działa w czasie , gdzie n jest rozmiarem wejściowym, i
- wszystkie liczby w obliczeniach pośrednich mogą być przechowywane z bitami .
Algorytm z dowolnego wejścia mówi się uruchomić w silnie czasie wielomianowym , jeżeli
- istnieje liczba całkowita k, która działa w czasie dla dowolnego wejścia składającego się z n liczb i
- działa w czasie wielomianowym dla racjonalnego wprowadzania danych.
Proszę, popraw mnie jeśli się mylę. Oto dosłowne różnice, które zauważyłem:
W przypadku algorytmów wielomianowych definicja Korte i Vygen'a to „definicja Wikipedii + wielomianowe miejsce do przechowywania”.
W przypadku algorytmów silnie wielomianowych zarówno definicja Korte i Vygen, jak i definicja Wikipedii wymagają czasu wielomianowego w wielkości wejściowej pamięci. Ale K i V dodatkowo wymagają wielomianowego czasu w liczbie liczb na dowolnym wejściu, podczas gdy Wikipedia dodatkowo wymaga wielomianowego miejsca do przechowywania w wielkości wejściowej.
Czy zatem definicje K, V i Wikipedii dla tych dwóch pojęć są odpowiednio równoważne? Jakie są inne różnice i relacje między nimi?
Dziękuję i pozdrawiam!