\documentclass[11pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[margin=2.5cm]{geometry}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usepackage{xcolor}

\setlength{\parskip}{0.4em}
\setlength{\parindent}{0pt}
\emergencystretch=1.5em

% ---- Makros ----
\newcommand{\problem}[1]{\textsc{#1}}
\newcommand{\redp}{\le_p}
\newcommand{\NP}{\textsf{NP}}
\newcommand{\true}{\textsf{wahr}}
\newcommand{\false}{\textsf{falsch}}
\tikzset{knoten/.style={circle,draw,thick,minimum size=6.5mm,inner sep=1pt}}

% ---- Pseudocode-/Grafik-Box (ersetzt framed's shaded) ----
\definecolor{boxbg}{gray}{0.94}
\newsavebox{\shadedbox}
\newenvironment{shaded}
  {\par\smallskip\noindent\begin{lrbox}{\shadedbox}\begin{minipage}{\dimexpr\linewidth-2\fboxsep\relax}}
  {\end{minipage}\end{lrbox}\colorbox{boxbg}{\usebox{\shadedbox}}\par\smallskip}

% ---- Aufgabenkopf ----
\newcommand{\aufgabe}[2]{\medskip\noindent{\large\textbf{Aufgabe #1}}\hfill\textbf{(#2)}\par\smallskip
  \noindent\rule{\linewidth}{0.4pt}\par\medskip}

\begin{document}
\thispagestyle{empty}

% ============================= KOPF =============================
\begin{minipage}[t]{0.16\textwidth}
  \raisebox{-1.0cm}{\fbox{\parbox[t]{2.4cm}{\centering\scriptsize CAU-Siegel\\[2pt]\textit{(rundes Universit\"ats\-siegel)}}}}
\end{minipage}\hfill
\begin{minipage}[t]{0.82\textwidth}
  \textbf{\large CHRISTIAN-ALBRECHTS-UNIVERSIT\"AT ZU KIEL}\\[2pt]
  Institut f\"ur Informatik, Arbeitsgruppe Algorithmen und Komplexit\"at\\
  Prof.\ Dr.\ K.\ Jansen\\[6pt]
  \hfill \"Ubungsmaterial zur Klausurvorbereitung
\end{minipage}

\vspace{6pt}
\begin{center}
  \textbf{\large Probeklausur 1}\\[4pt]
  \textbf{\large Analyse von Algorithmen und Komplexit\"at, SS 2026}
\end{center}

\medskip
\begin{center}
Name:\ \underline{\hspace{3.5cm}}\qquad Matrikel-Nr.:\ \underline{\hspace{3.5cm}}
\end{center}

\vspace{0.6cm}
\noindent\textit{Hinweise:}
\begin{itemize}
  \item Bearbeiten Sie \textit{alle} Aufgaben.
  \item Sie haben 10 Minuten Einlesezeit. Danach haben Sie \textbf{120 Minuten} Zeit f\"ur die Klausurbearbeitung.
  \item Erlaubte Hilfsmittel: Ein doppelseitig handschriftlich beschriebenes Blatt Papier DIN A4, (bunte) Stifte (kein Rot, kein Gr\"un, kein Bleistift).
  \item Die Klausur besteht aus \textbf{5 Aufgaben}, die alle \textbf{10 Punkte} wert sind.
  \item Zum Bestehen m\"ussen mindestens \textbf{18 Punkte} erreicht werden.
  \item Aufgabe 5 gibt zus\"atzlich \textbf{10 Bonuspunkte}. Insgesamt k\"onnen also \textbf{50 Punkte plus 10 Bonuspunkte} erreicht werden.
\end{itemize}

% ============================= A1 =============================
\newpage
\aufgabe{1 \quad ANWENDUNG -- CHRISTOFIDES' ALGORITHMUS}{6 + 4 Punkte}
Gegeben sei folgender vollst\"andiger, symmetrischer Graph $G = (V,E)$ auf den
Knoten $\{a,b,c,d\}$. Die Dreiecksungleichung gilt f\"ur jede Kante.
\begin{center}
\begin{tikzpicture}
  \node[knoten] (a) at (0,2.4)   {$a$};
  \node[knoten] (b) at (2.4,2.4) {$b$};
  \node[knoten] (c) at (0,0)     {$c$};
  \node[knoten] (d) at (2.4,0)   {$d$};
  \draw (a) -- (b) node[fill=white,inner sep=1pt,font=\small,midway] {1};
  \draw (a) -- (c) node[fill=white,inner sep=1pt,font=\small,midway] {2};
  \draw (b) -- (d) node[fill=white,inner sep=1pt,font=\small,midway] {4};
  \draw (c) -- (d) node[fill=white,inner sep=1pt,font=\small,midway] {4};
  \draw (a) -- (d) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
  \draw (b) -- (c) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
\end{tikzpicture}
\end{center}

\begin{itemize}
\item[a)] Wenden Sie den Algorithmus von Christofides ($\Delta$TSP2) auf den Graphen
$G$ mit Startknoten $a$ an. Geben Sie dabei alle Graphen an, die in
Zwischenschritten entstehen. Erw\"ahnen Sie ebenfalls Schritte, die bei dieser
Anwendung zu keiner \"Anderung f\"uhren, die der Algorithmus aber \"uberpr\"ufen
muss. Geben Sie au{\ss}erdem die L\"ange der berechneten Rundreise an.

\item[b)] Was berechnet der Algorithmus von Christofides? F\"ur die Korrektheit
werden zwei zus\"atzliche Eigenschaften f\"ur die Eingabe des
Travelling-Salesperson-Problems ben\"otigt. Nennen Sie die beiden Eigenschaften
und geben Sie jeweils eine Eingabe an, welche die Eigenschaft \emph{nicht}
erf\"ullt. Geben Sie auch die G\"ute des Algorithmus an.
\end{itemize}

% ============================= A2 =============================
\newpage
\aufgabe{2 \quad VORLESUNGSBEWEIS -- DEFINITION NP}{2 + 8 Punkte}
Beweisen Sie folgende Aussage:
\[ \{L \subseteq \Sigma^* \mid \exists\ \text{polynomieller Verifizierer f\"ur } L\} \subseteq \]
\[ \{L \subseteq \Sigma^* \mid \exists\ \text{NDTM } M \text{ \"uber } \Gamma \supset \Sigma \text{ und ein Polynom } T, \]
\[ \text{sodass } M \text{ die Sprache } L \text{ in nicht-deterministischer Zeit } T \text{ akzeptiert}\} \]

Ausformuliert bedeutet das: Sei $L \subseteq \Sigma^*$ eine Sprache, f\"ur die
ein polynomieller Verifizierer existiert. Nun m\"ussen Sie folgende Aussage
beweisen: Es existiert eine NDTM $M$ \"uber einem Alphabet $\Gamma \supset
\Sigma$ und ein Polynom $T$, sodass $L$ von $M$ in nicht-deterministischer Zeit
$T$ entschieden wird.

\begin{itemize}
\item[a)] Geben Sie dazu zun\"achst f\"ur die Sprache $L$, die durch folgenden
polynomiellen Verifizierer $V$ akzeptiert wird, eine NDTM $M$ an, die in analoger
Weise arbeitet. Der Verifizierer $V$ erh\"alt als Eingabe einen ungerichteten
Graphen $G = (V,E)$ und eine Zahl $k \in \mathbb{N}_0$ sowie als Zertifikat eine
Knotenmenge $C \subseteq V$.

\begin{shaded}
\ttfamily\small
$V(G = (V,E),\ k;\ \text{Zertifikat } C \subseteq V)$\\
1.\quad Falls $|C| > k$, verwerfe.\\
2.\quad F\"ur alle $\{u,v\} \in E$: Falls $u \notin C$ und $v \notin C$, verwerfe.\\
3.\quad Akzeptiere.
\end{shaded}

\item[b)] F\"uhren Sie nun einen allgemeing\"ultigen Beweis.
\end{itemize}

% ============================= A3 =============================
\newpage
\aufgabe{3 \quad NP-VOLLST\"ANDIGKEIT}{10 Punkte}
Wir betrachten folgendes Problem:

\textbf{Problem: $k$-CLIQUEMEMBER}\\
\textbf{Eingabe:} Ein ungerichteter Graph $G = (V,E)$, ein Knoten $v \in V$ sowie
eine Zahl $k \in \mathbb{N}_{\ge 1}$.\\
\textbf{Entscheide:} Existiert eine Clique $C \subseteq V$ mit $|C| \ge k$ und
$v \in C$?

Zeigen Sie, dass $k$-CLIQUEMEMBER NP-vollst\"andig ist.

\medskip
\textit{Hinweis:} \problem{Clique} (Gegeben $(G,k)$: existiert eine Clique
$C \subseteq V$ mit $|C| \ge k$?) ist bereits als NP-vollst\"andig bekannt.

% ============================= A4 =============================
\newpage
\aufgabe{4 \quad ETH}{1 + 4 + 1 + 4 Punkte}
\textbf{Problem: VERTEXCOVER}\\
\textbf{Eingabe:} Ein ungerichteter Graph $G = (V,E)$ und eine Zahl $k$.\\
\textbf{Entscheide:} Gibt es $S \subseteq V$ mit $|S| \le k$, sodass $v \in S$
oder $u \in S$ f\"ur jede Kante $\{v,u\} \in E$?

Betrachten Sie folgende Reduktion von \problem{Clique} auf \problem{VertexCover}.
F\"ur eine \problem{Clique}-Instanz $(G = (V,E), k)$ bilde die Instanz
$(G' = (V, E'), k')$ mit
\[ E' = \{\{v,u\} \mid v,u \in V,\ v \ne u,\ \{v,u\} \notin E\}, \qquad k' = |V| - k. \]
Damit ist $G'$ der Komplementgraph von $G$.

\begin{itemize}
\item[a)] Geben Sie die Anzahl der Knoten $|V'|$ und die Anzahl der Kanten $|E'|$ der
resultierenden \problem{VertexCover}-Instanz in Abh\"angigkeit von der originalen
\problem{Clique}-Instanz an.
\item[b)] Beweisen Sie Laufzeit-Lower-Bounds f\"ur \problem{VertexCover} bez\"uglich
$|V'|$ und $|E'|$ basierend auf der ETH und der oben beschriebenen Reduktion.\\
\textit{Hinweis:} Unter Annahme der ETH kann \problem{Clique} weder in
$2^{o(|V|)} \cdot |I|^{O(1)}$ noch in $2^{o(\sqrt{|E|})} \cdot |I|^{O(1)}$ gel\"ost werden.
\end{itemize}

\medskip
\textbf{Problem: HITTINGSET}\\
\textbf{Eingabe:} Eine Grundmenge $U$, Teilmengen $F_1,\dots,F_r \subseteq U$ und
eine Zahl $k$.\\
\textbf{Entscheide:} Gibt es $H \subseteq U$ mit $|H| \le k$ und $H \cap F_i \ne
\emptyset$ f\"ur alle $i \in [r]$?

Betrachten Sie folgende Reduktion von \problem{3-SAT} auf \problem{HittingSet}.
F\"ur eine 3-SAT-Instanz mit Variablen $x_1,\dots,x_n$ und Klauseln
$C_1,\dots,C_m$ setze $U = \{x_i, \bar x_i \mid i \in [n]\}$. F\"ur jedes
$i \in [n]$ nimm die \emph{Paar-Menge} $\{x_i, \bar x_i\} \subseteq U$ hinzu, und
f\"ur jede Klausel $C_j$ die \emph{Klausel-Menge} $C_j \subseteq U$ (die Menge
ihrer Literale). Setze $k = n$.

\begin{itemize}
\item[c)] Geben Sie die Gr\"o{\ss}e der Grundmenge $|U|$ und die Anzahl der Teilmengen
$r$ der resultierenden \problem{HittingSet}-Instanz in Abh\"angigkeit von der
originalen 3-SAT-Instanz an.
\item[d)] Beweisen Sie Laufzeit-Lower-Bounds f\"ur \problem{HittingSet} bez\"uglich
$|U|$ und $r$ basierend auf der ETH und der oben beschriebenen Reduktion.\\
\textit{Hinweis:} Unter Annahme der ETH ist \problem{3-SAT} nicht in
$2^{o(n)} \cdot |I|^{O(1)}$ l\"osbar, mit dem Sparsification-Lemma auch nicht in
$2^{o(m)} \cdot |I|^{O(1)}$.
\end{itemize}

% ============================= A5 =============================
\newpage
\aufgabe{5 \quad APPROXIMATIVE ALGORITHMEN -- MAX-3-SAT}{2 + 5 + 3 + (10) Punkte}
\textbf{Problem: MAX-3-SAT}\\
\textbf{Eingabe:} Eine Formel $\varphi$ in konjunktiver Normalform mit $m$
Klauseln, jede Klausel besteht aus (bis zu) drei Literalen.\\
\textbf{Ausgabe:} Eine Belegung der Variablen, welche die Anzahl $v(\cdot)$ der
erf\"ullten Klauseln maximiert.

Betrachten Sie den folgenden Algorithmus:

\begin{shaded}
\ttfamily\small
\textbf{Algorithmus $A(\varphi)$}\\
1\quad $\beta_0 \leftarrow$ Belegung, die jede Variable auf \false\ setzt\\
2\quad $\beta_1 \leftarrow$ Belegung, die jede Variable auf \true\ setzt\\
3\quad Werte $v(\beta_0)$ und $v(\beta_1)$ aus (Anzahl der jeweils erf\"ullten Klauseln)\\
4\quad \textbf{return} die Belegung mit gr\"o{\ss}erem Wert (bei Gleichstand $\beta_0$)
\end{shaded}

\begin{itemize}
\item[a)] Wenden Sie den Algorithmus $A$ auf folgende Formel mit den Variablen
$x_1, x_2, x_3$ an:
\[ \varphi = (x_1 \vee x_2 \vee x_3) \wedge (\neg x_1 \vee \neg x_2 \vee \neg x_3)
\wedge (x_1 \vee \neg x_2 \vee x_3) \wedge (\neg x_1 \vee x_2 \vee \neg x_3). \]
Geben Sie $v(\beta_0)$, $v(\beta_1)$, den Wert der Ausgabe von $A$ sowie den
Optimalwert $v(\mathrm{OPT}(\varphi))$ an.

\item[b)] Beweisen Sie, dass der Algorithmus $A$ die G\"ute $2$ hat, also
$v(A(\varphi)) \ge \tfrac12\,v(\mathrm{OPT}(\varphi))$ f\"ur jede Eingabe
$\varphi$ gilt.

\item[c)] Geben Sie eine (scharfe) Instanz an, bei welcher der Algorithmus $A$ genau
die H\"alfte des Optimums erf\"ullt, also $v(A(\varphi)) = \tfrac12\,
v(\mathrm{OPT}(\varphi))$ gilt. Begr\"unden Sie Ihre Antwort.

\item[d)] \textbf{BONUS:} Sei $k \in \mathbb{N}_{\ge 2}$. Wir betrachten
\problem{MAX-$k$-SAT}, bei dem jede Klausel aus \emph{genau} $k$ Literalen mit
paarweise verschiedenen Variablen besteht. Welche G\"ute garantiert derselbe
Algorithmus $A$ f\"ur \problem{MAX-$k$-SAT}? Beweisen Sie diese G\"ute und zeigen
Sie, dass sie scharf ist.
\end{itemize}

\end{document}
