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,433 @@
\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}}
\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}
\newcommand{\aufgabe}[2]{\medskip\noindent{\large\textbf{Aufgabe #1}}\hfill\textbf{(#2)}\par\smallskip
\noindent\rule{\linewidth}{0.4pt}\par\medskip}
\newcommand{\lsg}{\par\smallskip\noindent\textbf{L\"osung.}\par\smallskip}
\begin{document}
\thispagestyle{empty}
\begin{center}
{\Large\textbf{Musterl\"osung -- Probeklausur 1}}\\[4pt]
{\large Analyse von Algorithmen und Komplexit\"at, SS 2026}
\end{center}
\medskip
\noindent\rule{\linewidth}{0.4pt}
% ============================= A1 =============================
\newpage
\aufgabe{1 \quad ANWENDUNG -- CHRISTOFIDES' ALGORITHMUS}{6 + 4 Punkte}
Kantengewichte: $ab=1$, $ac=2$, $ad=3$, $bc=3$, $bd=4$, $cd=4$.
\lsg
\textbf{a) Anwendung von Christofides ($\Delta$TSP2) ab Startknoten $a$.}
\textbf{Schritt 1 -- Minimaler Spannbaum $T$.} Kruskal (aufsteigend
$ab\,1,\ ac\,2,\ ad\,3,\ bc\,3,\ bd\,4,\ cd\,4$): W\"ahle $ab\,(1)$, $ac\,(2)$;
$ad\,(3)$ verbindet $d$. Die n\"achstteure Kante $bc\,(3)$ w\"urde einen Kreis
schlie{\ss}en (\emph{No-Op: wird gepr\"uft, aber verworfen}); ebenso
$bd\,(4)$, $cd\,(4)$. $T = \{ab, ac, ad\}$ ist ein Stern um $a$ mit Gewicht
$1+2+3 = 6$ und eindeutig.
\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[very thick] (a) -- (b) node[fill=white,inner sep=1pt,font=\small,midway] {1};
\draw[very thick] (a) -- (c) node[fill=white,inner sep=1pt,font=\small,midway] {2};
\draw[very thick] (a) -- (d) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
\node[font=\small] at (1.2,-0.7) {MST $T$, Gewicht $6$};
\end{tikzpicture}
\end{center}
\textbf{Schritt 2 -- Knoten mit ungeradem Grad.} Grade in $T$: $\deg(a)=3$,
$\deg(b)=\deg(c)=\deg(d)=1$. Alle vier Grade sind ungerade
(jeder Grad wird gepr\"uft), also $X = \{a,b,c,d\}$.
\textbf{Schritt 3 -- Minimales perfektes Matching $M$ auf $X$.} Die drei
m\"oglichen perfekten Matchings auf $\{a,b,c,d\}$:
\begin{itemize}
\item $\{ab, cd\} = 1 + 4 = 5$
\item $\{ac, bd\} = 2 + 4 = 6$
\item $\{ad, bc\} = 3 + 3 = 6$
\end{itemize}
Minimum eindeutig: $M = \{ab, cd\}$ mit Kosten $5$.
\textbf{Schritt 4 -- Multigraph $T + M$ und Eulerkreis.} Die Kante $ab$ kommt
sowohl aus $T$ als auch aus $M$, ist also doppelt. Kanten: $ab$ (doppelt),
$ac$, $ad$, $cd$. Grade: $\deg(a)=4$, $\deg(b)=2$, $\deg(c)=2$, $\deg(d)=2$ --
alle gerade, der Multigraph ist eulersch. Eulerkreis ab $a$:
\[ [\,a, b, a, c, d, a\,]. \]
\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[very thick,double] (a) -- (b) node[fill=white,inner sep=1pt,font=\small,midway] {$1\ (\times 2)$};
\draw[very thick] (a) -- (c) node[fill=white,inner sep=1pt,font=\small,midway] {2};
\draw[very thick] (a) -- (d) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
\draw[very thick] (c) -- (d) node[fill=white,inner sep=1pt,font=\small,midway] {4};
\node[font=\small] at (1.2,-0.7) {$T + M$ (eulersch)};
\end{tikzpicture}
\end{center}
\textbf{Schritt 5 -- Abk\"urzen (shortcut).} Durchlaufe den Eulerkreis
$[a,b,a,c,d,a]$ und \"uberspringe bereits besuchte Knoten:
$a$ (neu, behalten -- \emph{No-Op}), $b$ (neu, behalten -- \emph{No-Op}),
$a$ (\emph{bereits besucht $\Rightarrow$ \"uberspringen}), $c$ (neu), $d$ (neu),
$a$ (Schluss). Resultierende Tour:
\[ [\,a, b, c, d, a\,]. \]
Tourl\"ange $= ab + bc + cd + da = 1 + 3 + 4 + 3 = 11$.
\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[very thick] (a) -- (b) node[fill=white,inner sep=1pt,font=\small,midway] {1};
\draw[very thick] (b) -- (c) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
\draw[very thick] (c) -- (d) node[fill=white,inner sep=1pt,font=\small,midway] {4};
\draw[very thick] (a) -- (d) node[fill=white,inner sep=1pt,font=\small,pos=0.3] {3};
\node[font=\small] at (1.2,-0.7) {Tour $[a,b,c,d,a]$, L\"ange $11$};
\end{tikzpicture}
\end{center}
Zum Vergleich (Brute-Force \"uber alle $3$ Touren): $[a,b,c,d,a]=11$,
$[a,b,d,c,a]=1+4+4+2=11$, $[a,c,b,d,a]=2+3+4+3=12$. Also $\mathrm{OPT}=11$; hier
liefert Christofides sogar das Optimum, die G\"ute $\tfrac32$ ist eingehalten
($\tfrac{11}{11}=1 \le \tfrac32$).
\medskip
\textbf{b) Bedeutung, Zusatzeigenschaften, G\"ute.}
\begin{itemize}
\item \textbf{Was berechnet Christofides?} Eine Rundreise (Hamiltonkreis) durch
alle Knoten, also eine zul\"assige N\"aherungsl\"osung f\"ur das metrische
Travelling-Salesperson-Problem.
\item \textbf{Zusatzeigenschaft 1 -- Symmetrie:} $w(u,v) = w(v,u)$ f\"ur alle
Kanten (die Kostenfunktion ist ungerichtet). \emph{Verletzende Eingabe:} ein
gerichteter Graph mit $w(a,b) = 1$, aber $w(b,a) = 5$. Dann sind MST und Matching
nicht wohldefiniert bzw.\ die Analyse bricht.
\item \textbf{Zusatzeigenschaft 2 -- Dreiecksungleichung:} $w(u,v) \le w(u,x) +
w(x,v)$ f\"ur alle Knoten $u,x,v$. \emph{Verletzende Eingabe:} drei Knoten
$a,b,c$ mit $w(a,b)=1$, $w(b,c)=1$, $w(a,c)=10$; hier ist $w(a,c)=10 > 1+1 =
w(a,b)+w(b,c)$. Ohne Dreiecksungleichung liefert das Abk\"urzen keine
Absch\"atzung der Tourl\"ange.
\end{itemize}
(Eine einzige Eingabe, die \emph{beide} Eigenschaften verletzt, w\"are ebenfalls
zul\"assig.) \textbf{G\"ute:} $\tfrac32$. \hfill$\square$
% ============================= A2 =============================
\newpage
\aufgabe{2 \quad VORLESUNGSBEWEIS -- DEFINITION NP}{2 + 8 Punkte}
Zu zeigen: Existiert ein polynomieller Verifizierer f\"ur $L$, so existiert eine
NDTM, die $L$ in nicht-deterministischer Polynomialzeit entscheidet.
\lsg
\textbf{a) Analoge NDTM zum gegebenen \problem{VertexCover}-Verifizierer.}
Der Verifizierer r\"at nichts, sondern \emph{pr\"uft} ein von au{\ss}en
gegebenes Zertifikat $C$. Die analoge NDTM ersetzt dieses Zertifikat durch eine
\emph{nichtdeterministische Ratephase} und f\"uhrt danach dieselben Pr\"ufungen
aus:
\begin{shaded}
\ttfamily\small
$M(G = (V,E),\ k)$\\
1.\quad Rate nichtdeterministisch eine Menge von Knoten $C \subseteq V$.\\
2.\quad Falls $|C| > k$, verwerfe.\\
3.\quad F\"ur alle $\{u,v\} \in E$: Falls $u \notin C$ und $v \notin C$, verwerfe.\\
4.\quad Akzeptiere.
\end{shaded}
\textbf{Korrektheit:} $M$ hat genau dann einen akzeptierenden Rechenweg, wenn ein
$C \subseteq V$ existiert, das die Pr\"ufungen 2--3 \"ubersteht, d.h.\ ein
Vertex Cover der Gr\"o{\ss}e $\le k$ -- genau dann akzeptiert auch $V$ ein
Zertifikat. Also akzeptiert $M$ dieselbe Sprache $L$.\\
\textbf{Laufzeit:} Raten von $C$ in $O(|V|)$, Gr\"o{\ss}e pr\"ufen $O(|V|)$,
Kanten pr\"ufen $O(|E|)$ -- jeder Rechenweg l\"auft in $O(|V| + |E|)$, also
polynomiell.
\medskip
\textbf{b) Allgemeing\"ultiger Beweis.} Sei $L$ eine Sprache mit polynomiellem
Verifizierer $M$ der Laufzeit $p(|x|) = O(|x|^d)$: F\"ur $x \in L$ existiert ein
Zertifikat $c$ mit $M(x,c) = 1$; f\"ur $x \notin L$ akzeptiert $M$ kein
Zertifikat. In $p(|x|)$ Schritten liest $M$ h\"ochstens die ersten $p(|x|)$
Zeichen des Zertifikats.
\textbf{Konstruktion der NDTM $N$.} Bei Eingabe $x$ arbeitet $N$ in zwei Phasen:
\begin{itemize}
\item \emph{Raten:} Schreibe mit nichtdeterministischen Entscheidungen einen
String $u$ mit $|u| \le p(|x|)$ auf ein Arbeitsband.
\item \emph{Verifizieren:} Simuliere $M$ auf $(x,u)$ und \"ubernimm dessen
Antwort (akzeptiere/verwirf).
\end{itemize}
\textbf{Korrektheit:}
\begin{itemize}
\item Sei $x \in L$. Dann existiert ein Zertifikat $c$ mit $M(x,c)=1$; davon
liest $M$ h\"ochstens die ersten $p(|x|)$ Zeichen. Der Rechenweg, der genau
diesen Anfang als $u$ r\"at, akzeptiert -- also akzeptiert $N$.
\item Sei $x \notin L$. Dann verwirft $M$ jedes Zertifikat, insbesondere jedes
geratene $u$. Also verwerfen alle Rechenwege von $N$, und $N$ verwirft.
\end{itemize}
Somit akzeptiert $N$ genau die Sprache $L$.
\textbf{Laufzeit:} Phase~1 braucht $\le p(|x|)$ Rateschritte, Phase~2 l\"auft in
$O(|x|^d)$ -- insgesamt $O(|x|^d)$, also polynomiell. Damit entscheidet die NDTM
$N$ die Sprache $L$ in nicht-deterministischer Polynomialzeit
$T = O(|x|^d)$. \hfill$\square$
% ============================= A3 =============================
\newpage
\aufgabe{3 \quad NP-VOLLST\"ANDIGKEIT}{10 Punkte}
Zu zeigen: $k$-\problem{CliqueMember} ist NP-vollst\"andig.
\lsg
\textbf{$\in$ NP:} Eingabe: Graph $G = (V,E)$, Knoten $v$, Zahl $k$ und
Zertifikat $C \subseteq V$. Der Verifizierer arbeitet wie folgt:
\begin{itemize}
\item Falls $|C| < k$ oder $v \notin C$, lehne ab.
\item Pr\"ufe f\"ur jedes Paar $\{x,y\} \subseteq C$, ob $\{x,y\} \in E$; lehne
sonst ab.
\item Sonst akzeptiere.
\end{itemize}
Existiert eine Clique $C$ mit $|C| \ge k$ und $v \in C$, so ist sie ein
akzeptiertes Zertifikat; sonst scheitert jedes Zertifikat an einer Pr\"ufung.
Laufzeit: Gr\"o{\ss}e und Mitgliedschaft pr\"ufen $O(|V|)$, alle Paare testen
$O(|V|^2)$ -- gesamt $O(|V|^2)$. Also gilt $k$-\problem{CliqueMember} $\in \NP$.
\textbf{NP-schwer:} Zeige die NP-Schwere durch die Reduktion
\[ \problem{Clique} \redp k\text{-}\problem{CliqueMember}. \]
\problem{Clique} ist bereits als NP-vollst\"andig bekannt.
\textbf{Konstruktion:} Sei $(G = (V,E),\, k)$ eine \problem{Clique}-Instanz. Wir
konstruieren daraus eine $k$-\problem{CliqueMember}-Instanz
$(G' = (V', E'),\, v,\, k')$ durch:
\begin{itemize}
\item $V' = V \cup \{v\}$ mit einem neuen Knoten $v \notin V$
\item $E' = E \cup \{\{v,w\} \mid w \in V\}$ ($v$ ist mit allen Knoten aus $V$
verbunden, also universell)
\item $k' = k + 1$, ausgezeichneter Knoten $v$
\end{itemize}
\textbf{Beweis hin:}
\begin{itemize}
\item Sei $C$ eine Clique in $G$ mit $|C| \ge k$.
\item Da $v$ mit allen Knoten von $V \supseteq C$ verbunden ist, sind alle Paare
in $C \cup \{v\}$ Kanten in $E'$; also ist $C \cup \{v\}$ eine Clique in $G'$.
\item Wegen $v \notin V \supseteq C$ gilt $|C \cup \{v\}| = |C| + 1 \ge k + 1 =
k'$, und $v \in C \cup \{v\}$.
\item Also ist $(G', v, k')$ eine Ja-Instanz.
\end{itemize}
\textbf{Beweis zur\"uck:}
\begin{itemize}
\item Sei $C'$ eine Clique in $G'$ mit $|C'| \ge k'$ und $v \in C'$.
\item Setze $C = C' \setminus \{v\}$; wegen $v \in C'$ gilt $|C| = |C'| - 1 \ge
k' - 1 = k$, und $C \subseteq V$.
\item Alle Kanten zwischen Knoten von $C$ liegen in $E$, denn neu in $E'$ sind
nur die Kanten mit Endpunkt $v$, und $v \notin C$.
\item Also ist $C$ eine Clique in $G$ mit $|C| \ge k$.
\end{itemize}
(Beide Richtungen zusammen: $(G',v,k')$ ist Ja-Instanz $\iff$ $(G,k)$ ist
Ja-Instanz. Der Randfall $k \ge 1$ ist gew\"ahrleistet, da $k' = k+1 \ge 2$ und
$v$ stets in der Clique liegen \emph{muss}.)
\textbf{Laufzeit:} Einen Knoten und $|V|$ Kanten anlegen -- $O(|V| + |E|)$,
polynomiell.
Da $k$-\problem{CliqueMember} $\in \NP$ und NP-schwer ist, folgt:
$k$-\problem{CliqueMember} ist NP-vollst\"andig. \hfill$\square$
% ============================= A4 =============================
\newpage
\aufgabe{4 \quad ETH}{1 + 4 + 1 + 4 Punkte}
\lsg
\textbf{a) Parameter der \problem{VertexCover}-Instanz.} Es gilt $V' = V$, also
\[ |V'| = |V|, \qquad
|E'| = \binom{|V|}{2} - |E| = \tfrac12\,|V|\,(|V|-1) - |E| \;\le\; |V|^2. \]
(Die Komplementkantenmenge $E'$ enth\"alt alle $\binom{|V|}{2}$ m\"oglichen
Kanten au{\ss}er den $|E|$ Kanten von $G$.)
\medskip
\textbf{b) ETH-Schranken f\"ur \problem{VertexCover}.} Die Reduktion
$\problem{Clique} \redp \problem{VertexCover}$ l\"auft in Polynomialzeit.
\textbf{Bez\"uglich $|V'|$:}
\begin{itemize}
\item Angenommen, \problem{VertexCover} w\"are in $2^{o(|V'|)} \cdot |I|^{O(1)}$
l\"osbar.
\item Da die Reduktion polynomiell ist und $|V'| = |V|$ gilt, erg\"abe die
Komposition (Reduktion, dann Algorithmus) einen $2^{o(|V|)} \cdot |I|^{O(1)}$-Algorithmus
f\"ur \problem{Clique}.
\item Widerspruch zur ETH (\problem{Clique} $\notin 2^{o(|V|)} \cdot |I|^{O(1)}$).
\item Also besitzt \problem{VertexCover} keinen $2^{o(|V'|)} \cdot |I|^{O(1)}$-Algorithmus.
\end{itemize}
\textbf{Bez\"uglich $|E'|$:}
\begin{itemize}
\item Angenommen, \problem{VertexCover} w\"are in $2^{o(\sqrt{|E'|})} \cdot |I|^{O(1)}$
l\"osbar.
\item Wegen $|E'| \le \tfrac12|V|(|V|-1) \le |V|^2$ ist $\sqrt{|E'|} \le |V|$,
also $o(\sqrt{|E'|}) \subseteq o(|V|)$.
\item Damit w\"are \problem{VertexCover} in $2^{o(|V|)} \cdot |I|^{O(1)}$
l\"osbar, und mit $|V'|=|V|$ (Reduktion polynomiell) folgt ein
$2^{o(|V|)} \cdot |I|^{O(1)}$-Algorithmus f\"ur \problem{Clique}.
\item Widerspruch zur ETH.
\item Also besitzt \problem{VertexCover} keinen
$2^{o(\sqrt{|E'|})} \cdot |I|^{O(1)}$-Algorithmus.
\end{itemize}
Ergebnis: kein $2^{o(|V'|)}$ und kein $2^{o(\sqrt{|E'|})}$.
\medskip
\textbf{c) Parameter der \problem{HittingSet}-Instanz.} Die Grundmenge besteht
aus den $2n$ Literalen, und es gibt $n$ Paar-Mengen sowie $m$ Klausel-Mengen:
\[ |U| = 2n, \qquad r = n + m. \]
\medskip
\textbf{d) ETH-Schranken f\"ur \problem{HittingSet}.} Die Reduktion
$\problem{3-SAT} \redp \problem{HittingSet}$ l\"auft in Polynomialzeit. (Sie ist
korrekt, weil die $n$ disjunkten Paar-Mengen bei $k=n$ erzwingen, dass $H$ aus
jedem Paar $\{x_i,\bar x_i\}$ \emph{genau} ein Literal enth\"alt -- also eine
Belegung kodiert --, und das Treffen der Klausel-Mengen genau der Erf\"ullung der
Klauseln entspricht.)
\textbf{Bez\"uglich $|U|$:}
\begin{itemize}
\item Angenommen, \problem{HittingSet} w\"are in $2^{o(|U|)} \cdot |I|^{O(1)}$
l\"osbar.
\item Wegen $|U| = 2n$ ist $o(|U|) = o(n)$; die Komposition erg\"abe einen
$2^{o(n)} \cdot |I|^{O(1)}$-Algorithmus f\"ur \problem{3-SAT}.
\item Direkter Widerspruch zur ETH.
\item Also kein $2^{o(|U|)} \cdot |I|^{O(1)}$-Algorithmus.
\end{itemize}
\textbf{Bez\"uglich $r$:}
\begin{itemize}
\item Angenommen, \problem{HittingSet} w\"are in $2^{o(r)} \cdot |I|^{O(1)}$
l\"osbar.
\item Wegen $r = n + m$ und $n \le 3m$ gilt $r \le 4m = O(m)$, also
$o(r) \subseteq o(m)$; die Komposition erg\"abe einen
$2^{o(m)} \cdot |I|^{O(1)}$-Algorithmus f\"ur \problem{3-SAT}.
\item Widerspruch zur ETH nach dem Sparsification-Lemma (\problem{3-SAT}
$\notin 2^{o(m)} \cdot |I|^{O(1)}$).
\item Also kein $2^{o(r)} \cdot |I|^{O(1)}$-Algorithmus.
\end{itemize}
Ergebnis: kein $2^{o(|U|)}$ und kein $2^{o(r)}$. \hfill$\square$
% ============================= A5 =============================
\newpage
\aufgabe{5 \quad APPROXIMATIVE ALGORITHMEN -- MAX-3-SAT}{2 + 5 + 3 + (10) Punkte}
\lsg
\textbf{a) Anwendung auf $\varphi$.} Dabei setzt $\beta_0$ alle Variablen auf
\false\ und $\beta_1$ alle auf \true. Klauselauswertung:
\begin{center}
\begin{tabular}{l|c|c}
Klausel & unter $\beta_0$ & unter $\beta_1$\\\hline
$C_1 = (x_1 \vee x_2 \vee x_3)$ & \false\ (alle Lit.\ falsch) & \true\\
$C_2 = (\neg x_1 \vee \neg x_2 \vee \neg x_3)$ & \true\ ($\neg x_1$) & \false\\
$C_3 = (x_1 \vee \neg x_2 \vee x_3)$ & \true\ ($\neg x_2$) & \true\\
$C_4 = (\neg x_1 \vee x_2 \vee \neg x_3)$ & \true\ ($\neg x_1$) & \true\\
\end{tabular}
\end{center}
Also $v(\beta_0) = 3$ und $v(\beta_1) = 3$. Der Algorithmus gibt (bei
Gleichstand $\beta_0$) den Wert $v(A(\varphi)) = \max\{3,3\} = 3$ aus.
\emph{Optimum (Brute-Force \"uber alle $8$ Belegungen):} Die Belegung
$(x_1,x_2,x_3) = (\false, \false, \true)$ erf\"ullt $C_1$ (durch $x_3$), $C_2$
(durch $\neg x_1$), $C_3$ (durch $\neg x_2$) und $C_4$ (durch $\neg x_1$), also
alle vier. Somit $v(\mathrm{OPT}(\varphi)) = 4$. (Verh\"altnis
$\tfrac{\mathrm{OPT}}{A} = \tfrac43$.)
\medskip
\textbf{b) G\"ute $2$.} Zu zeigen: $v(A(\varphi)) \ge \tfrac12\,
v(\mathrm{OPT}(\varphi))$. Sei $\varphi$ eine Formel mit $m$ Klauseln.
\textbf{Jede Klausel z\"ahlt mindestens einmal.} Unter $\beta_0$ ist jedes
\emph{negative} Literal wahr, unter $\beta_1$ jedes \emph{positive}. Da jede
Klausel mindestens ein Literal enth\"alt und jedes Literal positiv oder negativ
ist, wird jede Klausel von $\beta_0$ oder von $\beta_1$ (oder beiden) erf\"ullt.
Somit z\"ahlt jede Klausel in der Summe mindestens einmal:
\[ v(\beta_0) + v(\beta_1) \;\ge\; m. \]
\textbf{Obere Schranke f\"ur das Optimum.} H\"ochstens alle $m$ Klauseln k\"onnen
erf\"ullt sein, also $v(\mathrm{OPT}(\varphi)) \le m$.
\textbf{Kombination.} $A$ w\"ahlt die bessere der beiden Belegungen, daher
\[ v(A(\varphi)) = \max\{v(\beta_0), v(\beta_1)\}
\ge \frac{v(\beta_0) + v(\beta_1)}{2}
\ge \frac{m}{2}
\ge \frac{v(\mathrm{OPT}(\varphi))}{2}. \]
Also hat $A$ die G\"ute $2$.
\medskip
\textbf{c) Scharfe Instanz.} W\"ahle
\[ \varphi^\ast = (x_1 \vee x_2 \vee x_3) \wedge (\neg x_1 \vee \neg x_2 \vee \neg x_3). \]
\begin{itemize}
\item Unter $\beta_0$ (alles \false) ist die erste Klausel unerf\"ullt (alle
Literale positiv, also falsch) und die zweite erf\"ullt: $v(\beta_0) = 1$.
\item Unter $\beta_1$ (alles \true) ist die zweite Klausel unerf\"ullt und die
erste erf\"ullt: $v(\beta_1) = 1$.
\item Also $v(A(\varphi^\ast)) = \max\{1,1\} = 1$.
\item Die Belegung $(x_1,x_2,x_3) = (\true, \false, \false)$ erf\"ullt beide
Klauseln ($x_1$ bzw.\ $\neg x_2$), also $v(\mathrm{OPT}(\varphi^\ast)) = 2$.
\end{itemize}
Damit gilt $v(A(\varphi^\ast)) = 1 = \tfrac12 \cdot 2 = \tfrac12\,
v(\mathrm{OPT}(\varphi^\ast))$: die Schranke aus b) wird mit Gleichheit
angenommen, die G\"ute $2$ ist scharf.
\medskip
\textbf{d) BONUS -- \problem{MAX-$k$-SAT}.} \emph{Behauptung:} F\"ur jedes
$k \ge 2$ garantiert derselbe Algorithmus $A$ ebenfalls die G\"ute $2$, und diese
ist scharf.
\textbf{G\"ute $2$ (Beweis).} Das Argument aus b) benutzt nur, dass jede Klausel
mindestens ein Literal enth\"alt und jedes Literal positiv oder negativ ist -- es
ist von der Klausell\"ange unabh\"angig. Auch bei genau $k$ Literalen pro Klausel
gilt: eine Klausel wird von $\beta_0$ nur dann nicht erf\"ullt, wenn all ihre
$k$ Literale positiv sind; von $\beta_1$ nur dann nicht, wenn alle $k$ negativ
sind. Beides zugleich ist bei $k \ge 1$ unm\"oglich. Also wird jede Klausel von
$\beta_0$ oder $\beta_1$ erf\"ullt, mithin $v(\beta_0) + v(\beta_1) \ge m$, und
wie in b)
\[ v(A(\varphi)) = \max\{v(\beta_0), v(\beta_1)\} \ge \frac{m}{2}
\ge \frac{v(\mathrm{OPT}(\varphi))}{2}. \]
Die garantierte G\"ute ist also $2$, unabh\"angig von $k$.
\textbf{Sch\"arfe (f\"ur jedes $k$).} Betrachte \"uber den Variablen
$x_1,\dots,x_k$ die beiden Klauseln
\[ \varphi_k^\ast = (x_1 \vee \dots \vee x_k) \wedge
(\neg x_1 \vee \dots \vee \neg x_k). \]
Jede Klausel besteht aus genau $k$ Literalen mit paarweise verschiedenen
Variablen. $\beta_0$ erf\"ullt nur die zweite, $\beta_1$ nur die erste, also
$v(A(\varphi_k^\ast)) = 1$. Die Belegung $x_1 = \true$, $x_2 = \dots = x_k =
\false$ erf\"ullt beide Klauseln, also $v(\mathrm{OPT}(\varphi_k^\ast)) = 2$.
Damit $v(A(\varphi_k^\ast)) = \tfrac12\,v(\mathrm{OPT}(\varphi_k^\ast))$, die
G\"ute $2$ wird f\"ur jedes $k$ mit Gleichheit angenommen und ist somit
scharf. \hfill$\square$
\end{document}