Ogólnie rzecz biorąc, dla każdego algorytmu są spełnione następujące warunki:
- Załóżmy, że jest algorytmem działającym w czasie . Następnie nie może mieć więcej niż przestrzeni od pisania bitów wymaga razem.ZAfa( n )ZAfa( n )fa( n )fa( n )
- Załóżmy, że jest algorytmem wymagającym przestrzeni . Następnie za czas może odwiedzić każdy ze swoich różnych stanów, dlatego nie może nic zyskać, uruchamiając więcej niż czasu.ZAfa( n )2)fa( n )ZA2)fa( n )
Wynika, że:
N P. ⊆ P S P A C E
Statemement jest znany jako część relacji między klasami, jak pokazano na poniższym diagramie:
Wyjaśnienie jest proste: problem ma certyfikat długości wielomianowej . Algorytm testujący wszystkie możliwe certyfikaty jest algorytmem, który decyduje o w czasie .Q ∈ N P.yQ2)nO ( 1 )
Wymagane miejsce to:
- y (wielomian w )n
- miejsce wymagane do zweryfikowania . Ponieważ jest certyfikatem wielomianowym, można go zweryfikować w czasie wielomianowym, dlatego nie może wymagać więcej niż przestrzeni wielomianowej.yy
Ponieważ suma dwóch wielomianów jest również wielomianem, można określić za pomocą przestrzeni wielomianowej.Q
Przykład:
Załóżmy, że jest instancją 3-CNF na literałach , z klauzulami . Przypisanie to jakaś funkcja .φx1… Xnmfafa: { x1… Xn} → { 0 , 1 }
Utrzymuje, że:
- Istnieją różnych zadań.2)n
- Biorąc pod uwagę przypisanie , obliczenie wartości zajmuje , dlatego nie może wymagać więcej niż przestrzeni.faO ( m )φO ( m )
Tak więc algorytm który sprawdza wszystkie możliwe przypisania, użyje przestrzeni wielomianowej, uruchomi się w czasie wykładniczym i zdecyduje 3-SAT.ZA
Wynika, że:
3-SAT , a ponieważ 3-SAT jest NP-Complete,∈ P S P A C EN P. ⊆ P S P A C E
Tak. Oto szkic bezpośredniego dowodu.
źródło