|
|
|
@ -50,7 +50,7 @@
|
|
|
|
|
\newcommand{\spa}{\hspace*{4mm}}
|
|
|
|
|
\newcommand{\defin}{\textcolor{darkgreen}{\textbf{Def.: }}}
|
|
|
|
|
\newcommand{\satz}{\textcolor{darkblue}{\textbf{Satz: }}}
|
|
|
|
|
\newcommand{\bew}{\textcolor{greenblue}{\textbf{Beweis: }}}
|
|
|
|
|
\newcommand{\bew}[1][]{\textcolor{greenblue}{\textbf{Beweis}}#1:}
|
|
|
|
|
\newcommand{\bsp}{\textcolor{lightgreen}{\textbf{Bsp.: }}}
|
|
|
|
|
\newcommand{\rrfloor}{\right\rfloor}
|
|
|
|
|
\newcommand{\llfloor}{\left\lfloor}
|
|
|
|
@ -1036,6 +1036,89 @@
|
|
|
|
|
Jetzt ist \(t=0\). Dann nach Fall 1.
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
NP-Vollständig sind: \(SAT, 3-SAT, NAE-SAT \)
|
|
|
|
|
|
|
|
|
|
\underline{k-Färbbarkeit}
|
|
|
|
|
|
|
|
|
|
gegeben: \( G = (V,E) \) ungerichtet\\
|
|
|
|
|
gefragt: \( \exists f: V \to \{ 1, …, k\} \) mit \( f(n) \ne f(v) \quad \forall (u,v) \in E\)
|
|
|
|
|
|
|
|
|
|
\satz 3-Färbbarkeit ist NP-Vollständig\\
|
|
|
|
|
\bew[ in NP] gebe nichtdeterministisch jedem Knoten eine der 3 Farben. Dann prüfe, ob es eine 3-Färbung ist.\\
|
|
|
|
|
Beachte: Suchraum aller Zuordnungen von Farben zu V hat größe \(3^n\)
|
|
|
|
|
|
|
|
|
|
Es gibt \(k^n\) Funktionen \(f: V\to \{1,…,k\}\)
|
|
|
|
|
|
|
|
|
|
Zeige: \(NAE-SAT \le^P \) 3-Färbbarkeit.\\
|
|
|
|
|
gegeben: $F$ in \(3-KNF\)\\
|
|
|
|
|
Konstruiere einen Graph $G$, so dass \( F\in NAE-SAT \Leftrightarrow G \) 3-Färbbar
|
|
|
|
|
|
|
|
|
|
\bsp \( F = ( x_1 \lor \overline{a_x} \lor x_3 )\land … = c_1 \land c_2 \land … \land c_m \)
|
|
|
|
|
|
|
|
|
|
\begin{enumerate}[1)]
|
|
|
|
|
\item
|
|
|
|
|
Sei \(F\in NAE-SAT\) und \( a=(a_1,a_2,…,a_n)\) eine erfüllende Belegung für $F$. Dann ist G 3-Färbbar.\\
|
|
|
|
|
$x_i$ Farbe $a_i$ und $\overline{x_i}$ Farbe $\overline{a_i}$.\\
|
|
|
|
|
Bei den Klauseln: pro $\triangle$:
|
|
|
|
|
\begin{itemize}
|
|
|
|
|
\item wähle ein Literal mit Wert 1 und gebe Knoten die Farbe 1
|
|
|
|
|
\item wähle ein Literal mit Wert 0 und gebe Knoten Farbe 0
|
|
|
|
|
\item Knoten vom dritten Literal bekommt Farbe 2.
|
|
|
|
|
\end{itemize}
|
|
|
|
|
\item Sei G 3-Färbbar:\\
|
|
|
|
|
Der Wurzelknoten habe Farbe 2 (sonst permutiere Farben in $G$).\\
|
|
|
|
|
Sei $a_i$ die Farbe von $x_i$ im oberen Teil, d.\,h. \( a_i\in\{0,1\}\). Belege Variable \(x_i\) ind $F$ mit $a_i$.
|
|
|
|
|
Dann ist \( a = (a_1,…,a_n)\) eine erfüllende Belegung vonm $F$.\\
|
|
|
|
|
In Klausel-\(\triangle\) gibt es alle 3 Farben. Literal mit Farbe 0 hat Wert 0 in der Klausel, Literal mit Farbe 1 hat Wert 1 in der Klausel.\\
|
|
|
|
|
\(\Rightarrow F\) ist erfüllt.
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
$G$ bipartit.\\
|
|
|
|
|
\( \Leftrightarrow G\) 2-färbbar\\
|
|
|
|
|
\( \Leftrightarrow\) alle Kreise in $G$ haben gerade Länge.
|
|
|
|
|
|
|
|
|
|
Algeimein für 2-färbbar:
|
|
|
|
|
\begin{enumerate}[1)]
|
|
|
|
|
\item starte mit beliebigem Knoten $v$ und gebe $v$ Farbe 1
|
|
|
|
|
\item Wiederhole:\\
|
|
|
|
|
\spa gebe Nachbarn von $v$ andere Farbe, wähle nächstes $v$.\\
|
|
|
|
|
Trifft man dabei auf einen bereits gefärbten Knoten mit anderer Farbe als er jetzt bekommen sollte, dann ist $G$ nicht2-färbbar.
|
|
|
|
|
\(\Rightarrow\) 2-Färbbarkeit \( \in P\)
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\satz $HAM$ ist NP-Vollständig\\
|
|
|
|
|
Zeige: $3-SAT \le^P HAM$\\
|
|
|
|
|
Gegeben: \( F(x_1,…,x_n) = c_1\land c_2 \land … \land c_n \)\\
|
|
|
|
|
Konstruiere einen Graph $G$, so dass \( F\in 3-SAT \Leftrightarrow G\in HAM\)
|
|
|
|
|
|
|
|
|
|
G: Für jede Variable $x_i$ konstruiere folgenden Teilgraph.
|
|
|
|
|
|
|
|
|
|
Soweit hat der Graph $2^n$ ham. Kreise und diese lassen sich je einer Belegung der Variablen von $F$ zuordnen.
|
|
|
|
|
|
|
|
|
|
\bsp \( F = (x_1 \lor \overline{x_2} \lor \overline{x_3}) \land (x_2 \lor \overline{x_3}) \)
|
|
|
|
|
|
|
|
|
|
\begin{enumerate}[1)]
|
|
|
|
|
\item
|
|
|
|
|
Sei $F\in 3-SAT$ und $a=(a_1,…,a_n)$ eine erfüllende Belegung für $F$.\\
|
|
|
|
|
Dann hat $G$ einen ham. Kreis:\\
|
|
|
|
|
gehe bei Teilgraph für $x_i$ nach links, falls $a_i = 0$ und nach recht, falls $a_i=1$ ist.\\
|
|
|
|
|
\begin{itemize}
|
|
|
|
|
\item Kommt $x_i$ in $C_j$ vor und ist $a_i=1$ und $C_j$ noch nicht besucht worden, dann verzweige zu Klauselknoten $C_j$.
|
|
|
|
|
\item kommt $\overline{x_i}$ in $C_j$ vor und ist $a_i = 0$ und $C_j$ noch nicht besucht, dann verzweige zu Knoten für $C_j$.
|
|
|
|
|
\end{itemize}
|
|
|
|
|
Da $a$ $F$ erfüllt, wird so jeder Klauselknoten erreicht.
|
|
|
|
|
\item
|
|
|
|
|
Sei $G \in HAM$.\\
|
|
|
|
|
Es gibt nur ham. Kreise wie unter 1) beschrieben und diese entsprechen dann erflüllender Belegung von $F$.
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\( HAM_{ger} \le^P HAM_{unger} \)\\
|
|
|
|
|
Gegeben: $G$ gerichtet.\\
|
|
|
|
|
Konstruiere $G'$ ungerichtet, so dass:\\
|
|
|
|
|
\( G \in HAM_{ger} \Leftrightarrow G' \in HAM_{unger} \)
|
|
|
|
|
\begin{enumerate}[1)]
|
|
|
|
|
\item Ein ham. Kreis in $G$ liefert direkt einen ham. Kreis in $G'$.
|
|
|
|
|
\item Ham. Kreise in $G'$ müssen die Richtun gvon $G$ einhalten (oder komplett in Gegenrichtung). Andernfalls bleibt man stecken, z.\,B. bei $v^1$.
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
\end{document}
|
|
|
|
|