diff --git a/lernmaterial/cheatsheet.aux b/lernmaterial/cheatsheet.aux index 9752b69..4d2adf2 100644 --- a/lernmaterial/cheatsheet.aux +++ b/lernmaterial/cheatsheet.aux @@ -2,4 +2,4 @@ \providecommand\babel@aux[2]{} \@nameuse{bbl@beforestart} \babel@aux{ngerman}{} -\gdef \@abspage@last{5} +\gdef \@abspage@last{7} diff --git a/lernmaterial/cheatsheet.log b/lernmaterial/cheatsheet.log index 7c69b7e..da0e9d0 100644 --- a/lernmaterial/cheatsheet.log +++ b/lernmaterial/cheatsheet.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2026.5.23) 21 JUL 2026 08:48 +This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2026.5.23) 21 JUL 2026 09:11 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -257,8 +257,8 @@ LaTeX Font Info: Trying to load font information for U+msb on input line 30. File: umsb.fd 2013/01/14 v3.01 AMS symbols B ) [1 -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] (./cheatsh -eet.aux) +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] [6] [7] (. +/cheatsheet.aux) *********** LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-01-22> @@ -267,7 +267,7 @@ L3 programming layer <2024-01-22> Here is how much of TeX's memory you used: 4645 strings out of 476182 69369 string characters out of 5795595 - 1939975 words of memory out of 5000000 + 1940975 words of memory out of 5000000 26619 multiletter control sequences out of 15000+600000 572268 words of font info for 73 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 @@ -292,10 +292,10 @@ st/fonts/type1/public/amsfonts/cm/cmr7.pfb> -Output written on cheatsheet.pdf (5 pages, 201458 bytes). +Output written on cheatsheet.pdf (7 pages, 219818 bytes). PDF statistics: - 332 PDF objects out of 1000 (max. 8388607) - 80 compressed objects within 1 object stream + 363 PDF objects out of 1000 (max. 8388607) + 86 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) 1 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/lernmaterial/cheatsheet.pdf b/lernmaterial/cheatsheet.pdf index ffaa138..e536b76 100644 Binary files a/lernmaterial/cheatsheet.pdf and b/lernmaterial/cheatsheet.pdf differ diff --git a/lernmaterial/cheatsheet.tex b/lernmaterial/cheatsheet.tex index 2fe0a32..9a69686 100644 --- a/lernmaterial/cheatsheet.tex +++ b/lernmaterial/cheatsheet.tex @@ -285,4 +285,75 @@ Vorüberlegung: obdA $f(v_i) = i$, $f(z) = n{+}1$; dann $f(x_j), f(\bar x_j) \in \hin Erfüllbar $\to$ $M_\varphi$ findet Belegung und hält. \rueck $M_\varphi$ hält nur im Erfolgsfall $\to$ erfüllbar. +\pblock{GÜTE: $\Delta$TSP1} +\feld{Algorithmus} MST $T$ $\to$ Kanten verdoppeln $\to$ Eulerkreis $\to$ Abkürzen. +\feld{Güte} $2$. +\feld{Beweis}\\ +-- Kante aus optimaler Tour entfernen $\to$ Spannbaum $\to$ $w(T) \le \mathrm{OPT}$\\ +-- Verdoppeln: Eulerkreis der Länge $2\,w(T) \le 2\,\mathrm{OPT}$\\ +-- Abkürzen verlängert nicht ($\Delta$-Ungleichung) + +\pblock{GÜTE: CHRISTOFIDES ($\Delta$TSP2)} +\feld{Algorithmus} MST $T$ $\to$ $X$ = Knoten ungeraden Grades $\to$ min.\ perfektes Matching $M$ auf $X$ $\to$ Eulerkreis in $T + M$ $\to$ Abkürzen. +\feld{Güte} $\frac32$. +\feld{Beweis}\\ +-- $w(T) \le \mathrm{OPT}$ (Tour minus Kante = Spannbaum)\\ +-- $|X|$ gerade; optimale Tour auf $X$ abkürzen $\to$ Kreis $C$ mit $d(C) \le \mathrm{OPT}$\\ +-- $C$ zerfällt in zwei perfekte Matchings $M_1, M_2$ $\to$ $w(M) \le \min \le \frac12 \mathrm{OPT}$\\ +-- Eulerkreis in $T + M$: $w(T) + w(M) \le \frac32 \mathrm{OPT}$; Abkürzen verlängert nicht +\feld{Scharf} Leitergraph (Präsenz 12.2): Zick-Zack-MST ($n{-}1$) + Matchingkante $\{1, n\}$ der Länge $\frac n2$ $\to$ Rate $\frac{n - 1 + n/2}{n} \to \frac32$. + +\pblock{GÜTE: GREEDY-KNAPSACK (Widerlegung)} +\feld{Algorithmus} Absteigend nach Dichte $p_i/w_i$; packe jedes noch passende Item. +\feld{Güte} Unbeschränkt -- keine konstante Güte. +\feld{Beweis}\\ +-- Instanz $(w, p) = (1, 1), (B, B{-}1)$, Kapazität $B$\\ +-- Dichten: $1 > \frac{B-1}{B}$ $\to$ Greedy packt Item 1; Item 2 passt nicht mehr\\ +-- $GA = 1$, $\mathrm{OPT} = B - 1$ $\to$ Rate $B - 1 \to \infty$ + +\pblock{GÜTE: MODIFIEDGREEDY (Knapsack)} +\feld{Algorithmus} $\mathrm{MGA} = \max\{\text{Greedy-Lösung},\ \text{profitreichstes Einzelitem}\}$. +\feld{Güte} $2$, d.h.\ $\mathrm{OPT} \le 2\,\mathrm{MGA}$. +\feld{Beweis}\\ +-- $k{+}1$ = erstes Item, das Greedy nicht mehr packt\\ +-- fraktionale Relaxierung: $\mathrm{OPT} \le \mathrm{OPT}_f \le p_1 + \dots + p_k + p_{k+1}$\\ +-- $p_1 + \dots + p_k \le GA$ und $p_{k+1} \le p_{\max}$\\ +-- $\mathrm{OPT} \le GA + p_{\max} \le 2 \max\{GA, p_{\max}\} = 2\,\mathrm{MGA}$ + +\pblock{GÜTE: LISTSCHEDULING ($P\,\|\,C_{\max}$)} +\feld{Algorithmus} Jobs der Reihe nach auf die aktuell leerste Maschine. +\feld{Güte} $2 - \frac1m$. +\feld{Beweis}\\ +-- $J_k$ = letzter Job auf der vollsten Maschine (Last $L$); bei Platzierung war sie die leerste\\ +-- alle Maschinen hatten Last $\ge L - p_k$ $\to$ $\sum_i p_i \ge m(L - p_k) + p_k$\\ +-- $\mathrm{OPT} \ge \frac1m \sum_i p_i \ge L - (1 - \frac1m) p_k$\\ +-- $p_k \le \mathrm{OPT}$ einsetzen $\to$ $L \le (2 - \frac1m)\,\mathrm{OPT}$ +\feld{Scharf} (Skript!) $m(m{-}1)$ Einser + $1$ Job der Größe $m$: $LS = 2m - 1$, $\mathrm{OPT} = m$. + +\pblock{GÜTE: LPT} +\feld{Algorithmus} Jobs absteigend sortieren, dann ListScheduling. +\feld{Güte} $\frac43 - \frac1{3m}$. +\feld{Beweis}\\ +-- wie LS: $\mathrm{LPT} \le \mathrm{OPT} + (1 - \frac1m) p_n$ ($p_n$ = Job, der den Makespan setzt)\\ +-- Fall $p_n \le \frac13 \mathrm{OPT}$: einsetzen $\to$ $(\frac43 - \frac1{3m})\,\mathrm{OPT}$\\ +-- Fall $p_n > \frac13 \mathrm{OPT}$: alle Jobs $> \frac13 \mathrm{OPT}$ $\to$ optimal höchstens 2 Jobs pro Maschine $\to$ LPT ist optimal + +\pblock{GÜTE: 2ApproxVC} +\feld{Algorithmus} Kanten durchgehen; sind beide Endpunkte neu, nimm beide in $C$ auf. +\feld{Güte} $2$, d.h.\ $|C| \le 2\,|C^*|$. +\feld{Beweis}\\ +-- $A$ = aufgenommene Kanten $\to$ $|C| = 2|A|$\\ +-- $A$ ist Matching: gemeinsamer Endpunkt wäre schon in $C$ gewesen\\ +-- $C^*$ braucht pro Kante aus $A$ einen \emph{eigenen} Knoten $\to$ $|C^*| \ge |A|$\\ +-- $|C| = 2|A| \le 2\,|C^*|$ + +\pblock{GÜTE: MAX-3-SAT} +\feld{Algorithmus} Werte $\beta_0$ (alles falsch) und $\beta_1$ (alles wahr) aus; gib die bessere zurück. +\feld{Güte} $2$, d.h.\ $v(A(\varphi)) \ge \frac12 v(\mathrm{OPT})$. +\feld{Beweis}\\ +-- jede Klausel hat $\ge 1$ Literal; negatives Literal $\to$ $\beta_0$ erfüllt, positives $\to$ $\beta_1$\\ +-- also $v(\beta_0) + v(\beta_1) \ge m$\\ +-- $\max \ge$ Durchschnitt $\ge \frac m2 \ge \frac12 v(\mathrm{OPT})$ +\feld{Scharf} $(x_1 \vee x_2 \vee x_3) \wedge (\bar x_1 \vee \bar x_2 \vee \bar x_3)$: $A = 1$, $\mathrm{OPT} = 2$ (via $x_1 = 1, x_2 = 0$). + \end{document}