|
|
@ -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}
|
|
|
|