Approximationsschemata

This commit is contained in:
Marco Ammon 2020-10-14 16:22:37 +02:00
parent d4a1ca3f2c
commit 9237b63ad4
2 changed files with 25 additions and 0 deletions

Binary file not shown.

View File

@ -222,6 +222,31 @@ Weiter lassen sich damit obere bzw. untere Schranken der Optimallösung aus eine
Der Ansatz der Konstruktion von Probleminstanzen anderer $NP$-schwerer Probleme und der anschließenden Verwendung eines Scaling-Arguments kann auch für weitere Probleme verwendet werden. Ebenfalls können damit bestimmte Bereiche für mögliche konstante relative Gütegarantien ausgeschlossen werden, etwa $\rho < \frac{3}{2}$ bei \problem{BinPacking}. Der Ansatz der Konstruktion von Probleminstanzen anderer $NP$-schwerer Probleme und der anschließenden Verwendung eines Scaling-Arguments kann auch für weitere Probleme verwendet werden. Ebenfalls können damit bestimmte Bereiche für mögliche konstante relative Gütegarantien ausgeschlossen werden, etwa $\rho < \frac{3}{2}$ bei \problem{BinPacking}.
\section{Approximationsschemata}
Während die Ergebnisse von Approximationsalgorithmen mit absoluter oder relativer Gütegarantie nur durch eine Modifikation oder Wechsel des Algorithmus verbessert werden können, ist es manchmal gewünscht, im Gegenzug für eine verlängerte Laufzeit eine bessere Güte zu erreichen. Dafür sind sogenannte Approximationsschemata geeignet.
\subsection{Definition}
Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\Pi$, der eine Probleminstanz $I$ von $\Pi$ und ein $0 < \varepsilon < 1$ bekommt.
\begin{enumerate}
\item $A$ ist ein polynomielles Approximationsschema (PAS) für $\Pi$, wenn $A$ zu jedem $I$ und für jedes $\varepsilon$ in Zeit $\mathcal{O}(\mathrm{poly}(\abs{I}))$ eine zulässige Lösung zu $I$ mit relativem Fehler $\varepsilon_A(I, \varepsilon) \le \varepsilon$ berechnet.
\item $A$ ist ein streng polynomielles Approximationsschema (FPAS), wenn $A$ ein PAS mit Laufzeit $\mathcal{O}(poly\left(\abs{I}, \frac{1}{\varepsilon}\right))$ ist.
\end{enumerate}
\begin{satz}[Umwandlung eines (F)PAS in einen exakten Algorithmus]
Sei $A$ ein (F)PAS und zu jeder Eingabe $I$ $Z(I)$ eine obere Schranke. Sei $\varepsilon^* = \frac{1}{Z(I) + 1}$, dann ist $A(I, \varepsilon^*) = \opt(I)$. Sofern $A$ ein FPAS ist, liegt die Laufzeit in $\mathcal{O}(\mathrm{poly}(\abs{I}, Z(I)))$.
\end{satz}
\begin{proof}
Starte $A$ mit Eingabe $I$ und $\varepsilon^*$. Es wird eine zulässige Lösung zu $I$ gefunden, für ihren relativen Fehler gilt
\begin{equation*}
\varepsilon_a(I, \varepsilon^*) = \frac{\abs{\opt(I) - A(I, \varepsilon^*)}}{\opt(I)} \le \varepsilon^*
\end{equation*}
Weil $\opt(I) \le Z(I)$ beschränkt ist, folgt für die Abweichung
\begin{equation*}
\abs{\opt(I) - A(I, \varepsilon^*)} \le \varepsilon^* \cdot \opt(I) = \frac{\opt(I)}{Z(I) + 1} < 1
\end{equation*}
Da die Werte zulässiger Lösungen immer ganzzahlig sind, folgt $\abs{\opt(I) - A(I, \varepsilon^*)} = 0$, damit also die Optimalität von $A(I, \varepsilon^*)$.
\end{proof}
\section{Das Problem der Unabhängigen Knotenmengen \problem{IS}} \section{Das Problem der Unabhängigen Knotenmengen \problem{IS}}
\subsection{Definition} \subsection{Definition}
\begin{align*} \begin{align*}