434 lines
19 KiB
TeX
434 lines
19 KiB
TeX
\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}
|