Frage: gibt es eine Belegung \( a \in\{0,1\}^n\) so dass \( F(a)=1\).
Deterministischer Algorithmus: durchlaufe alle \( a\in\{0,1\}^n\) und teste jeweils, \(F(a)=1\).\\
Laufzeit \(\ge2^n \), exponentiell.
Nichtdeterministisch: Rate nichtdeterministisch ein \(a\in\{0,1\}^n \) und teste ob \(F(a)=1\).
\begin{tabular}{ccc}
\hline
&F&\\
\hline
\end{tabular}
\begin{tabular}{c|c|c|c|c}
\hline
&x&x&…&x\\
\hline
\end{tabular}
markiere n Bandfelder.\\
fülle diese nichtdeterministisch mir 0 oder 1 aus
\(\delta(Z_1,x)=\{(Z_1,0,N,R),(Z_1,1,N,R)\}\)
KNF-SAT = Erfüllbarkeit für Formeln F in KNF\\
Bsp. \( F =(x_1\lor\overline{x_2}\lor x_3)\land(x_2\lor\overline{x_3}\lor x_4)\land(x_5\lor\overline{x_6}\lor x_9\lor\overline{x_1})\)
DNF-SAT = analog\\
\( F =(x_1\land\overline{x_2}\land x_3)\lor(x_2\land\overline{x_5}\land x_4)\lor(x_5\land\overline{x_6}\land x_9\land\overline{x_1})\)\\
Es genügt, eine Klausel zu erfüllen \(\Rightarrow\) DNF-SAT\\
\(\Rightarrow\) DNF-SAT ist effizient lösbar.
\underline{Einteilung in Klassen}
Sei \( t: \mathbb N \to\mathbb N\)\\
\( DTIME(t)=\{ L \le\Sigma^*\mid\) es gibt eine Turingmaschine M mit \( L(M)= L \) und M macht \(O(t(m))\) Schnitte auf Eingaben der Länge \( n\}\)\\
Analog: \(NTIME(t)\) für NTM.
Analog für Speicherplatz:\\
Hier mit 2-Band Turingmaschine. Dabei darf das Eingabeband nicht verändert werden. Speicherbedarf wird nur in Bezug auf das 2. Band gemessen.\\
Für \( S: \mathbb N \to\mathbb N \)\\
\( DSPACE(s)=\{ L\mid\) es gibt M mit \(L(M)=L\) und M braucht \(O(s(m))\) Platz auf Eingaben der Länge \(n\}\)
\bsp Reguläre Sprachen \(\le DTIME(n)\).\\
Kontextfreie Sprachen in CNF mit CYK-Algorithmus \(\le DTIME(n^3)\) (evtl. $n^4$)
Polynomische Rechenzeit:\\
\( P =\bigcup\limits_{k\ge1} DTIME(n^k)\)\\
\( P = DTIME(n)\cup DTIME(n^2)\cup … \)
Nichtdeterministische polynomische Rechenzeit\\
\( NP =\bigcup\limits_{k\ge1} NTIME(n^k)\)
\bsp\( HAM \in NP,\)\(SAT, CNF-SAT \in NP \)\\
\( DNF-SAT \in P \)
Offenes Problem: \( HAM, SAT \in P \) ?
In $P$ sind auch Probleme mit Laufzeit \(n^{1000}\). Aber auch mit dieser Laufzeit ist kein Algorithmus für SAT bekannt!
\(\left. \frac{\text{Registermaschienen}}{\text{RAM}}\right\rbrace\) moderne Hardware statt Turingmaschine.\\
Gegenseitige Simulation möglich. Typischer Zeitzuwachs ist dabei ein Faktor von $n^3$ oder $n^4$.\\
D.\,h. $P$ bleibt gleich bei anderer Hardware, genauso NP.
Exponentielle Zeit\\
\( EXP =\bigcup\limits_{k\ge0} DTIME(2^{n^k})\)\\
\( NEXP =\) analog mit \(NTIME\)
\underline{Logarithmischer Platz}
\( L = DSPACE(\log n)\)\\
\(NL = NSPACE(\log n)\)
\underline{Polynomischer Platz}
\( PSPACE =\bigcup\limits_{k\ge0} DSPACE(n^k)\)\\
\( NSPACE =\bigcup\limits_{l\ge0} NSPACE(n^k)\)
Es gilt:
\begin{enumerate}
\item
\( DTIME(t)\le DSPACE(t)\)\\
pro Schritt kann höchstens ein weiteres Bandfeld beschrieben werden.\\
\( NTIME(t)\le NSPACE(t)\)\\
Folgerungen:\\
\( P \le PSPACE\)\\
\( NP \le NPSPACE\)
\item
\( DTIME(t)\le NTIME(t)\)\\
\( DSPACE(s)\le NSPACE(s)\)\\
Folgerungen:\\
\( P \le NP \)\\
\( EXP \le NEXP \)\\
\( L \le NL \)\\
\( PSPACE \le NPSPACE \)
\item
\( NTIME(t)\le DTIME(2^{O(t)})\)\\
Folgerung:\\
\( NP \le EXP \)
\item
\( DSPACE(t)\le DTIME(2^{O(t)})\) (sogar für \(NSPACE(t)\))\\
ohne Beweis\\
Folgerungen:\\
\( PSPACE \le EXP\)\\
\( NL \le P \)
\item
\underline{Satz von Savitch}\\
Sei \(S(m)\ge\log n\)\\
\(NSPACE(s)\le DSPACE(s^2)\)\\
Folgerungen:\\
\( NPSPACE \le PSPACE \)\\
d.\,h. \( PSPACE = NPSPACE \)
\end{enumerate}
Zusammenfassung:\\
\( L \le NL \le P \le NP \le PSPACE \le EXP \le NEXP \)\\
Alle Inklusionen sind offen (ob sie echt sind).\\
z.\,B. \( P \overset{?}{=} NP \leftarrow\) Preis\\
\( L \overset{?}{=} NL \)\\
\( NL \overset{?}{=} P \)\\
\( MP \overset{?}{=} PSPACE\)
Bekannt ist:\\
\( NL \ne PSPACE \)\\
aber \( NL \overset{?}{=} NP \) ist offen.\\
\( P \ne EXP \)\\
aber \( P \overset{?}{=} PSPACE\) ist offen \\
\( NP \ne NEXP \)\\
aber \( NP \overset{?}{=} EXP \) ist offen.\\
offen ist \( L \overset{?}{=} NP \)
\underline{Reduktionen:}
Seien \(A,B \subseteq\Sigma^*\) Sprachen.\\
\underline{A ist auf B reduzierbar}, schreibe \( A \le^P B\), falls es eine in polynomieller Zeit berechenbare Funktion \(f: \Sigma^*\to\Sigma^*\) gibt, so dass gilt:\\
\(\forall x \in\Sigma^*\quad x\in A \leftrightarrow f(x)\in B \).
d.\,h. \( x\in A \Rightarrow f(x)\in B\)\\
und \( x\not\in A \Rightarrow f(x)\not\in B\)
\bsp Traveling Salesman (TSP)\\
Finde kürzeste Rundreise die jede Stadt genau einmal besucht.
\underline{TSP}\\
gegeben: \( n, L, d: \{0,…,n\}^2\to\mathbb N\)\\
gefragt: gibt es eine Permutationen (=Rundreise)\\
\spa der Länge \(\le L \)\\
dabei ist \( d(i,j)= d(j,i)=\) Abstand von Stadt zu Stadt.
\satz\( HAM \le^P TSP \)\\
\bew gegeben sei \( G =(V,E)\) mit \(\left|V\right| = n\).\\
Definiere:\\
\spa\( d(i,j)=\begin{cases}1, &\text{falls }(i,j)\in E \\2, &\text{sonst}\end{cases}\)
\begin{enumerate}
\item Ein hamilton Kreis ind G liefert eine TSP-Tour der Länge n.
\item Hat G keinen hamilton Kreis, dann benützt \underline{jede} TSP-Tour mindestens eine Kante der Länge 2\\
\(\Rightarrow\) Gesamtlänge \(\ge n+1\)\\
Dann gilt also\\
\spa\( G\in HAM \Leftrightarrow(n, L, d)\in TSP \).\\