diff --git a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex index c2aa216..b5a925f 100644 --- a/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex +++ b/Berechenbarkeits-KomplexTh/Berechenbarkeits-KomplexTh.tex @@ -5,6 +5,7 @@ \usepackage{amssymb} \usepackage{multicol} \usepackage{framed} +\usepackage{enumerate} %\usepackage{booktabs} %\usepackage{pstricks} %\usepackage{pst-node} @@ -951,13 +952,88 @@ Dann gilt:\\ zu jeder akzeptierenden Rechnung von \(M(x)\) gibt es eine zugehörige Belegung der Variablen von \(F_x\), die \(F_x\) erfüllt, und umgekehrt. - Es gilt also: \(M(x)\) hat gleichviele akzeptierende Rechnungen wie \(F_x\) erfüllende Felegungen.\\ + Es gilt also: \(M(x)\) hat gleichviele akzeptierende Rechnungen wie \(F_x\) erfüllende Belegungen.\\ Insbesondere gilt also:\\ \spa \( x\in L(M) \Leftrightarrow F_x \in SAT \quad \Box\) - Um von einem weiteren Problem A zu zeigen, dass A NP-vollständig ist, genügtes jetzt zu zeigen\\ + Um von einem weiteren Problem A zu zeigen, dass A NP-vollständig ist, genügtves jetzt zu zeigen\\ \spa \( SAT \le^P A \) (und \(A\in NP\))\\ da dann für \( L\in NP\) gilt:\\ \spa \( L \le^P SAT \) und \( SAT \le^P A \Rightarrow L \le^P A\). + \underline{Cook} SAT ist NP-Vollständig + + \satz Sei $A$ NP-Vollständig und \(B\in NP\).\\ + Dann gilt: $B=$ NP-Vollständig \( \Leftrightarrow A \le^P V \) + + \( KNF-SAT = \{ F \in SAT\mid F \text{ ist in KNF} \} \) + + \( k-SAT = \{ F \in KNF-SAT \mid \) jede Klausel von $F$ hat $\le 3$ Literale \( \} \) + + \satz 3-SAT ist NP-Vollständig.\\ + \bew Zeige \( SAT \le^P 3-SAT \)\\ + \bsp Sei $F$ boolsche Formel.\\ + \( F = \left(( x_1 \lor \overline{x_3}) \land x_4 \right) \lor ( \overline{x_2} \land x_3) \) + + \begin{enumerate}[1{. Schritt:}] + \item Bringe alle Negationszeichen nach innen \( \neg(x_1\lor \overline{x_2}) \equiv (\overline{x_1}\land x_2)\) + \item nehme neue Variablen \( y_1,y_2,…\) und ordne jedem Gatter eine Variable zu + \item Definiere G\\ + \( G = (y_1 \leftrightarrow (x_1\lor \overline{x_3})) \land (y_2 \leftrightarrow (y_1 \land x_4)) \land (y_3 \leftrightarrow (\overline{x_2} \land x_3)) \land (y_4 \leftrightarrow (y_2 \lor y_3)) \land y_4 \)\\[3mm] + Dann gilt: \( F \in SAT \Leftrightarrow G \in SAT \)\\[3mm] + \( x_1 = 1, x_2 = 0, x_3 = 1, x_4 = 1 \)\\ + \( y_1 = 1, y_2 = 1, y_3 = 1, y_4 = 1 \) + \item forme einzelne Klammern in KNF um:\\ + \( a \leftrightarrow (b\lor c) \equiv (a\lor \overline{b}) \land (\overline{a}\lor b\lor c) \land (a \lor \overline{c}) \)\\ + \( a \leftrightarrow (b\land c)\equiv (\overline{a}\lor b)\land (a\lor\overline{b}\lor\overline{c})\land(\overline{a}\lor c)\) + \end{enumerate} + + Dann ist $G$ in 3-KNF. \( \blacksquare \)\\ + Es gilt: 2-SAT \(\in P\) + + Not-all-equal-SAT, kurz: NAE-SAT + + gegeben: $F$ in 3-KNF\\ + gefragt: gibt es eine erfüllende Belegung für $F$, so dass in keiner Klausel alle Literale den Wert 1 haben. + + \( F = (x_1 \lor \overline{x_2}) \land (\overline{x_1} \lor x_2) \) + + \satz $NAE-SAT$ ist NP-Vollständig\\ + \bew $NAE-SAT \in NP$:\\ + wähle nicht-deterministisch Belegung a und teste dass jede Klausel erfüllt ist und nicht alle 3 Literale Wert 1 haben. + + Zeige \( SAT \le^P NAE-SAT \)\\ + Sei $F$ beliebige Formel und $G$ die oben konstruierte in 3-KNF.\\ + Es gilt: eine erfüllbare Belegung von $G$ erfüllt nicht alle Literale in Klauseln mit 3 Literalen. + \begin{itemize} + \item \( \overline{a} \lor b\lor c: \) haben $b$ oder $c$ den Wert 1, dann muss $a=1$ sein, da \( a\leftrightarrow a\lor b\) + \item ist \(b=c=0\), dann ist \(a=0\), also \(\overline{a} = 1\) + \end{itemize} + \(a\lor \overline{b}\lor\overline{c}: \) hat \(\overline{b}\) oder \(\overline{v}\) Wert 1, dann ist \( a=0\), da \(a\leftrightarrow(n\lor c\). + \begin{itemize} + \item ist \(\overline{b} = \overline{c} = 0\), dann ist \(a = a\) + \end{itemize} + Für die Klauseln mit 2 Literalen nehme neue Variable $Z$ hinzu und bringe $Z$ in die Klauseln ein:\\ + \( a\lor\overline{b} \to a \lor \overline{b} \lor z \)\\ + \( a\lor\overline{c} \to a \lor \overline{c} \lor z \) + + Sei \(H\) die so entstehende Formal.\\ + Dann gilt: \( F\in SAT\leftrightarrow G \in 3-SAT\)\\ + \( F\in SAT\leftrightarrow G \in NAE-SAT \). + + "\(\Rightarrow\)": Sei \( a = (a_1,…a_n) \) eine erfüllende Belegung von $G$.\\ + Dann wähle $z=0$.\\ + Dann ist \((a_1,…a_n,0)\) erfüllende Belegung von $H$. + + "\(\Leftarrow\)" Sei \( (a_1,a_2,…,a_n,a_{n+1}) \) erfüllende Belegung von $H$ im NAE-Sinn.\\ + \begin{enumerate}[1{. Fall:}] + \item + \( a_{n+1} = 0 \) dann ist, \( a = (a_1,…,a_n)\) erfüllende Belegung von $G$ + \item \(a_{n+1} = 1 \) + Es ist auch \(( \overline{a_1},\overline{a_2},…,\overline{a_n},\overline{x_{n+1}})\) einer erfüllende Belegung von $H$ im NAE-Sinn.\\ + \((0,0,1)\to(1,1,0)\)\\ + Jetzt ist \(t=0\). Dann nach Fall 1. + \end{enumerate} + + \end{document}