diff --git a/zusammenfassung.pdf b/zusammenfassung.pdf index 3bca9d2..9203a64 100644 Binary files a/zusammenfassung.pdf and b/zusammenfassung.pdf differ diff --git a/zusammenfassung.tex b/zusammenfassung.tex index 66d0130..513d1b7 100644 --- a/zusammenfassung.tex +++ b/zusammenfassung.tex @@ -12,10 +12,8 @@ \usepackage[load=named]{siunitx} \usepackage{csquotes} \usepackage[hidelinks]{hyperref} -%\usepackage{listings} \usepackage{algorithmicx} \usepackage{algpseudocode} -%\usepackage{pgfplots} \usepackage{tikz} %\usetikzlibrary{positioning} %\usetikzlibrary{arrows.meta} @@ -25,6 +23,7 @@ %\usetikzlibrary{fit} %\usepackage{datetime} %\usepackage{xcolor} +\usepackage{lmodern} % Formatierung \newcommand*{\algo}[1]{\textsc{#1}} @@ -87,6 +86,7 @@ \newcommand{\setcover}{\problem{SetCover}} \newcommand{\cov}{\mathrm{cov}} \newcommand{\detroundsc}{\algo{DetRoundSC}} +\newcommand{\randroundingscr}{\algo{RandRoundingSC}[r]} % Beweisumgebungen \newtheorem*{satz}{Satz} @@ -452,7 +452,7 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P \ForAll{$u_i \in V$} \State $c_\vertices(u_i) = \infty$ \EndFor - \ForAll{$i \in [1,\dots, \abs{V}]$} + \ForAll{$i \in \{1,\dots, \abs{V}\}$} \State $c_\vertices(u_i) = \min\{\naturals\setminus\{c_\vertices(\Gamma(u_i))\}\}$ \EndFor \State\Return $c_\vertices$ @@ -517,7 +517,7 @@ Sei $\Pi$ ein Optimierungsproblem und $A$ ein Approximationsalgorithmus für $\P TODO: Übung -\section{Christofides' Algorithmus \algo{CH} für das metrische \tsp $\deltatsp$} +\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. Als Multi-Graph wird ein Graph bezeichnet, der um mehrere Kanten zwischen den gleichen Knoten erweitert wurde. @@ -591,7 +591,7 @@ Der Algorithmus \dynrucksack{} setzt diese durch dynamische Programmierung um: \State $\alpha = 0$ \Repeat \State $\alpha = \alpha + 1$ - \For{$j = 1$ to $n$} + \For{$i \in \{1,\dots,n\}$} \State $F_j(\alpha) = \min\{F_{j-1}(\alpha - p_j) + \vol(j), F_{j-1}(\alpha)\}$ \EndFor \Until{$B < F_n(\alpha)$} @@ -658,7 +658,7 @@ Der Algorithmus \fpasrucksack{} verwendet dazu \algo{AR\textsubscript{$k$}} und Der folgende Algorithmus $A$ nutzt die sogenannte probabilistische Methode aus, in dem eine Belegung für jede Variable stochastisch unabhängig durchgeführt wird: \begin{algorithmic}[1] - \For{$i = 1\dots n$} + \For{$i \in \{1,\dots,n\}$} \State $x_i = \begin{cases*} \true{} & mit Wahrscheinlichkeit $\frac{1}{2}$\\ \false{} & mit Wahrscheinlichkeit $\frac{1}{2}$ @@ -740,7 +740,7 @@ Im Allgemeinen ist die rationale Lösung $\sigma_\rel$ von $B_\rel$ also keine z Hierzu müssen die $\hat{x}_i$ auf 0 oder 1 (bzw. die $x$ auf \false{} oder \true{}) gerundet müssen. Eine Möglichkeit hierzu stellt der durch die stochastische Funktion $\phi: \left[0, 1\right] \mapsto \left[0, 1\right]$ parametrisierte Algorithmus $\algo{RandomizedRounding}[\pi]$ dar: \begin{algorithmic}[1] - \For{$i = 1\dots n$} + \For{$i \in \{1,\dots,n\}$} \State $x_i = \begin{cases*} \true{} & mit Wahrscheinlichkeit $\pi(\hat{x}_i)$\\ \false{} & mit Wahrscheinlichkeit $1 - \pi(\hat{x}_i)$\\ @@ -842,7 +842,7 @@ Man macht sich hierbei unter anderem die Eigenschaft des randomisierten Algorith Der Algorithmus \algo{Derand\_$A$} benutzt den Erwartungswert für Algorithmus $A$ um nach und nach alle Variablen $x_i$ zu belegen. Für jede Variable wird einmal \true{} und \false{} eingesetzt, dann mit der resultierenden Formel mit höherem Erwartungswert fortgefahren: \begin{algorithmic}[1] - \For{$i = 1\dots n(I)$} + \For{$i \in \{1,\dots,n(I)\}$} \State $W_\false{} = E\left[A(I)\mid x_1,\dots,x_{i-1}, x_i = \false{}\right]$ \State $W_\true{} = E\left[A(I)\mid x_1,\dots,x_{i-1}, x_i = \true{}\right]$ \If{$W_\false{} < W_\true{}$} @@ -914,7 +914,7 @@ Damit lautet das ILP $X$ für \setcover: \begin{algorithmic}[1] \State $(x_1, \dots, x_m) = $ löse $X_\rel$ \State $S_\cov = \emptyset$ - \For{$I = 1\dots m$} + \For{$i \in \{1,\dots,m\}$} \If{$x_i \ge \frac{1}{\Delta_S}$} \State $S_\cov = S_\cov \cup \{S_i\}$ \EndIf @@ -939,4 +939,41 @@ Damit lautet das ILP $X$ für \setcover: \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} + +\subsection{Unzuverlässiges Randomized Rounding mit $\randroundingscr$} +\begin{algorithmic}[1] + \State $(x_1, \dots, x_m) =$ löse $X_\rel$ + \State $\chi = \emptyset$ + \For{$i \in \{1,\dots,m\}$} + \State mit Wahrscheinlichkeit $1 - e^{-r \cdot x_i}$: $\chi = \chi \cup \{S_i\}$ + \EndFor + \State \Return $\chi$ +\end{algorithmic} +\randroundingscr{} ist ein sogenannter Monte-Carlo-Algorithmus, weil er auch nicht zulässige Lösungen zurückliefern kann. + +\begin{satz} + Für eine Eingabe $S$ von \setcover{} sei $\chi$ die Ausgabe von $\randroundingscr$. Dann gelten + \begin{enumerate} + \item $P\left[\chi\,\text{ist eine Überdeckung}\right] \ge 1 - n \cdot e^{-r}$ + \item $E\left[\abs{\chi}\right] \le r \cdot \opt(S)$ + \end{enumerate} +\end{satz} +\begin{proof} + \begin{enumerate} + \item Sei $u \in V$, dann gilt: + \begin{align*} + P\left[u \in V(\chi)\right] &= P\left[\forall i\,\text{mit}\, u \in S_i: S_i \notin \chi\right]\\ + &= \Pi_{i: u\in S_i} e^{-r \cdot x_i} = \left(\Pi_{i: u\in S_i} e^{-x_i}\right)^r = \left(e^{- \sum_{i: u \in S_i} x_i}\right)^r\\ + &\le e^{-r} + \end{align*} + Die Wahrscheinlichkeit, dass es ein nicht überdecktes Objekt gibt, ist folglich + \begin{equation*} + P\left[\exists U \in V: u \notin V(\chi)\right] \le n \cdot e^{-r} + \end{equation*} + \item Für $\abs{\chi}$ folgt + \begin{equation*} + E\left[\abs{\chi}\right] = \sum_{i=1}^{m} P\left[S_i \in \chi\right] = \sum_{i=1}^{m} \left(1 - e^{-r\cdot x_i}\right) \le r\cdot \sum_{i=1}^{m} x_i = r\cdot \opt(X_\rel) \le r \cdot\opt(S) + \end{equation*} + \end{enumerate} +\end{proof} \end{document}