Files
aak/lernmaterial/cheatsheet.tex
2026-07-21 08:59:32 +02:00

289 lines
13 KiB
TeX

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman,provide=*]{babel}
\usepackage{amsmath,amssymb}
\usepackage[margin=1.6cm]{geometry}
\usepackage{xcolor}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0.25em}
\newcommand{\prob}[1]{\textsc{#1}}
\newcommand{\redp}{\le_p}
% Problemblock: Name
\newcommand{\pblock}[1]{\par\medskip\noindent\colorbox{black!8}{\parbox{\dimexpr\linewidth-2\fboxsep}{\textbf{\large #1}}}\par\nopagebreak\smallskip}
\newcommand{\feld}[1]{\par\nopagebreak\textbf{#1:}\ }
\newcommand{\hin}{\feld{$\Rightarrow$}}
\newcommand{\rueck}{\feld{$\Leftarrow$}}
\newcommand{\skizze}{\textcolor{red!70!black}{\textbf{[Skizze -- Detail selbst prüfen]}}\ }
\begin{document}
\begin{center}
{\LARGE\bfseries AAK Cheatsheet -- Problem-Arsenal}\\[2pt]
{\small Referenz: Definition · Beispiel · Reduktion · Konstruktion · ETH · Beweisidee je Richtung}
\end{center}
\pblock{SAT}
\feld{Def} KNF-Formel $\varphi$; existiert erfüllende Belegung?
\feld{Bsp} $(x \vee y) \wedge (\bar x \vee y \vee z) \wedge (\bar y)$ -- ja: $x{=}0, y{=}0, z{=}1$.
\pblock{3-SAT}
\feld{Def} KNF, jede Klausel $\le 3$ Literale; erfüllbar?
\feld{Bsp} $(x_1 \vee x_2 \vee x_3) \wedge (\bar x_1 \vee \bar x_2 \vee \bar x_3)$ -- ja: $x_1{=}1, x_2{=}0$.
\feld{Reduktion} von \prob{Sat}.
\feld{Konstruktion} Lange Klausel $(\ell_1 \vee \dots \vee \ell_k)$ mit frischen $y_i$ zerhacken: $(\ell_1 \vee \ell_2 \vee y_1)(\bar y_1 \vee \ell_3 \vee y_2)\dots$
\hin Erfülltes $\ell_j$ wählen, $y$-Kette davor wahr, danach falsch setzen.
\rueck Wären alle $\ell_j$ falsch, erzwingt die $y$-Kette einen Widerspruch (Dominoeffekt).
\feld{ETH} $n$, $m$, $n \le 3m$.
\pblock{$k$-CLIQUE}
\feld{Def} Graph $G$, Zahl $k$; existiert paarweise verbundene Knotenmenge $|C| \ge k$?
\feld{Bsp} Dreieck $\{1,2,3\}$ plus Kante $\{3,4\}$: $k{=}3$ ja, $k{=}4$ nein.
\feld{Reduktion} von \prob{Sat} (Vorlesung).
\feld{Konstruktion}\\
-- $V' = \{(j, \ell) \mid j \in [m],\ \ell \in C_j\}$\\
-- $E' = \{\{(i, \ell), (j, \ell')\} \mid i, j \in [m],\ i \ne j,\ \ell \ne \bar\ell'\}$\\
-- $k' = m$
\hin Erfüllende Belegung: pro Klausel ein wahres Literal wählen -- paarweise kompatibel $\to$ $m$-Clique.
\rueck $m$-Clique hat je Klausel genau einen Knoten; Literale widerspruchsfrei $\to$ Belegung erfüllt alle Klauseln.
\feld{ETH} $|V| = O(m)$, $|E| = O(m^2)$, $k = m$.
\pblock{$k$-INDEPENDENTSET}
\feld{Def} Existieren $k$ paarweise \emph{nicht} verbundene Knoten?
\feld{Bsp} Pfad $1{-}2{-}3{-}4$: $\{1,3\}$ oder $\{1,4\}$, $k{=}2$ ja.
\feld{Reduktion} von $k$-\prob{Clique}.
\feld{ETH} $|V'| = |V|$, $|E'| \le |V|^2$, $k' = k$.
\pblock{VERTEXCOVER}
\feld{Def} Existiert $S$, $|S| \le k$, die jede Kante mit einem Endpunkt trifft?
\feld{Bsp} Stern (Zentrum $z$, 4 Blätter): $S = \{z\}$, $k{=}1$ ja.
\feld{Reduktion} von $k$-\prob{Clique} (Präsenz 10.2).
\feld{Konstruktion}\\
-- $V' = V$\\
-- $E' = \bar E$\\
-- $k' = n - k$
\hin Clique $C$ in $G$ $\to$ $V \setminus C$ deckt $\bar G$: in $\bar G$ gibt es keine Kante innerhalb $C$.
\rueck VC $V'$ in $\bar G$ $\to$ $V \setminus V'$ ist IS in $\bar G$ = Clique in $G$, Größe $\ge n - (n-k) = k$.
\feld{ETH} $|V'| = |V|$, $|E'| \le |V|^2$, $k' \le |V|$.
\pblock{FEEDBACKVERTEXSET (gerichtet)}
\feld{Def} $X \subseteq V$, $|X| \le k$, sodass $G \setminus X$ kreisfrei.
\feld{Bsp} Kreis $1 \to 2 \to 3 \to 1$: $X = \{1\}$, $k{=}1$ ja.
\feld{Reduktion} von \prob{VertexCover} (HA 10.1).
\feld{Konstruktion}\\
-- $V' = V$\\
-- $E' = \{(u,v), (v,u) \mid \{u,v\} \in E\}$\\
-- $k' = k$
\hin VC entfernt $\to$ keine Kanten mehr $\to$ kreisfrei.
\rueck Wäre Kante $\{u,v\}$ ungedeckt, bildet $(u,v,u)$ einen 2-Kreis -- Widerspruch.
\feld{ETH} $|V'| = |V|$, $|E'| = O(|E|)$, $k' = k$.
\pblock{$\Delta$COVER (Dreiecksüberdeckung)}
\feld{Def} $C_\Delta$, $|C_\Delta| \le k$: jedes Dreieck enthält einen Knoten aus $C_\Delta$.
\feld{Bsp} Zwei Dreiecke mit gemeinsamer Kante $\{u,v\}$: $C_\Delta = \{u\}$, $k{=}1$ ja.
\feld{Reduktion} von \prob{VertexCover} (HA 11.1).
\feld{Konstruktion}\\
-- $V' = V \cup \{v_e \mid e \in E\}$\\
-- $E' = E \cup \{\{v_e, u\}, \{v_e, v\} \mid e = \{u,v\} \in E\}$\\
-- $k' = k$
\hin VC trifft jede Kante, also jedes Alt-Dreieck \emph{und} jedes neue Dreieck $\{u, v, v_e\}$.
\rueck ObdA $C_\Delta \subseteq V$ ($v_e$ durch $e_1$ tauschen, deckt weiter); dann trifft $C_\Delta$ jedes $\{u,v,v_e\}$, also jede Kante.
\feld{ETH} $|V'| = O(|V|^2)$, $|E'| = O(|E|)$.
\pblock{HAMILTONIANCYCLE (HC)}
\feld{Def} Kreis, der jeden Knoten genau einmal besucht?
\feld{Bsp} $C_5$ (Fünfeck): ja. $K_{1,3}$ (Stern): nein.
\feld{Reduktion} von \prob{HP}.
\feld{Konstruktion}\\
-- $V' = V \cup \{u\}$\\
-- $E' = E \cup \{\{u,v\} \mid v \in V\}$
\hin Ham-Pfad $v_1, \dots, v_n$ $\to$ Kreis $u, v_1, \dots, v_n, u$ (beide Anschlusskanten existieren via $u$).
\rueck HC in $G'$ besucht $u$ genau einmal; $u$ herausschneiden $\to$ Ham-Pfad über alle Altknoten in $G$.
\feld{ETH} $|V'| = O(|V|)$, $|E'| = O(|V|^2)$.
\pblock{HAMILTONIANPATH (HP)}
\feld{Def} Pfad, der jeden Knoten genau einmal besucht?
\feld{Bsp} Pfad $1{-}2{-}3$: ja. $K_{1,3}$ (Stern): nein.
\feld{Reduktion} von \prob{HC}.
\feld{Konstruktion} Wähle $v$.\\
-- $V' = V \cup \{v^*, s, t\}$\\
-- $E' = E \cup \{\{v^*, w\} \mid \{v, w\} \in E\} \cup \{\{s, v\}, \{t, v^*\}\}$
\hin HC bei $v$ aufschneiden $\to$ Pfad $s, v, \dots, v^*, t$.
\rueck Pfad muss $s, t$ als Enden haben; $v \dots v^*$ zusammenkleben ergibt HC.
\feld{ETH} $|V'| = O(|V|)$, $|E'| = O(|V|^2)$.
\pblock{TSP (Entscheidung)}
\feld{Def} Vollständiger Graph mit Distanzen, Budget $L$; Rundreise $\le L$?
\feld{Bsp} 4 Städte im Quadrat, Seitenlänge 1: OPT $= 4$.
\feld{Reduktion} von \prob{HC} (Skript).
\feld{Konstruktion}\\
-- $d(u,v) = 1$ falls $\{u,v\} \in E$, sonst $|V| + 1$\\
-- $L = |V|$
\hin HC $\to$ Tour aus lauter 1er-Kanten, Länge $|V| = L$.
\rueck Schon eine Nicht-Kante kostet $|V| + 1 > L$ $\to$ Tour $\le L$ nutzt nur Kanten aus $E$ $\to$ HC.
\feld{ETH} $|V'| = |V|$, $|E'| = O(|V|^2)$, $L = |V|$.
\pblock{$k$-COLOR}
\feld{Def} Färbung $f: V \to [k]$ mit $f(u) \ne f(v)$ für Kanten?
\feld{Bsp} $C_5$: 3 Farben nötig; $C_4$: 2 reichen.
\feld{Reduktion} von 3-\prob{Sat} (Skript, vollständig).
\feld{Konstruktion}\\
-- $V' = \{x_i, \bar x_i, v_i \mid i \in [n]\} \cup \{F_j \mid j \in [m]\} \cup \{z\}$\\
-- $E' = \{\{v_i, v_j\}, \{v_i, x_j\}, \{v_i, \bar x_j\} \mid i \ne j\} \cup \{\{x_i, \bar x_i\}\} \cup \{\{\ell, F_j\} \mid \text{Literal } \ell \notin C_j\} \cup \{\{v_i, z\}, \{F_j, z\}\}$\\
-- $k' = n{+}1$\\
Vorüberlegung: obdA $f(v_i) = i$, $f(z) = n{+}1$; dann $f(x_j), f(\bar x_j) \in \{j, n{+}1\}$ -- kodiert die Belegung.
\hin Wahres Literal bekommt Farbe $i$, falsches $n{+}1$; $F_j$ färbt man mit der Farbe eines erfüllenden Literals (keine Kante dorthin).
\rueck Wäre $F_j$ unerfüllt, sind alle Literale in $F_j$ mit $n{+}1$ gefärbt; $F_j$ sieht dann alle Farben $1, \dots, n{+}1$ -- Widerspruch.
\feld{ETH} $|V'| = O(m)$, $|E'| = O(m^2)$.
\pblock{$k$-COLOR-PRECOLORING}
\feld{Def} Zusätzlich: vorgegebene Knoten $v_1, \dots, v_k$ mit $f(v_i) = i$.
\feld{Bsp} Dreieck $v_1, v_2, w$ mit $k = 3$, $f(v_1){=}1$, $f(v_2){=}2$: $w$ bekommt Farbe 3 -- ja.
\feld{Reduktion} von $k$-\prob{Color}.
\feld{Konstruktion}\\
-- $V' = V \cup \{v_1, \dots, v_k\}$\\
-- $E' = E \cup \{\{v_i, v_j\} \mid i \ne j\}$\\
-- $k' = k$\\
-- ausgezeichnete Knoten: $v_1, \dots, v_k$ (die frischen)
\hin $k$-Färbung von $G$ bleibt gültig; neue Clique bekommt Farben $1..k$ per Definition.
\rueck Einschränkung der Precoloring-Färbung auf $G$ ist $k$-Färbung.
\feld{ETH} $|V'| = O(|V|)$, $|E'| = O(|V|^2)$, $k' = k$.
\pblock{COVERCLIQUE}
\feld{Def} $k$ paarweise disjunkte Cliquen, die $V$ überdecken?
\feld{Bsp} $C_4$ (Viereck): 2 Cliquen (gegenüberliegende Kanten) -- ja für $k{=}2$.
\feld{Reduktion} von $k$-\prob{Color} (SS25-Klausur).
\feld{ETH} $|V'| = |V|$, $|E'| \le |V|^2$, $k' = k$.
\pblock{3-DIMENSIONALMATCHING (3-DM)}
\feld{Def} Disjunkte Mengen $W, X, Y$ ($|W|{=}|X|{=}|Y|{=}q$), Tripel $T \subseteq W {\times} X {\times} Y$; $q$ disjunkte Tripel, die alles überdecken?
\feld{Bsp} Ehe-Analogie mit 3 Geschlechtern: perfekte Dreier-Zuordnung.
\feld{Reduktion} von \prob{Sat} (Vorlesung; für ETH auf 3-\prob{Sat}-Instanzen anwenden).
\feld{ETH} $|W| = O(m^2)$, $|T| = O(m^4)$.
\pblock{3-EXACTCOVER (X3C)}
\feld{Def} Grundmenge $U$ ($|U| = 3q$), 3er-Mengen $F$; exakte Überdeckung durch disjunkte Mengen?
\feld{Bsp} $U = \{1,\dots,6\}$, $F = \{\{1,2,3\}, \{4,5,6\}, \{2,3,4\}\}$: ja (erste zwei Mengen).
\feld{Reduktion} von 3-DM.
\feld{ETH} $|U'| = O(|W|)$, $|F'| = |T|$.
\pblock{SUBSETSUM}
\feld{Def} Größen $a_1, \dots, a_n$, Ziel $T$; Teilmenge mit Summe genau $T$?
\feld{Bsp} $\{3, 5, 7, 11\}$, $T = 12$: ja ($5 + 7$).
\feld{Reduktion} von X3C (Vorlesung).
\feld{Konstruktion}\\
-- $c_j = \sum_{u_i \in S_j} (n{+}1)^{i-1}$ (Menge als Bitvektor zur Basis $n{+}1$)\\
-- $K = \sum_{j=0}^{3m-1} (n{+}1)^{j}$ (überall Ziffer 1)
\hin Exact Cover $\to$ jede Position genau einmal überdeckt $\to$ Summe $= K$.
\rueck $\le n$ Summanden, Basis $n{+}1$ $\to$ kein Übertrag $\to$ jede Position genau eine 1 $\to$ gewählte Mengen überdecken exakt.
\feld{ETH} $n' = |F|$.
\pblock{SUBSETSUMCARDINALITY}
\feld{Def} \prob{SubsetSum} mit Zusatz $|S| = n/2$ ($n$ gerade).
\feld{Bsp} $\{1, 2, 3, 8\}$, $K = 9$, $|S| = 2$: ja ($1 + 8$).
\feld{Reduktion} von \prob{SubsetSum} (Präsenz 11.3).
\feld{Konstruktion}\\
-- $c_i' = c_i + 1$ für $i \in [n]$\\
-- $n$ Einser-Items: $c_{n+1}' = \dots = c_{2n}' = 1$\\
-- $K' = K + n$
\hin Lösung $S$ plus $n - |S|$ Einser: Kardinalität $n$, Summe $K + |S| + (n - |S|) = K + n$.
\rueck $S = S' \cap [n]$: Einser tragen $n - |S|$ bei $\to$ $\sum_{i \in S} c_i = K$.
\feld{ETH} $n' = O(n)$.
\pblock{$(a_1 = 1)$-SUBSETSUM}
\feld{Def} \prob{SubsetSum}, wobei $a_1 = 1$ gilt.
\feld{Bsp} $\{1, 4, 6\}$, $K = 7$: ja ($1 + 6$).
\feld{Reduktion} von \prob{SubsetSum}.
\feld{Konstruktion}\\
-- $a_1' = 1$\\
-- $a_{i+1}' = 2 c_i$ für $i \in [n]$\\
-- $K' = 2K$
\hin Lösung $S$ $\to$ verdoppelte Items summieren zu $2K$, ohne die 1.
\rueck $2K$ gerade, alle Items außer der 1 gerade $\to$ 1 nie nutzbar (Parität); halbieren ergibt Summe $K$.
\feld{ETH} $n' = O(n)$.
\pblock{SUBSETSUM MIT TEILBARKEIT (durch 3 oder 7)}
\feld{Def} \prob{SubsetSum}, jede Größe durch 3 oder durch 7 teilbar.
\feld{Bsp} $\{3, 7, 21\}$, $K = 10$: ja ($3 + 7$).
\feld{Reduktion} von \prob{SubsetSum}.
\feld{Konstruktion}\\
-- $a_i' = 21\, c_i$\\
-- $K' = 21\, K$
\hin Lösung skaliert mit: Summe $21K$.
\rueck Summe $21K$ durch 21 teilen $\to$ Summe $K$; $21c$ ist durch 3 und 7 teilbar.
\feld{ETH} $n' = n$.
\pblock{SUBSETSUM OHNE ZWEIERPOTENZEN}
\feld{Def} \prob{SubsetSum}, keine Größe ist eine Zweierpotenz $2^t$.
\feld{Bsp} $\{3, 5, 6\}$, $K = 9$: ja ($3 + 6$).
\feld{Reduktion} von \prob{SubsetSum}.
\feld{Konstruktion}\\
-- $a_i' = 3\, c_i$\\
-- $K' = 3K$
\hin Lösung skaliert mit: Summe $3K$.
\rueck Summe $3K$ durch 3 teilen; $3c$ ist nie $2^t$, da $3 \nmid 2^t$.
\feld{ETH} $n' = n$.
\pblock{PARTITION}
\feld{Def} Zahlen in zwei Hälften gleicher Summe teilen?
\feld{Bsp} $\{1, 2, 3, 4\}$: $\{1,4\} | \{2,3\}$ -- ja.
\feld{Reduktion} von \prob{SubsetSum} (Skript).
\feld{Konstruktion}\\
-- $N = \sum_{j=1}^n c_j + 1$\\
-- $c_{n+1} = N - K$, $c_{n+2} = K + 1$\\
-- Gesamtsumme $= 2N$, Hälfte $= N$
\hin Lösung $S$: $S \cup \{c_{n+1}\}$ summiert zu $K + (N - K) = N$.
\rueck $c_{n+1}, c_{n+2}$ nie zusammen (Summe $N + 1 > N$); obdA $c_{n+1} \in S$ $\to$ Rest von $S$ summiert zu $N - (N - K) = K$.
\feld{ETH} $n' = O(n)$.
\pblock{$P2\,\|\,C_{\max}$ (2 Maschinen)}
\feld{Def} Jobs auf 2 Maschinen, Makespan $\le T$?
\feld{Bsp} Jobs $3,3,2,2,2$, $T = 6$: ja ($\{3,3\}$ und $\{2,2,2\}$).
\feld{Reduktion} von \prob{Partition}.
\feld{Konstruktion}\\
-- Jobs = Zahlen\\
-- $m = 2$\\
-- $T = \frac12 \sum p_j$
\hin Partition $=$ perfekt balancierter Schedule.
\rueck Makespan $\frac12 \sum$ erzwingt exakte Balance $=$ Partition.
\feld{ETH} $n' = n$, $T = O(\textstyle\sum a_i)$.
\pblock{KNAPSACK (Entscheidung)}
\feld{Def} Gewichte $w_i$, Profite $p_i$; Auswahl mit $\sum w_i \le K$ und $\sum p_i \ge P$?
\feld{Bsp} Items $(w,p)$: $(2,3), (3,4)$; $K = 3$, $P = 4$: ja (zweites Item).
\feld{Reduktion} von \prob{SubsetSum}.
\feld{Konstruktion}\\
-- $w_i = p_i = a_i$\\
-- $K = P = T$
\hin Summe $= T$ $\to$ Gewicht $\le K$ und Profit $\ge P$.
\rueck Gewicht $\le T$ und Profit $\ge T$ zugleich $\to$ Summe exakt $T$.
\feld{ETH} $n' = n$, $K = P = T$.
\pblock{HITTINGSET}
\feld{Def} Universum $U$, Mengen $F_1, \dots, F_r$, Zahl $k$; $H$, $|H| \le k$, trifft jede $F_i$?
\feld{Bsp} $U = \{1..5\}$, $F = \{1,2\}, \{2,3\}, \{4,5\}$: $H = \{2, 4\}$, $k{=}2$ ja.
\feld{Reduktion} von 3-\prob{Sat} (HA 12.2 / Probeklausur).
\feld{ETH} $|U| = O(n)$, $r = O(m)$, $k = n$.
\pblock{NAE-4-SAT}
\feld{Def} Klauseln $\le 4$ Literale; Belegung, sodass jede Klausel wahres UND falsches Literal hat (``not all equal'')?
\feld{Bsp} $(x \vee y \vee z)$: $x{=}1, y{=}0$ -- ja. $(x)$ allein: nein (nie beides).
\feld{Reduktion} von 3-\prob{Sat} (SS25-Klausur).
\feld{ETH} $n' = O(n)$, $m' = m$.
\pblock{HALT$_{\mathrm{TM}}$ (nur NP-schwer!)}
\feld{Def} Hält DTM $M$ auf Wort $w$?
\feld{Bsp} $M$ = Endlosschleife auf jeder Eingabe: nein für jedes $w$.
\feld{Reduktion} von 3-\prob{Sat} (HA 11.2).
\feld{Konstruktion}\\
-- $M_\varphi$: probiere alle $2^n$ Belegungen; falls eine erfüllt, halte; sonst Endlosschleife\\
-- $w = \langle \varphi \rangle$
\hin Erfüllbar $\to$ $M_\varphi$ findet Belegung und hält.
\rueck $M_\varphi$ hält nur im Erfolgsfall $\to$ erfüllbar.
\end{document}