Reorganisation: "allgemeine" Definitionen am Anfang gesammelt

This commit is contained in:
Marco Ammon 2020-10-15 12:36:57 +02:00
parent 8f93dc3b39
commit 72bd59a01d
2 changed files with 22 additions and 24 deletions

Binary file not shown.

View File

@ -54,8 +54,8 @@
\tableofcontents \tableofcontents
\clearpage \clearpage
\section{Kombinatorisches Optimierungsproblem $\Pi$} \section{Allgemeine Definitionen}
\subsection{Definition} \subsection{Kombinatorisches Optimierungsproblem $\Pi$}
\begin{align*} \begin{align*}
\mathcal{D} &= \text{Menge der Eingaben $I$}\\ \mathcal{D} &= \text{Menge der Eingaben $I$}\\
\mathcal{S}(I \in \mathcal{D}) &= \text{Menge der zur Eingabe $I$ zulässigen Lösungen}\\ \mathcal{S}(I \in \mathcal{D}) &= \text{Menge der zur Eingabe $I$ zulässigen Lösungen}\\
@ -72,7 +72,6 @@ Gesucht ist zu $I \in \mathcal{D}$ eine zulässige Lösung $\sigma_\mathrm{opt}
\opt(I) = f(\sigma_\mathrm{opt}) = \mathrm{ziel}\{f(\sigma) \mid \sigma \in \mathcal{S}(I) \} \opt(I) = f(\sigma_\mathrm{opt}) = \mathrm{ziel}\{f(\sigma) \mid \sigma \in \mathcal{S}(I) \}
\end{equation*} \end{equation*}
\subsection{Beispiele}
\subsubsection{Das Rucksackproblem \problem{Rucksack}} \subsubsection{Das Rucksackproblem \problem{Rucksack}}
\begin{align*} \begin{align*}
\mathcal{D} &= \{\langle W, \mathrm{vol}, p, B\rangle \mid \{1, \dots, n\}, \mathrm{vol}: W \mapsto \mathbb{N}, p: W\mapsto \mathbb{N}, B \in \mathbb{N}, \forall w \in W: vol(w) \le B\}\\ \mathcal{D} &= \{\langle W, \mathrm{vol}, p, B\rangle \mid \{1, \dots, n\}, \mathrm{vol}: W \mapsto \mathbb{N}, p: W\mapsto \mathbb{N}, B \in \mathbb{N}, \forall w \in W: vol(w) \le B\}\\
@ -140,10 +139,26 @@ Eine Boolesche $(n, m)$-Formel $\Phi = C_1 \land \dots \land C_m$ in konjunktive
\mathrm{ziel} &= \max \mathrm{ziel} &= \max
\end{align*} \end{align*}
\section{$t(n)$-Zeit-Approximationsalgorithmus $A$} \subsection{$t(n)$-Zeit-Approximationsalgorithmus}
Für Eingabe $I \in \mathcal{D}$ berechnet $A$ in Zeit $t(\abs{I})$ eine Ausgabe $\sigma_I^A \in \mathcal{S}(I)$. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$. Berechnet ein Algorithmus $A$ in Zeit $t(\abs{I})$ eine Ausgabe $\sigma_I^A \in \mathcal{S}(I)$ für Eingabe $I \in \mathcal{D}$, wird er als $t(n)$-Zeit-Approximationsalgorithmus bezeichnet. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$.
\section{Konstante Gütegarantie} \subsection{Pseudo-polynomieller Algorithmus}
Sei $\Pi$ ein kombinatorisches Optimierungsproblem, sodass in allen Instanzen $I$ alle vorkommenden Zahlen natürliche Zahlen sind. Sei $\mathrm{maxnr}(I)$ die größte in $I$ vorkommende Zahl. Ein Algorithmus wird als pseudo-polynomiell bezeichnet, falls es ein Polynom $\mathrm{poly}(\cdot, \cdot)$ gibt, sodass für alle Instanzen $I$ seine Laufzeit $\mathrm{poly}(\abs{I}, \mathrm{maxnr}(I))$ ist.
Kann also das Problem so eingeschränkt werden, dass für alle Instanzen $I$ die größte vorkommende Zahl durch ein Polynom begrenz wird, also $\mathrm{maxnr}(I) \le q(\abs{I})$ mit Polynom $q$ gilt, so ist auch die Laufzeit des Algorithmus polynomiell.
\subsection{Starke NP-Vollständigkeit}
Ein NP-vollständiges Entscheidungsproblem $L$ wird als stark NP-vollständig bezeichnet, wenn es ein Polynom $q$ gibt, sodass $L_q = \{x \mid x \in L, \mathrm{maxnr}(x) \le q(\abs{x})\}$ NP-vollständig ist. Gibt es kein solches Polynom, gilt $L$ als schwach NP-vollständig.
Eine äquivalente Charakterisierung ist: Das NP-vollständige Entscheidungsproblem $L$ ist stark vollständig, falls es keinen pseudo-polynomiellen Algorithmus für $L$ gibt (unter der Annahme $P \neq NP$).
\begin{itemize}
\item \problem{Hamilton} und \problem{Clique} sind stark NP-vollständig, da bei ihnen das Polynom $q(n) = n$ ausreicht.
\item \problem{TSP} ist stark NP-vollständig, da sogar das $\Delta\problem{TSP}$ mit Gewichten 1 und 2 NP-vollständig ist.
\item \problem{Rucksack} ist schwach NP-vollständig, weil es einen pseudopolynomiellen Algorithmus für die Optimierungsvariante gibt, der auch für das Entscheidungsproblem verwendet werden kann.
\end{itemize}
\section{Absolute Gütegarantie}
\subsection{Definition} \subsection{Definition}
\begin{enumerate} \begin{enumerate}
\item $A$ hat bei Eingabe $I$ absolute Güte von \item $A$ hat bei Eingabe $I$ absolute Güte von
@ -287,23 +302,6 @@ 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{Pseudo-polynomielle Algorithmen}
Sei $\Pi$ ein kombinatorisches Optimierungsproblem, sodass in allen Instanzen $I$ alle vorkommenden Zahlen natürliche Zahlen sind. Sei $\mathrm{maxnr}(I)$ die größte in $I$ vorkommende Zahl. Ein Algorithmus wird als pseudo-polynomiell bezeichnet, falls es ein Polynom $\mathrm{poly}(\cdot, \cdot)$ gibt, sodass für alle Instanzen $I$ seine Laufzeit $\mathrm{poly}(\abs{I}, \mathrm{maxnr}(I))$ ist.
Kann also das Problem so eingeschränkt werden, dass für alle Instanzen $I$ die größte vorkommende Zahl durch ein Polynom begrenz wird, also $\mathrm{maxnr}(I) \le q(\abs{I})$ mit Polynom $q$ gilt, so ist auch die Laufzeit des Algorithmus polynomiell.
\section{Starke NP-Vollständigkeit}
\subsection{Definition}
Ein NP-vollständiges Entscheidungsproblem $L$ wird als stark NP-vollständig bezeichnet, wenn es ein Polynom $q$ gibt, sodass $L_q = \{x \mid x \in L, \mathrm{maxnr}(x) \le q(\abs{x})\}$ NP-vollständig ist. Gibt es kein solches Polynom, gilt $L$ als schwach NP-vollständig.
Eine äquivalente Charakterisierung ist: Das NP-vollständige Entscheidungsproblem $L$ ist stark vollständig, falls es keinen pseudo-polynomiellen Algorithmus für $L$ gibt (unter der Annahme $P \neq NP$).
\subsection{Beispiele}
\begin{itemize}
\item \problem{Hamilton} und \problem{Clique} sind stark NP-vollständig, da bei ihnen das Polynom $q(n) = n$ ausreicht.
\item \problem{TSP} ist stark NP-vollständig, da sogar das $\Delta\problem{TSP}$ mit Gewichten 1 und 2 NP-vollständig ist.
\item \problem{Rucksack} ist schwach NP-vollständig, weil es einen pseudopolynomiellen Algorithmus für die Optimierungsvariante gibt, der auch für das Entscheidungsproblem verwendet werden kann.
\end{itemize}
\section{Approximationsschemata} \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. 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.
@ -416,7 +414,7 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P
$\Delta(G) - 1$-Zeuge gegen \algo{GreedyCol}: TODO (Abbildung 2.1) $\Delta(G) - 1$-Zeuge gegen \algo{GreedyCol}: TODO (Abbildung 2.1)
\end{zeuge} \end{zeuge}
\subsection{GreedyCol2} \subsection{\algo{GreedyCol2}}
\begin{algorithmic}[] \begin{algorithmic}[]
\State $t = 1, V^{(1)} = V$ \State $t = 1, V^{(1)} = V$
\While{$V^{(t)} \neq \emptyset$} \While{$V^{(t)} \neq \emptyset$}