This commit is contained in:
team3
2026-07-20 22:34:19 +02:00
commit d988d850dd
177 changed files with 2032708 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
\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}