From b3186828c0c69be703191155efc2f7bf8b9c33de Mon Sep 17 00:00:00 2001 From: Thomas Ba Date: Wed, 16 Nov 2011 12:22:07 +0100 Subject: [PATCH] 2011-11-16 Berechenbarkeits-KomplexTh --- .../Berechenbarkeits-KomplexTh.tex | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) diff --git a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex index a1dddb9..329c641 100644 --- a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex +++ b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex @@ -674,4 +674,173 @@ falls ja, akzeptiere, sonst verwerfe \end{itemize} + + HAM nichtdeterministisch effizient lösbar. + + \underline{Erfüllbarkeit logischer Formeln}, SAT + + \( F(x_1, …, x_n) = (\overline{x_1 \land x_2} \lor x_3) \to (x_4 \land \overline{x_5}) \)\\ + 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 \( \ge 2^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\ge 1} 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\ge 0} 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\ge 0} DSPACE(n^k) \)\\ + \( NSPACE = \bigcup\limits_{l\ge 0} 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 \).\\ + d.\,h. \(f(G) = (n,L,d) \) + \end{enumerate} + \end{document}