PSPACE

W teorii złożoności obliczeniowej PSPACE jest zbiorem wszystkich problemów decyzyjnych, które można rozwiązać za pomocą maszyny Turinga wykorzystującej wielomianową przestrzeń.

Formalna definicja

Jeśli oznaczymy przez S P A C E ( t ( n ) ) {\displaystyle {\mathsf {SPACE}}(t(n))} zestaw wszystkich problemów, które można rozwiązać za pomocą maszyn Turinga wykorzystujących przestrzeń O ( t ( n ) ) {\displaystyle O(t(n))} dla pewnej funkcji t {\displaystyle t} o wielkości wejściowej n , {\displaystyle n,} wówczas możemy formalnie zdefiniować PSPACE jako[1]

P S P A C E = k N S P A C E ( n k ) . {\displaystyle {\mathsf {PSPACE}}=\bigcup _{k\in \mathbb {N} }{\mathsf {SPACE}}(n^{k}).}

PSPACE jest ścisłym nadzbiorem zbioru języków kontekstowych.

Okazuje się, że pozwalając maszynie Turinga być niedeterministyczną, nie dodaje jej żadnej dodatkowej mocy. Ze względu na twierdzenie Savitcha[2] NPSPACE jest równoważne PSPACE, zasadniczo dlatego, że deterministyczna maszyna Turinga może symulować niedeterministyczną maszynę Turinga, nie wymagając dużo więcej miejsca (chociaż może zużywać znacznie więcej czasu)[3]. Uzupełnieniem wszystkich problemów w PSPACE jest także PSPACE, co oznacza, że co-PSPACE = PSPACE.

Relacja między innymi klasami

Reprezentacja relacji między klasami złożoności

Znane są następujące relacje między PSPACE a klasami złożoności NL, P, NP, PH, EXPTIME i EXPSPACE (należy zwrócić uwagę, że , {\displaystyle \subsetneq ,} co oznacza ścisłe zawieranie, to nie to samo co {\displaystyle \nsubseteq } ):

N L P N P P H P S P A C E P S P A C E E X P T I M E E X P S P A C E N L P S P A C E E X P S P A C E P E X P T I M E {\displaystyle {\begin{array}{l}{\mathsf {NL\subseteq P\subseteq NP\subseteq PH\subseteq PSPACE}}\\{\mathsf {PSPACE\subseteq EXPTIME\subseteq EXPSPACE}}\\{\mathsf {NL\subsetneq PSPACE\subsetneq EXPSPACE}}\\{\mathsf {P\subsetneq EXPTIME}}\end{array}}}

Wiadomo, że w pierwszym i drugim wierszu co najmniej jedno z zawierań musi być ścisłe, ale nie wiadomo, które. Powszechnie podejrzewa się, że wszystkie są ścisłe.

PSPACE-zupełność

Język B {\displaystyle B} jest PSPACE-zupełny, jeśli jest w PSPACE i jest trudny dla PSPACE, co oznacza dla wszystkich A P S P A C E , {\displaystyle A\in {\mathsf {PSPACE}},} A p B , {\displaystyle A\leqslant _{p}B,} gdzie A p B {\displaystyle A\leqslant _{p}B} oznacza, że istnieje redukcja z A {\displaystyle A} do B {\displaystyle B} w czasie wielomianowym. Problemy PSPACE-zupełne mają ogromne znaczenie przy badaniu problemów z PSPACE, ponieważ stanowią najtrudniejsze problemy z PSPACE. Znalezienie prostego rozwiązania problemu PSPACE-zupełnego oznaczałoby, że mamy proste rozwiązanie wszystkich innych problemów w PSPACE, ponieważ wszystkie problemy PSPACE można zredukować do problemu PSPACE-zupełnego[4].

Przykładem problemu pełnego PSPACE-zupełnego jest problem skwantyfikowanej boolowskiej formuły (zwykle w skrócie QBF lub TQBF ; T oznacza „prawda”)[4].

Przypisy

  1. Arora & Barak (2009) p. 81.
  2. Arora & Barak (2009) p. 85.
  3. Arora & Barak (2009) p. 86.
  4. a b Arora & Barak (2009) p. 83.
  • p
  • d
  • e
Uważane za wykonalne
  • DLOGTIME
  • AC0
  • ACC0
  • TC0
  • L
  • SL
  • RL
  • NL
  • NC
  • SC
  • CC
  • P (P-zupełność)
  • ZPP
  • RP
  • BPP
  • BQP
  • APX
Podejrzewane o niewykonalność
  • UP
  • NP
  • AM
  • QMA
  • PH
  • ⊕P
  • PP
  • #P (#P-zupełność)
  • IP
  • PSPACE
  • (PSPACE-zupełność)
Uważane za niewykonalne
  • EXPTIME
  • NEXPTIME
  • EXPSPACE
  • ELEMENTARY
  • PR
  • R
  • RE
  • ALL
Hierarchie klas
  • Hierarchia wielomianowa
  • Hierarchia wykładnicza
  • Hierarchia Grzegorczyka
  • Hierarchia arytmetyczna
  • Hierarchia Boole'owska
Rodziny klas
  • DTIME
  • NTIME
  • DSPACE
  • NSPACE
  • Dowód weryfikowalny probabilistycznie
  • Interaktywny system dowodowy