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