diff --git a/zusammenfassung.pdf b/zusammenfassung.pdf index 3a61384..bd510bb 100644 Binary files a/zusammenfassung.pdf and b/zusammenfassung.pdf differ diff --git a/zusammenfassung.tex b/zusammenfassung.tex index c592e3d..7e26496 100644 --- a/zusammenfassung.tex +++ b/zusammenfassung.tex @@ -106,6 +106,10 @@ \newcommand{\vertexcover}{\problem{VertexCover}} \newcommand{\greedyvc}{\algo{GreedyVC}} +% BinPacking +\newcommand{\binpacking}{\problem{BinPacking}} +\newcommand{\nextfit}{\algo{NextFit}} + % Beweisumgebungen \newtheorem*{satz}{Satz} \newtheorem*{lemma}{Lemma} @@ -237,6 +241,14 @@ Spezialfall von \setcover: \ziel &= \min \end{align*} +\subsubsection{Das Behälterproblem \binpacking} +\begin{align*} + \domain &= \{M \mid M = \left\{a_1,\dots, a_n\right\}, 1 \ge s(a_1)\ge\dots\ge s(a_n)\ge 0\}\\ + \solution(M) &= \{ B \mid B = \{B_1, \dots,B_k\}, \cupdot_{B_i\in B} B_i = M, \forall B_i \in B: s(B_i)\le 1\}\\ + f(M) &= \abs{M}\\ + \ziel &= \min +\end{align*} + \subsection{$t(n)$-Zeit-Approximationsalgorithmus} Berechnet ein Algorithmus $A$ in Zeit $t(\abs{I})$ eine Ausgabe $\sigma_I^A \in \solution(I)$ für Eingabe $I \in \domain$, wird er als $t(n)$-Zeit-Approximationsalgorithmus bezeichnet. Es gilt die Schreibweise $A(I) = f(\sigma_I^A)$. @@ -649,6 +661,23 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P Wenn \greedyvc{} zwei Knoten hinzufügt, könnte es auch ausreichen, nur eine einzelne Kante aufzunehmen. \end{proof} +\section{\nextfit{} für \binpacking} +\begin{algorithmic}[1] + \State $k = 1$ + \State $B_1 = \emptyset$ + \ForAll{$i \in \{1,\dots,n\}$} + \If{$s(a_i)+ s(B_k) > 1$} + \State $k = k+1$ + \State $B_k = \emptyset$ + \EndIf + \State $B_k = B_k \cup \{a_i\}$ + \EndFor + \State \Return $(B_1,\dots,B_k)$ +\end{algorithmic} +\begin{satz} + \nextfit{} approximiert \binpacking mit relativer Gütegarantie $\rho_\nextfit = 2$. +\end{satz} + \section{Christofides' Algorithmus \algo{CH} für $\deltatsp$} 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 $\bigO(n^{2.5}\cdot (\log n)^4)$ berechnet werden.