diff --git a/übung_9/agt_übung_9.pdf b/übung_9/agt_übung_9.pdf index 60e3679..79f6413 100644 Binary files a/übung_9/agt_übung_9.pdf and b/übung_9/agt_übung_9.pdf differ diff --git a/übung_9/aufgabe_2.tex b/übung_9/aufgabe_2.tex index 660a148..b7baece 100644 --- a/übung_9/aufgabe_2.tex +++ b/übung_9/aufgabe_2.tex @@ -24,6 +24,19 @@ &&\text{Die Knoten einer Kante haben nicht die selbe Farbe} \end{align*} \points{2} + + \item + Wir führen eine binäre Hilfvariable ein: + \[ + y = \begin{cases} + 1 & \text{falls } x_1 \leq x_2 - 1 \text{ oder } x_1 - 1 \geq x_2 \\ + 0 & \text{sonst} + \end{cases} + \] + Die Konstante $M$ stellt sicher, dass wir nicht in die Situation $\infty - 1$ + kommen, was nicht definiert ist. + Nun können wir $x_1 \neq x_2$ durch $y = 1$ ersetzen. + \points{3} \end{tasks} diff --git a/übung_9/aufgabe_3.tex b/übung_9/aufgabe_3.tex index cb654fe..cfd2cea 100644 --- a/übung_9/aufgabe_3.tex +++ b/übung_9/aufgabe_3.tex @@ -1,43 +1,27 @@ -\section{Randomisierte größte Schnitte} -\begin{tasks} -\item - Siehe \autoref{fig:3a}. - \points{2} - \begin{figure} - \centering - \includegraphics[page=2, width=0.5\textwidth]{figures.pdf} - \caption{Gegenbeispiel; Maximaler Schnitt $\tup{S, T}$ und nicht maximaler Schnitt $\tup{\set{v}, V \setminus \set{v}}$} - \label{fig:3a} - \end{figure} +\section{Perfektes Eliminationsschema} +\begin{enumerate} + % \item Kopiere $G$ nach $G$ + \item Falls $\abs{V(G)} = 0$, gib das Eliminationsschema zurück. \label{schritt2} + \item Suche nach nicht erweiterbaren $U$, sodass $G[U]$ zusammenhängend und $U \cup N(U) \neq V(G)$. Das geht mit Breitensuche mit einem beliebigen Startknoten $s$. + \item Wähle aus $W = V(G) \setminus U \cup N(U)$ einen Knoten aus und + füge ihn zum Eliminationsschema hinzu. Lösche diesen Knoten dann aus $G$. + \item Gehe zurück zu \autoref{schritt2}. +\end{enumerate} -\item - O.B.d.A gilt: +Das die Menge $U$ nicht maximal sondern nur nicht erweiterbar ist, macht die +Folgerung, dass jeder Knoten in $W$ mit jedem in $N(U)$ verbunden ist, nicht kaputt, +da, wenn es eine Kante zwischen einem Knoten in $N(U)$ und $W$ nicht existiert, $U$ +erweitert werden kann. - Die Wahrscheinlichkeit dafür das eine Knoten in $S$ gewählt wird ist - $\frac{1}{2}$. - - Sei $\set{u, v}$ eine Kante und wurde $u$ in die Menge $S$ gewählt, so ist die Wahrscheinlichkeit dafür, dass $v$ in die selbe Menge gewählt wird $\frac{1}{2}$. - \points{1} +Ebenfalls bleibt die Eigenschaft, dass $N(U)$ eine Clique ist erhalten. Die Argumentation +ist die selbe, wie zuvor. -\item - Sei $\tup{S, T}$ ein fester maximaler Schnitt. Dann gibt es eine Menge von Kanten - $\set{e_1, \dots, e_k}$ die den Schnitt kreuzen, also deren Knoten nicht in die selbe - Menge gewählt wurden. +Jeder Knoten in $W$ ist ein simplizialer Knoten in $G[W]$, da, wenn es eine Kante +zwischen zwei Knoten in $W$ nicht gibt, dann $U$ erweitert werden kann. - Die Wahrscheinlichkeit dafür, dass diese Kanten nicht in die selbe Menge gewählt wurden ist also - \[ - 1 - \sum_{i = 1}^{k} \frac{1}{2} = 1 - \frac{k}{2} - \] - \points{2} +Durch Magie wird nicht der gesamte Breitensuchbaum erstellt und die Breitensuche +läuft in $\oh(\abs{V} + \abs{E}) = \oh(n + n^2)$. Durch die $n$ rekursiven Aufrufe, +in denen jeder Knoten einmal zum Eliminationsschema hinzugefügt wird, Läuft der +ganze Algorithmus läuft dadurch in $\oh(n^3)$ +\points{4} -\item - \[ - \dots - \] - - Die erwartete Anzahl an Kanten, die den Schnitt kreuzen ist mindestens $\frac{\abs{E}}{2}$. Im schechtesten Fall ist der Graph bipartit und alle - Kanten kreuzen den maximalen Schnitt. Somit ist \alg*{RandMaxCut} eine $\frac{1}{2}$-Approximation für den maximalen Schnitt. - \points{4} - - -\end{tasks} diff --git a/übung_9/ngutils.sty b/übung_9/ngutils.sty index 1852d18..bc039bc 100644 --- a/übung_9/ngutils.sty +++ b/übung_9/ngutils.sty @@ -51,7 +51,7 @@ \newcommand{\NPe}{\mathrm{NP}} \newcommand{\Oh}{\mathcal{O}} -\newcommand{\oh}{\scriptstyle{\mathcal{O}}} +\newcommand{\oh}{\mathcal{o}} \newcommand{\indeg}{\mathrm{indeg}} \newcommand{\outdeg}{\mathrm{outdeg}}