\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 9}
\author{Marek Lenczewski \\ Matrikelnummer: 1025252}
\date{15.\ Juni 2026}

\begin{document}

\maketitle

\section*{Hausaufgabe 9.1}

\subsection*{Teil 1}

Ein minimales Vertex Cover ist $C = \{2, 7, 5, 4, 1\}$.

\subsection*{Teil 2}

Der Algorithmus arbeitet wie folgt:

\begin{itemize}
  \item Finde nichtdeterministisch die Knoten für $C$. 
  \item Prüfe ob $|C| \le k$, lehne ab falls $|C| > k$.
  \item Prüfe für jede Kante $\{u, v\} \in E$ ob $v \in C$ oder $u \in C$.
  \item Lehne ab, falls für eine Kante $u, v \notin C$.
  \item Sonst akzeptiere.
\end{itemize}

Existiert ein Vertex Cover kleiner-gleich $k$, 
dann gibt es auch eine Knotenmenge $|C| \le k$ dafür. 
Diese wird vom Algorithmus gefunden und akzeptiert. 
Falls es keine solche Knotenmenge gibt, dann lehnt er ab. \\

Auswahl der Knoten und Prüfung der Kanten läuft in $O(|V| + |E|)$, somit in poly. Zeit.
Somit ist das eine poly. NDTM.
Also gilt $VERTEXCOVER \in NP$. 

\newpage

\section*{Hausaufgabe 9.2}

\subsection*{Teil 1}

Ein minimales Feedback Vertex Set ist $X = \{1, 5\}$.

\subsection*{Teil 2}

Eingabe: Graph $G=(V,E)$ und Zertifikat $X \subseteq V$. \\

Der Verifizierer arbeitet wie folgt:

\begin{itemize}
  \item Prüfe ob $|X| \le k$, lehne ab falls $|X| > k$. 
  \item Konstruiere $H=(V \setminus X,E)$. 
  \item Starte eine Tiefensuche auf $H$ und markiere bereits besuchte Knoten grau.
  \item Beim Backtracking markiere Knoten schwarz. 
  \item Wird ein grauer Knoten aufgerufen, dann lehne ab. 
  \item Sonst akzeptiere.

\end{itemize}

Existiert ein Feedback Vertex Set kleiner-gleich $k$, 
dann gibt es ein Zertifikat $X$ mit $|X| \le k$ dafür. 
Die Knotenmenge wird vom Verifizierer akzeptiert und sonst abgelehnt. \\ 

Prüfung von $X$, Konstruktion von $H$ und die Tiefensuche laufen in $O(|V| + |E|)$. 
Somit ist das ein poly. Verifizierer.
Also gilt $FEEDBACKVERTEXSET \in NP$. 

\end{document}
