Reorganisation: Probleme am Anfang gesammelt

This commit is contained in:
Marco Ammon 2020-10-14 16:42:16 +02:00
parent 9237b63ad4
commit 2ac590b369
2 changed files with 61 additions and 47 deletions

Binary file not shown.

View File

@ -73,7 +73,58 @@ Gesucht ist zu $I \in \mathcal{D}$ eine zulässige Lösung $\sigma_\mathrm{opt}
\end{equation*} \end{equation*}
\subsection{Beispiele} \subsection{Beispiele}
TODO: TSP, Rucksackproblem, etc. \subsubsection{Das Rucksackproblem \problem{Rucksack}}
\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{S}(\langle W, \mathrm{vol}, p, B\rangle) &= \{ A \subseteq W \mid \sum_{w\in A}\mathrm{vol}(w) \le B\}\\
f(A) &= \sum_{w\in A} p_w\\
\mathrm{ziel} &= \max
\end{align*}
Die Restriktion der verfügbaren Waren auf solche, die in den leeren Rucksack passen, hilft gegen das künstliche Aufblähen der Eingabe.
\subsubsection{Das Knotenfärbungsproblem \problem{Col}}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein ungerichteter Graph mit mindestens einer Kante}\}\\
\mathcal{S}(\langle G \rangle) &= \{ c_\mathrm{V} \mid c_\mathrm{V}\, \text{ist eine Knotenfärbung von}\, G\}\\
f(c_\mathrm{V}) &= \abs{c_\mathrm{V}(V)}\\
\mathrm{ziel} &= \min
\end{align*}
Die Größe der kleinsten möglichen Knotenfärbung ist die chromatische Zahl $\chi(G)$.
\subsubsection{Das Kantenfärbungsproblem \problem{EdgeCol}}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein ungerichteter Graph mit mindestens einer Kante}\}\\
\mathcal{S}(\langle G \rangle) &= \{ c_\mathrm{E} \mid c_\mathrm{E}\, \text{ist eine Kantenfärbung von}\, G\}\\
f(c_\mathrm{E}) &= \abs{c_\mathrm{E}(E)}\\
\mathrm{ziel} &= \min
\end{align*}
Die Größe der kleinsten möglichen Kantenfärbung ist der chromatische Index $\chi'(G)$.
\subsubsection{Das Traveling-Salesperson-Problem \problem{TSP}}
\begin{align*}
\mathcal{D} &= \{\langle K_n, c\rangle \mid K_n\, \text{vollständiger Graph auf $n$ Knoten}, c: E \mapsto \mathbb{N},\}\\
\mathcal{S}(\langle K_n, c \rangle) &= \{ C \mid C = (v_{i_1}, v_{i_2}, \dots, v_{i_n}, v_{i_i})\,\text{ist ein Hamiltonkreis}\}\\
f(c_\mathrm{E}) &= c(v_{i_n}, v_{i_1}) + \sum_{j=1}^{n-1} c(v_{i_j}, v_{i_{j+1}})\\
\mathrm{ziel} &= \min
\end{align*}
\subsubsection{Das metrische Traveling-Salesperson-Problem $\Delta\problem{TSP}$}
\begin{align*}
\mathcal{D} &= \{\langle K_n, c\rangle \mid K_n\, \text{vollständiger Graph auf $n$ Knoten}, c: E \mapsto \mathbb{N},\\
&\underbrace{\forall u, v, w \in V: c(u,v) \le c(u,w) + c(w, v)}_\text{Dreiecksungleichung}\}\\
\mathcal{S}(\langle K_n, c \rangle) &= \{ C \mid C = (v_{i_1}, v_{i_2}, \dots, v_{i_n}, v_{i_i})\,\text{ist ein Hamiltonkreis}\}\\
f(c_\mathrm{E}) &= c(v_{i_n}, v_{i_1}) + \sum_{j=1}^{n-1} c(v_{i_j}, v_{i_{j+1}})\\
\mathrm{ziel} &= \min
\end{align*}
\subsubsection{Das Problem der Unabhängigen Knotenmengen \problem{IS}}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein Graph}\}\\
\mathcal{S}(\langle G \rangle) &= \{ U \mid U \subseteq V, \forall u, v \in U: (u, v) \notin E\}\\
f(U) &= \abs{U}\\
\mathrm{ziel} &= \max
\end{align*}
\section{$t(n)$-Zeit-Approximationsalgorithmus $A$} \section{$t(n)$-Zeit-Approximationsalgorithmus $A$}
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)$. 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)$.
@ -183,7 +234,7 @@ Weiter lassen sich damit obere bzw. untere Schranken der Optimallösung aus eine
\end{equation*} \end{equation*}
\end{enumerate} \end{enumerate}
\subsection{Unmöglichkeitsergebnis für das allgemeine Traveling Salesperson Problem \problem{TSP}} \subsection{Unmöglichkeitsergebnis für das allgemeine (volle) \problem{TSP}}
\begin{satz} \begin{satz}
Wenn es einen polynomiellen Approximationsalgorithmus $A$ mit konstanter relativer Gütegarantie $r$ für das volle \problem{TSP} gibt, dann gilt $P = NP$. Wenn es einen polynomiellen Approximationsalgorithmus $A$ mit konstanter relativer Gütegarantie $r$ für das volle \problem{TSP} gibt, dann gilt $P = NP$.
\end{satz} \end{satz}
@ -247,17 +298,7 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P
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^*)$. 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} \end{proof}
\section{Das Problem der Unabhängigen Knotenmengen \problem{IS}} \section{\algo{GreedyIS} für \problem{IS}}
\subsection{Definition}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein Graph}\}\\
\mathcal{S}(\langle G \rangle) &= \{ U \mid U \subseteq V, \forall u, v \in U: (u, v) \notin E\}\\
f(U) &= \abs{U}\\
\mathrm{ziel} &= \max
\end{align*}
\subsection{Algorithmen}
\paragraph{\algo{GreedyIS}}
\begin{algorithmic}[] \begin{algorithmic}[]
\State $U = \emptyset, t = 0, V^{(0)} = V$ \State $U = \emptyset, t = 0, V^{(0)} = V$
\While{$V^{(t)} \neq \emptyset$} \While{$V^{(t)} \neq \emptyset$}
@ -305,19 +346,8 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P
aufgelöst werden. Solange $n_t \ge 1$ gilt, wird ein neuer Knoten nach $U$ gelegt. Durch Umformen obiger Ungleichung lässt sich dies für $t \ge \log_k\left(\frac{n}{3}\right)$ garantieren. Es folgt also $\abs{U} \ge \left\lceil\log_k\left(\frac{n}{3}\right)\right\rceil$. aufgelöst werden. Solange $n_t \ge 1$ gilt, wird ein neuer Knoten nach $U$ gelegt. Durch Umformen obiger Ungleichung lässt sich dies für $t \ge \log_k\left(\frac{n}{3}\right)$ garantieren. Es folgt also $\abs{U} \ge \left\lceil\log_k\left(\frac{n}{3}\right)\right\rceil$.
\end{proof} \end{proof}
\section{Graphfärbbarkeitsprobleme} \section{Knotenfärbungsalgorithmen}
\subsection{Knotenfärbungsproblem} \subsection{\algo{GreedyCol}}
\subsubsection{Definition}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein ungerichteter Graph mit mindestens einer Kante}\}\\
\mathcal{S}(\langle G \rangle) &= \{ c_\mathrm{V} \mid c_\mathrm{V}\, \text{ist eine Knotenfärbung von}\, G\}\\
f(c_\mathrm{V}) &= \abs{c_\mathrm{V}(V)}\\
\mathrm{ziel} &= \min
\end{align*}
Die Größe der kleinsten möglichen Knotenfärbung ist die chromatische Zahl $\chi(G)$.
\subsubsection{Algorithmen}
\paragraph{\algo{GreedyCol}}
\begin{algorithmic}[] \begin{algorithmic}[]
\ForAll{$u_i \in V$} \ForAll{$u_i \in V$}
\State $c_\mathrm{V}(u_i) = \infty$ \State $c_\mathrm{V}(u_i) = \infty$
@ -347,7 +377,7 @@ Die Größe der kleinsten möglichen Knotenfärbung ist die chromatische Zahl $\
$\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}
\paragraph{GreedyCol2} \subsection{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$}
@ -383,29 +413,11 @@ Die Größe der kleinsten möglichen Knotenfärbung ist die chromatische Zahl $\
\end{equation*} \end{equation*}
\end{proof} \end{proof}
\subsection{Kantenfärbungsproblem} \section{Kantenfärbungsalgorithmen}
\subsubsection{Definition}
\begin{align*}
\mathcal{D} &= \{\langle G\rangle \mid G = (V, E)\,\text{ein ungerichteter Graph mit mindestens einer Kante}\}\\
\mathcal{S}(\langle G \rangle) &= \{ c_\mathrm{E} \mid c_\mathrm{E}\, \text{ist eine Kantenfärbung von}\, G\}\\
f(c_\mathrm{E}) &= \abs{c_\mathrm{E}(E)}\\
\mathrm{ziel} &= \min
\end{align*}
Die Größe der kleinsten möglichen Kantenfärbung ist der chromatische Index $\chi'(G)$.
\subsubsection{Algorithmen}
TODO: Übung TODO: Übung
\section{Das metrische Traveling Salesperson Problem $\Delta\problem{TSP}$}
\subsection{Definition}
\begin{align*}
\mathcal{D} &= \{\langle K_n, c\rangle \mid K_n\, \text{vollständiger Graph auf $n$ Knoten}, c: E \mapsto \mathbb{N},\\
&\underbrace{\forall u, v, w \in V: c(u,v) \le c(u,w) + c(w, v)}_\text{Dreiecksungleichung}\}\\
\mathcal{S}(\langle K_n, c \rangle) &= \{ C \mid C = (v_{i_1}, v_{i_2}, \dots, v_{i_n}, v_{i_i})\,\text{ist ein Hamiltonkreis}\}\\
f(c_\mathrm{E}) &= c(v_{i_n}, v_{i_1}) + \sum_{j=1}^{n-1} c(v_{i_j}, v_{i_{j+1}})\\
\mathrm{ziel} &= \min
\end{align*}
\subsection{Christofides' Algorithmus \algo{CH}} \section{Christofides' Algorithmus \algo{CH} für das metrische TSP $\Delta\problem{TSP}$}
Ein Matching $M$ eines kantengewichteten Graphen $G$ ist ein Teilgraph von $G$ mit $\Delta(G) \le 1$. Ist $G$ ein vollständiger Graph mit $\abs{V}$ gerade, dann gibt es perfekte Matchings. In einem perfekten Matching haben alle Knoten genau den Grad 1. Ein perfektes Matching mit kleinstmöglichem Gewicht wird als leichtestes Matching bezeichnet. Ein solches leichtestes Matching kann in $\mathcal{O}(n^{2.5}\cdot (\log n)^4)$ berechnet werden. Ein Matching $M$ eines kantengewichteten Graphen $G$ ist ein Teilgraph von $G$ mit $\Delta(G) \le 1$. Ist $G$ ein vollständiger Graph mit $\abs{V}$ gerade, dann gibt es perfekte Matchings. In einem perfekten Matching haben alle Knoten genau den Grad 1. Ein perfektes Matching mit kleinstmöglichem Gewicht wird als leichtestes Matching bezeichnet. Ein solches leichtestes Matching kann in $\mathcal{O}(n^{2.5}\cdot (\log n)^4)$ berechnet werden.
Als Multi-Graph wird ein Graph bezeichnet, der um mehrere Kanten zwischen den gleichen Knoten erweitert wurde. Als Multi-Graph wird ein Graph bezeichnet, der um mehrere Kanten zwischen den gleichen Knoten erweitert wurde.
@ -453,4 +465,6 @@ Der Algorithmus von Christofides (\algo{CH}) geht wie folgt vor:
TODO TODO
\end{zeuge} \end{zeuge}
\section{\algo{DynRucksack} für \problem{Rucksack}}
\end{document} \end{document}