2011-11-30 Berechenbarkeits-KomplexTh 1.VL

main
Thomas Ba. 14 years ago
parent 6c853a6eb3
commit 317b674493

@ -5,6 +5,7 @@
\usepackage{amssymb} \usepackage{amssymb}
\usepackage{multicol} \usepackage{multicol}
\usepackage{framed} \usepackage{framed}
\usepackage{enumerate}
%\usepackage{booktabs} %\usepackage{booktabs}
%\usepackage{pstricks} %\usepackage{pstricks}
%\usepackage{pst-node} %\usepackage{pst-node}
@ -951,13 +952,88 @@
Dann gilt:\\ 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. 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:\\ Insbesondere gilt also:\\
\spa \( x\in L(M) \Leftrightarrow F_x \in SAT \quad \Box\) \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\))\\ \spa \( SAT \le^P A \) (und \(A\in NP\))\\
da dann für \( L\in NP\) gilt:\\ da dann für \( L\in NP\) gilt:\\
\spa \( L \le^P SAT \) und \( SAT \le^P A \Rightarrow L \le^P A\). \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} \end{document}

Loading…
Cancel
Save