Compare commits

..

No commits in common. "a19857c2b7cfbf29778e96034598bc37bb582e2d" and "d925bf98185ac670af21d24a46068be714f65f0f" have entirely different histories.

View file

@ -1,58 +1,6 @@
\section{LP-Runden} \section{LP-Runden}
\begin{tasks} \begin{tasks}
\item \item
Wir suchen in $U$ nach dem Knoten $v$ mit dem kleinsten $x_v$, unser $\epsilon$,
und setzen alle Knoten $u \in U$ auf $x_u - \epsilon$ und alle Knoten $w \in W$
auf $\min(x_w~+~\epsilon, 1)$.
Das macht unsere Beschränkung $x_u + x_w \geq 1$ nicht kaputt, da ein Nachbar $w$
von einem Knoten $u \in U$ mindestens den Wert $\frac{1}{2} + \epsilon$ hat,
also $1$ ist oder in $W$ liegt.
Somit hat sich $\abs{U} + \abs{W}$ um mindestens $1$ verkleinert, da
$x_v$ nun $0$ ist und somit nicht in $U \cup W$ liegt und zu $W$ keine
weiteren Knoten dazukommen können.
Die Veränderungen der Variablen läuft in $\Oh(V)$, da im schlimmsten Fall
alle Knoten entweder in $U$ oder in $W$ liegen.
\points{4}
\item \item
\label{1b}
Wir teilen die Knoten $v \in V$ in drei Mengen ein.
\begin{align*}
A = &\set{v \mid x_v \leq \frac{1}{2}-\epsilon} \\
B = &\set{v \mid v \notin A \cup C} \\
C = &\set{v \mid x_v \geq \frac{1}{2}+\epsilon}
\end{align*}
Für alle $v \in A$ setzen wir $x_v = 0$, für alle $v \in B$ setzen wir
$x_v = \frac{1}{2}$ und für alle $v \in C$ setzen wir $x_v = 1$.
Als $\epsilon$ wählen wir das das kleinste $x_v$.
Das dürfen wir, da wir damit die LP-Beschränkungen aufrechterhalten.
\begin{enumerate}
\item Für alle Variablen $x_v$ gilt $0 \leq x_v \leq 1$.
\item Für alle Paare $v, u$ gilt $x_v + x_u \geq 1$, da
Fall 1: O.B.d.A gilt: Wenn $x_v \leq \frac{1}{2} - \epsilon$, dann muss $x_u \geq \frac{1}{2} + \epsilon$, wird $x_v = 0$ und $x_u = 1$.
Fall 2: Wenn $x_v$ oder $x_u \geq \frac{1}{2} + \epsilon$, werden
$x_v$ oder $x_u = 1$.
Fall 3: Wenn $x_v, x_u \notin A \cup C$, werden $x_v = x_u = \frac{1}{2}$.
\end{enumerate}
Die Laufzeit beläuft sich auf $\Oh(V)$ da sich das $\min_{v \in V} x_v$ in
$\Oh(V)$ Zeit finden und sich jeder Knoten in $\Oh(V)$ in eine
der drei Mengen einteilen lassen kann.
\points{3}
\item \item
Wir nehmen als Basis den Algorithmus aus \autoref{1b}. Um nun eine
eindeutige 2-Approximation für die Knotenüberdeckung zu bekommen,
runden wir alle $x_v = \frac{1}{2}$ auf $1$ auf.
Dadurch erhalten wir eine Lösung die maximal doppelt so viele Knoten
enthält, wie eine optimale Lösung, da für ein Knotenpaar $v, u$ für das
$x_v = x_u = \frac{1}{2}$ mindestens ein Knoten in der Knotenüberdeckung
enthalten sein muss. Wenn wir beide Knoten nehmen, haben wir doppelt so
viele.
\points{2}
\end{tasks} \end{tasks}