\documentclass[12pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman,provide=*]{babel} \usepackage{amsmath} \usepackage{amssymb} \usepackage[a4paper,margin=2.5cm]{geometry} \title{Hausaufgabe 11} \author{Marek Lenczewski \\ Matrikelnummer: 1025252} \date{29.\ Juni 2026} \begin{document} \maketitle \section*{Hausaufgabe 11.1} \subsection*{Teil 1: $\Delta$-Cover ist in NP} Eingabe: Graph $G = (V, E)$, Zahl $k$ und Zertifikat $C_\Delta \subseteq V$. \\ Der Verifizierer arbeitet wie folgt: \begin{itemize} \item Prüfe ob $|C_\Delta| \le k$, lehne ab falls $|C_\Delta| > k$. \item Prüfe für jedes Knotentripel $\{a, b, c\} \subseteq V$, ob es ein Dreieck bildet (also ob $\{a,b\}, \{b,c\}, \{a,c\} \in E$). \item Lehne ab, falls ein solches Dreieck kein $a$, $b$ oder $c$ in $C_\Delta$ hat. \item Sonst akzeptiere. \end{itemize} Existiert eine Dreiecksüberdeckung $C_\Delta$ mit $|C_\Delta| \le k$, dann gibt es ein Zertifikat dafür. Dieses wird vom Verifizierer akzeptiert und sonst abgelehnt. \\ Die Größenprüfung läuft in $O(|V|)$ und das Prüfen aller Tripel in $O(|V|^3)$, somit in poly. Zeit. Also gilt $\Delta\text{-}COVER \in NP$. \subsection*{Teil 2: $\Delta$-Cover ist NP-schwer} Zeige, dass $\Delta\text{-}COVER$ NP-schwer ist durch die Reduktion: \\ $VERTEXCOVER \le \Delta\text{-}COVER$. \\ $VERTEXCOVER$ ist bereits als NP-vollständig bekannt. \\ \textbf{Konstruktion}: Sei $G = (V, E)$ und $k$ eine Instanz von $VERTEXCOVER$. \\ Wir konstruieren daraus eine $\Delta\text{-}COVER$-Instanz $G' = (V', E')$ durch: \begin{itemize} \item Für jede Kante $e = \{u, v\} \in E$ füge einen neuen Knoten $w_e$ hinzu. \item $V' = V \cup \{ w_e \mid e \in E \}$ \item $E' = E \cup \{ \{u, w_e\}, \{v, w_e\} \mid e = \{u,v\} \in E \}$ \item $k' = k$ \end{itemize} So wird aus jeder Kante $e = \{u, v\}$ ein Dreieck $\{u, v, w_e\}$. \\ \textbf{Beweis VertexCover nach $\Delta$-Cover}: \begin{itemize} \item Sei $C$ ein VertexCover von $G$ mit $|C| \le k$. \item Zu zeigen sei, dass $C$ auch eine $\Delta$-Cover für $G'$ mit $|C| \le k'$ ist. \item Jedes Dreieck in $G'$ hat die Form $\{u, v, w_e\}$ für eine Kante $e = \{u, v\} \in E$. \item Da $C$ ein VertexCover ist, gilt $u \in C$ oder $v \in C$. \item Somit hat jedes Dreieck mindestens einen Knoten in $C$. \item Also ist $C$ eine $\Delta$-Cover für $G'$ mit $|C| \le k'$. \end{itemize} \textbf{Beweis $\Delta$-Cover nach VertexCover}: \begin{itemize} \item Sei $C_\Delta$ eine $\Delta$-Cover für $G'$ mit $|C_\Delta| \le k'$. \item Jede Kante $e = \{u, v\} \in E$ bildet durch $\{u, v, w_e\}$ ein Dreieck in $G'$. \item Also gilt $u, v$ oder $w_e \in C_\Delta$ für alle Kanten $e \in E$. \item Falls $w_e \in C_\Delta$, dann kann man $w_e$ durch $u$ ersetzen, ohne die Eigenschaft von $\Delta$-Cover zu verletzen. \item Denn $w_e$ liegt in genau einem Dreieck $\{u, v, w_e\}$, das auch durch $u$ gedeckt wird. \item So entsteht eine Menge $C$ mit $|C| \le |C_\Delta| \le k$, die nur noch Knoten aus $V$ enthält. \item Für jede Kante $e = \{u, v\} \in E$ gilt nun $u \in C$ oder $v \in C$. \item Also ist $C$ ein VertexCover für $G$ mit $|C| \le k$. \end{itemize} \textbf{Laufzeit}: Pro Kante werden ein Knoten und zwei Kanten hinzugefügt $O(|E|)$, also bleibt die Transformation polynomiell. \\ Da $\Delta\text{-}COVER \in NP$ und NP-schwer ist, folgt dass $\Delta\text{-}COVER$ NP-vollständig ist. \hfill $\square$ \newpage \section*{Hausaufgabe 11.2} \subsection*{$HALT_{TM}$ ist NP-schwer} Zeige, dass $HALT_{TM}$ NP-schwer ist durch die Reduktion: \\ $SAT \le HALT_{TM}$. \\ $SAT$ ist bereits als NP-vollständig bekannt, also insbesondere NP-schwer. \\ \textbf{Konstruktion}: Sei $\varphi$ eine $SAT$-Instanz mit den Variablen $x_1, \dots, x_n$. \\ Wir konstruieren daraus eine $HALT_{TM}$-Instanz $\langle M, w \rangle$ durch: \begin{itemize} \item $w = \langle \varphi \rangle$, also die Kodierung der Formel $\varphi$. \item $M$ ist eine feste DTM , die auf Eingabe $\langle \varphi \rangle$ wie folgt arbeitet: \begin{enumerate} \item Lese $\varphi$ und probiere nacheinander alle $2^n$ Belegungen $\beta$ der Variablen $x_1, \dots, x_n$. \item Falls eine Belegung $\beta$ die Formel $\varphi$ erfüllt, halte. \item Falls alle $2^n$ Belegungen geprüft wurden und keine $\varphi$ erfüllt, gehe in eine Endlosschleife. \end{enumerate} \end{itemize} Die Abbildung $f(\varphi) = \langle M, w \rangle$ kodiert nur $\varphi$; die Maschine $M$ ist konstant. Somit ist $f$ in poly. Zeit berechenbar. \\ \textbf{Beweis SAT nach $HALT_{TM}$}: \begin{itemize} \item Sei $\varphi \in SAT$. \item Dann existiert eine erfüllende Belegung $\beta$. \item $M$ probiert alle Belegungen und findet $\beta$, also hält $M$ auf $w$. \item Damit gilt $\langle M, w \rangle \in HALT_{TM}$. \end{itemize} \textbf{Beweis $HALT_{TM}$ nach SAT}: \begin{itemize} \item Sei $\langle M, w \rangle \in HALT_{TM}$, also hält $M$ auf $w$. \item $M$ hält nur, wenn es eine erfüllende Belegung $\beta$ findet. \item Denn ohne erfüllende Belegung geht $M$ in die Endlosschleife. \item Also existiert eine erfüllende Belegung für $\varphi$. \item Damit gilt $\varphi \in SAT$. \end{itemize} \textbf{Laufzeit}: Es wird nur $\varphi$ kodiert und die feste Maschine $M$ ausgegeben $O(|\varphi|)$, also bleibt die Transformation polynomiell. \\ Da $SAT$ NP-schwer ist und $SAT \le HALT_{TM}$ gilt, folgt dass $HALT_{TM}$ NP-schwer ist. \hfill $\square$ \end{document}