Satz von Savitch
# Satz von Savitch

Der Satz von Savitch oder Theorem von Savitch ist ein Satz aus der Komplexitätstheorie, der 1970 von Walter Savitch bewiesen wurde. Er besagt, dass ein von einer nichtdeterministischen Turingmaschine mit einer bestimmten Platzkomplexität lösbares Problem auf einer deterministischen Turingmaschine mit einer quadratisch höheren Platzschranke gelöst werden kann.

Eine Folgerung aus dem Satz von Savitch ist die Gleichheit von PSPACE und NPSPACE.

## Aussage

Sei $s:\mathbb {N} \rightarrow \mathbb {N}$ eine platzkonstruierbare Funktion mit $s(n)\in \Omega (\log(n))$. Dann gilt:

    ${\text{NSPACE}}(s(n))\subseteq {\text{DSPACE}}((s(n))^{2})$

## Beweisidee

Nehmen wir an, $L\in {\mbox{NSPACE}}(s(n))$, d. h., es gibt eine nichtdeterministische Turingmaschine $M$ mit Platzbedarf $s(n)$, welche genau die Sprache $L$ akzeptiert. Aufgrund der Platzbeschränkung kann $M$ nur $|Q|\cdot n\cdot s(n)\cdot |\Gamma |^{s(n)}$ verschiedene Konfigurationen annehmen, wobei $|Q|$ die Anzahl ihrer Zustände und $|\Gamma |$ die Anzahl verschiedener Bandsymbole bezeichne. Wenn diese Maschine also eine Eingabe $w$ der Länge $n$ akzeptiert, (genau dann) gibt es auch einen akzeptierenden Lauf mit weniger als $|Q|\cdot n\cdot s(n)\cdot |\Gamma |^{s(n)}$ Rechenschritten. Betrachten wir ein Prädikat

    ${\mbox{Reach}}(\alpha ,\beta ,i){\stackrel {\text{def}}{\iff }}$ Die NTM $M$ kann ausgehend von der Konfiguration $\alpha$ innerhalb von $2^{i}$ Rechenschritten die Konfiguration $\beta$ erreichen.

Bezeichne ${\mbox{Start}}(w)$ die Anfangskonfiguration der NTM bei Eingabe des Wortes $w$ und ${\mbox{Accept}}$ die akzeptierende Haltekonfiguration. Dann können wir „$M$ akzeptiert $L$“ (mit geeigneter Konstante $C$ abhängig von $s$ und $M$) formulieren als:

    ${\mbox{Reach}}({\mbox{Start}}(w),{\mbox{Accept}},C\cdot s(n))\iff w\in L$.

Wir wissen, dass eine deterministische Turingmaschine mit Platzbedarf $s(n)$ berechnen kann, ob ${\mbox{Reach}}(\alpha ,\beta ,1)$ zutrifft. Außerdem hat ${\mbox{Reach}}$ die Eigenschaft

    ${\mbox{Reach}}(\alpha ,\beta ,i+1)\iff$ es gibt eine Zwischen-Konfiguration $\gamma$ mit ${\mbox{Reach}}(\alpha ,\gamma ,i)$ und ${\mbox{Reach}}(\gamma ,\beta ,i)$.

Eine deterministische Turingmaschine kann ${\mbox{Reach}}(\alpha ,\beta ,i+1)$ berechnen, indem sie alle möglichen Konfigurationen $\gamma$ aufzählt und für jedes $\gamma$ jeweils (nacheinander) ${\mbox{Reach}}(\alpha ,\gamma ,i)$ und ${\mbox{Reach}}(\gamma ,\beta ,i)$ berechnet. Dazu genügen (für geeignetes $C'$) $C'\cdot s(n)$ Bandzellen für $\gamma$ und $C'\cdot i\cdot s(n)$ Bandzellen für die Berechnung von ${\mbox{Reach}}(\alpha ,\gamma ,i)$ bzw. ${\mbox{Reach}}(\gamma ,\beta ,i)$. Insbesondere kann eine solche DTM also mit Platzbedarf $C\cdot C'\cdot s^{2}(n)$ ermitteln, ob ${\mbox{Reach}}({\mbox{Start}}(w),{\mbox{Accept}},C\cdot s(n))$ und damit, ob $w\in L$.

Die Wahl geeigneter Konstanten $C,C'$ ist insbesondere wegen $s(n)\in \Omega (\log n)$ möglich.

