Odświeżmy definicje.
PSPACE to klasa problemów, które można rozwiązać na deterministycznej maszynie Turinga z wielomianowymi granicami przestrzeni: to znaczy, dla każdego takiego problemu istnieje maszyna, która decyduje o problemie przy użyciu co najwyżej p ( n ) komórek taśmowych, gdy jej wejście ma długość n , dla niektórych wielomianów p .
EXP to klasa problemów, które można rozwiązać na deterministycznej maszynie Turinga z wykładniczymi granicami czasowymi: dla każdego takiego problemu istnieje maszyna, która decyduje o problemie, używając co najwyżej 2)p ( n ) kroków, gdy jego wejście ma długość n , dla jakiś wielomian p .
Po pierwsze, powinniśmy powiedzieć, że te dwie klasy mogą być równe. Wydają się bardziej prawdopodobne, że będą się różnić, ale klasy czasami okazują się takie same: na przykład w 2004 r. Reingold udowodnił, że symetryczny obszar logów jest taki sam jak zwykły obszar logów; w 1987 r. Immerman i Szelepcsényi niezależnie udowodnili, że NL=co-NL (i faktycznie, że NSPACE [ f(n) ]=co-NSPACE [ ]f(n) dla dowolnego ).f(n)≥logn
Ale w tej chwili większość ludzi uważa, że PSPACE i EXP są różne. Czemu? Zobaczmy, co możemy zrobić w dwóch klasach złożoności. Rozważ problem w PSPACE . Możemy użyć komórek taśmy do rozwiązania danych wejściowych o długości n, ale trudno jest porównać to z EXP , który jest określony przez ograniczenie czasowe.p(n)n
Ile czasu możemy wykorzystać na problem z PSPACE ? Gdybyśmy tylko napisać do komórek taśmowych, istnieją 2 p ( n ) różne ciągi znaków, które mogą pojawić się na taśmie, przy założeniu alfabetu binarnego. Głowica taśmy może znajdować się w dowolnym z p ( n ) różnych miejsc, a maszyna Turinga może znajdować się w jednym z k różnych stanów. Zatem łączna liczba konfiguracji wynosi T ( n ) = kp(n)2p(n)p(n)kT(n)=kp(n)2p(n). Zgodnie z zasadą szufladki, jeśli bierzemy kroki , musimy odwiedzić konfigurację dwa razy, ale ponieważ maszyna jest deterministyczna, oznacza to, że będzie się zapętlać i odwiedzać tę samą konfigurację nieskończenie często, tj. Wygrała zatrzymać. Ponieważ część definicji bycia w PSPACE polega na tym, że musisz zdecydować o problemie, każda maszyna, która się nie kończy, nie rozwiązuje problemu PSPACE . Innymi słowy, PSPACE to klasa problemów, które można rozstrzygać przy użyciu co najwyżej p ( n ) przestrzeni i co najwyżej kT(n)+1p(n) , co najwyżej 2 q ( n ) dla pewnego wielomianu q . Więc pokazaliśmy tęPSPACEkp(n)2p(n)2q(n)q⊆EXP .
A ile miejsca możemy wykorzystać na problem z EXP ? Cóż, wolno nam kroków, a głowa maszyny Turinga może przesunąć tylko jedną pozycję na każdym kroku. Ponieważ głowa nie może przesunąć więcej niż o 2 p ( n ) pozycji, możemy użyć tylko tylu komórek taśmy.2p(n)2p(n)
n, z drugiej strony, możesz nie tylko patrzeć na każdy podzbiór, ale nie musisz ponownie wykorzystywać przestrzeni roboczej, dzięki czemu możesz pamiętać, czego nauczyłeś się o każdym z nich indywidualnie. Wygląda na to, że powinien być mocniejszy.
Inną intuicją, dlaczego powinny się różnić, jest to, że twierdzenia dotyczące hierarchii czasu i przestrzeni mówią nam, że dopuszczenie nawet odrobinę więcej przestrzeni lub czasu ściśle zwiększa to, co można obliczyć. Twierdzenia o hierarchii pozwalają tylko porównywać z podobnymi (np. Pokazują, że PSPACE⊊⊊