diff --git a/zusammenfassung.pdf b/zusammenfassung.pdf index dbb5a37..087def4 100644 Binary files a/zusammenfassung.pdf and b/zusammenfassung.pdf differ diff --git a/zusammenfassung.tex b/zusammenfassung.tex index 7852eb5..31901b9 100644 --- a/zusammenfassung.tex +++ b/zusammenfassung.tex @@ -93,6 +93,7 @@ \newcommand{\randroundscr}{\algo{RandRoundSC}[r]} \newcommand{\lasvegassc}{\algo{LasVegasSC}} \newcommand{\lasvegasscr}{\lasvegassc[r]} +\newcommand{\dualpursc}{\algo{DualPurSC}} % Beweisumgebungen \newtheorem*{satz}{Satz} @@ -404,7 +405,7 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P Wenn es für eine Optimierungsvariante eines stark NP-vollständigen Problems ein FPAS gibt, dann folgt $P = NP$. \end{satz} -\section{\greedyis für \is} +\section{\greedyis{} für \is} \begin{algorithmic}[1] \State $U = \emptyset, t = 0, V^{(0)} = V$ \While{$V^{(t)} \neq \emptyset$} @@ -940,9 +941,9 @@ Damit lautet das ILP $X$ für \setcover: \end{equation*} Damit wird für jedes $u$ mindestens ein überdeckendes $S_i$ aufgenommen, also stellt die Ausgabe eine Überdeckung dar. - Weil für jede Gruppe $S_i \in S_\cov$ $\Delta_s \cdot x_i \ge 1$ gilt, folgt für die Qualität der Ausgabe + Weil für jede Gruppe $S_i \in S_\cov$ $\Delta_S \cdot x_i \ge 1$ gilt, folgt für die Qualität der Ausgabe \begin{equation*} - \detroundsc(S) = \abs{S_\cov} \le \sum_{i=1}^{m} \Delta_s \cdot x_i =\Delta_S \cdot \sum_{i=1}^{m} x_i = \Delta_S \cdot \opt(X_\rel) \le \Delta_S \cdot \opt(S) + \detroundsc(S) = \abs{S_\cov} \le \sum_{i=1}^{m} \Delta_S \cdot x_i =\Delta_S \cdot \sum_{i=1}^{m} x_i = \Delta_S \cdot \opt(X_\rel) \le \Delta_S \cdot \opt(S) \end{equation*} \end{proof} @@ -1019,7 +1020,8 @@ $\lasvegasscr$ ist ein sogenannter Las-Vegas-Algorithmus, weil er immer eine zul \end{satz} % TODO: Umorganisieren: (I)LP sowie Arithmetisierungen in Allgemeine Definitionen, Dualität als eigene section? -\subsection{Dualität von LP} +\section{Ausnutzen der Dualität von Linearen Programmen} +\subsection{Herleitung der Dualität} Ein LP für ein o.B.d.A. Minimierungsproblem kann wie folgt geschrieben werden: \begin{align*} \min &\quad z(\vec{x}) = \transposed{\vec{c}} \cdot \vec{x}\\ @@ -1074,15 +1076,58 @@ Beträgt der Schlupf 0, so ist die Nebenbedingung scharf. \end{equation*} \end{satz} -\subsection{Verwendung der Dualität für Approximationsalgorithmen} -\subsubsection{Entwurf neuer Algorithmen mittels Dual Fitting} +\subsection{Lineare Programme für \setcover} +\subsubsection{Primal $X$} +\begin{align*} + \min &\quad \sum_{i=1}^{m} x_i\\ + \text{gemäß} &\quad \sum_{i: u_j \in S_i} x_i \ge 1 &\forall u_j \in V\\ + &\quad x_i \in \{0,1\} &\forall i \in \{1,\dots, m\} +\end{align*} + +\subsubsection{Relaxiertes Dual $Y_\rel$} +\begin{align*} + \max &\quad \sum_{j=1}^{n} y_j\\ + \text{gemäß} &\quad \sum_{j: u_j \in S_i} y_j \le 1 &\forall S_i \in S\\ + &\quad 0 \le y_j \le 1 &\forall j \in \{1,\dots, n\} +\end{align*} + + +\subsection{Entwurf neuer Algorithmen für \setcover{} mittels Dual Fitting} Beim Dual-Fitting wird allgemein versucht, \Cref{eq:dualer-schlupf} zu erfüllen. Zunächst wird dazu eine zulässige Lösung $\vec{y}$ des Duals bestimmt, bei der einige Nebenbedingungen scharf sind. Die den scharfen Nebenbedingungen entsprechenden Variablen $x_i$ des Primals werden dann als Approximation auf 1 gesetzt, die anderen auf 0. Das so entstandene $\vec{x}$ gibt mit $z(\vec{x})$ eine obere Schranke an. -Die Qualität der Lösung hängt dabei stark von der Qualität des ursprünglich bestimmten $\vec{y}$ ab. +Die Qualität der Lösung hängt dabei stark vom ursprünglich bestimmten $\vec{y}$ ab. -\subsubsection{Analyse bestehender Algorithmen} +\subsubsection{\dualpursc} +\dualpursc{} löst das relaxierte Dual optimal und baut damit eine zulässige 0-1-Lösung für $X$: +\begin{algorithmic}[1] + \State bestimme optimale Lösung $\vec{y}$ des relaxierten Duals $Y_\rel$ + \For{$i \in \{1,\dots,m\}$} + \If{$i$. Nebenbedingung von $Y_\rel$ ist scharf} + \State $x_i = 1$ \Comment{mit erfüllter Nebenbedingung folgt $\sum_{j: u_j \in S_i} y_j = x_i$} + \Else + \State $x_i = 0$ + \EndIf + \EndFor + \State \Return $(x_1,\dots, x_m)$ +\end{algorithmic} +\begin{satz} + \dualpursc{} liefert eine Überdeckung der relativen Güte $\Delta_S$ in Zeit $\bigO(m + L(mn, n))$. +\end{satz} +\begin{proof} + Die Ausgabe ist eine Überdeckung, weil bei einer Nichtüberdeckung eines Objekts $u_i$ alle $x_i$ für $S_i \in S$ mit $u_j \in S_i$ gleich 0 wären. + Dann wäre auch der duale Schlupf der zugehörigen $i$. Nebenbedingung nicht 0 und $y_j$ könnte vergrößert werden. + Damit ist die ursprüngliche Lösung $\vec{y}$ aber nicht optimal gewesen. + + Da für jedes $i$ mit $x_i = 1$ gilt $\sum_{j: u_j \in S_i} y_j = 1$, folgt für die Qualität der Lösung: + \begin{align*} + \dualpursc(S) &= \sum_{i=1}^{m} x_i = \sum_{i: x_i = 1} 1 = \sum_{i: x_i = 1} \sum_{j: u_j \in S_i} y_j \le \Delta_S \cdot \sum_{j=1}^{n} y_j\\ + &= \Delta_S \cdot \opt(Y_\rel) \le \Delta_S \cdot \opt(S) + \end{align*} +\end{proof} + +\subsection{Analyse bestehender Algorithmen für \setcover} Ein bestehender Algorithmus, der eine 0-1-Lösung des ursprünglichen ILPs $X$ berechnet, wird so erweitert, dass er gleichzeitig eine zulässige Lösung $\vec{y}$ für $Y_\rel$ konstruiert. Da $\vec{x}$ und $\vec{y}$ von einander abhängen, hängt auch $z(\vec{x})$ von $\vec{y}$ ab. Kann daraus der Wert $\zeta(\vec{y})$ isoliert werden, kann eine obere Schranke des Wertes der Lösung zu $I$ berechnet werden.