diff --git a/lernmaterial/cheatsheet.aux b/lernmaterial/cheatsheet.aux index 8228aab..9752b69 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{6} +\gdef \@abspage@last{5} diff --git a/lernmaterial/cheatsheet.log b/lernmaterial/cheatsheet.log index 9a22ad9..7c69b7e 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) 20 JUL 2026 20:04 +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 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -255,64 +255,47 @@ LaTeX Font Info: Trying to load font information for U+msb on input line 30. (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) -Overfull \hbox (35.21254pt too wide) in paragraph at lines 40--41 -[]\T1/cmr/bx/n/10 Quellen-Wahl bei frem-dem Prob-lem: \T1/cmr/m/n/10 Zahlen/Sum -men $\OMS/cmsy/m/n/10 !$ \T1/cmr/m/sc/10 Sub-set-Sum\T1/cmr/m/n/10 /\T1/cmr/m/s -c/10 Partition \TS1/cmr/m/n/10 · \T1/cmr/m/n/10 Knoten-Auswahl $\OMS/cmsy/m/n/1 -0 !$ \T1/cmr/m/sc/10 Clique\T1/cmr/m/n/10 /\T1/cmr/m/sc/10 VC\T1/cmr/m/n/10 /\T -1/cmr/m/sc/10 IS - [] +) [1 -[1 - -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] -Overfull \hbox (55.72345pt too wide) in paragraph at lines 279--280 -\T1/cmr/m/n/10 Grad per Gad-get auf-füllen, ohne neue Lö-sun-gen zu schaf-fen ( -Pendant-Dreiecke/Pfad-Gadgets, die keine neue Clique/Färbung/Tour - [] - -[6] (./cheatsheet.aux) +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4] [5] (./cheatsh +eet.aux) *********** LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-01-22> *********** ) Here is how much of TeX's memory you used: - 4657 strings out of 476182 - 69584 string characters out of 5795595 - 1941975 words of memory out of 5000000 - 26628 multiletter control sequences out of 15000+600000 - 573955 words of font info for 76 fonts, out of 8000000 for 9000 + 4645 strings out of 476182 + 69369 string characters out of 5795595 + 1939975 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 - 57i,8n,65p,529b,447s stack positions out of 10000i,1000n,20000p,200000b,200000s + 57i,8n,65p,246b,447s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on cheatsheet.pdf (6 pages, 260672 bytes). +0pk> + +Output written on cheatsheet.pdf (5 pages, 201458 bytes). PDF statistics: - 438 PDF objects out of 1000 (max. 8388607) - 92 compressed objects within 1 object stream + 332 PDF objects out of 1000 (max. 8388607) + 80 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 5c35dce..ffaa138 100644 Binary files a/lernmaterial/cheatsheet.pdf and b/lernmaterial/cheatsheet.pdf differ diff --git a/lernmaterial/cheatsheet.tex b/lernmaterial/cheatsheet.tex index fb421e4..2fe0a32 100644 --- a/lernmaterial/cheatsheet.tex +++ b/lernmaterial/cheatsheet.tex @@ -26,27 +26,10 @@ {\small Referenz: Definition · Beispiel · Reduktion · Konstruktion · ETH · Beweisidee je Richtung} \end{center} -\textbf{Reduktionsbaum (Kurs):} -\[ -\begin{array}{l} -\prob{Sat} \redp \text{3-\prob{Sat}} \redp k\text{-}\prob{Clique} \redp \prob{IndependentSet},\ \prob{VertexCover} \redp \prob{FVS},\ \Delta\prob{Cover}\\[2pt] -\text{3-\prob{Sat}} \redp \prob{HittingSet} \redp \prob{SetCover}; \quad \text{3-\prob{Sat}} \redp \prob{DominatingSet},\ k\text{-}\prob{Color} \redp \prob{CoverClique}\\[2pt] -\prob{Sat} \redp \text{3-DM} \redp \text{3-\prob{ExactCover}} \redp \prob{SubsetSum} \redp \prob{Partition} \redp P2\,\|\,C_{\max}; \quad \prob{SubsetSum} \redp \prob{Knapsack}\\[2pt] -\prob{VertexCover} \redp \prob{HamiltonianCycle} \leftrightarrow \prob{HamiltonianPath}; \quad \prob{HC} \redp \prob{TSP}\\[2pt] -\text{3-\prob{Sat}} \redp \text{NAE-4-\prob{Sat}} \redp \prob{SetSplitting}; \quad k\text{-}\prob{Clique} \redp \prob{GridTiling},\ 2|\mathrm{prec}|C_{\max} -\end{array} -\] - -\textbf{Quellen-Wahl bei fremdem Problem:} Zahlen/Summen $\to$ \prob{SubsetSum}/\prob{Partition} · Knoten-Auswahl $\to$ \prob{Clique}/\prob{VC}/\prob{IS} · Touren/Reihenfolgen $\to$ \prob{HC}/\prob{HP} · Färbung/Partition in Klassen $\to$ $k$-\prob{Color} · Mengensysteme $\to$ \prob{HittingSet}/\prob{3-ExactCover} · Scheduling $\to$ \prob{Partition}/$P2\|C_{\max}$ · Zusatzeigenschaft auf bekanntem Problem $\to$ vom Grundproblem reduzieren, Eigenschaft per Gadget erzwingen. - -\hrulefill \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$. -\feld{Reduktion} Basis (Cook--Levin: jede NP-Sprache $\redp$ \prob{Sat}). -\feld{ETH} über 3-\prob{Sat}-Schranken. -\feld{Rolle} Startpunkt; Klauseln beliebig lang -- Vorsicht: SS24-Klausur verlangte $\prob{Sat} \redp k$-\prob{Clique}, nicht 3-\prob{Sat}! \pblock{3-SAT} \feld{Def} KNF, jede Klausel $\le 3$ Literale; erfüllbar? @@ -55,229 +38,251 @@ \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} nicht in $2^{o(n)}$; per \textbf{Sparsification-Lemma} auch nicht in $2^{o(m)}$. Merke: $n \le 3m$. +\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} Knoten = Paare (Klausel $C_j$, Literal $\ell \in C_j$); Kante zwischen Paaren verschiedener Klauseln, außer $\ell = \bar\ell'$; $k = m$. +\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$ $\Rightarrow$ nicht in $2^{o(|V|)}$, $2^{o(\sqrt{|E|})}$, $2^{o(k)}$. +\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{Konstruktion} Komplementgraph $\bar G$, gleiches $k$. -\hin Clique in $G$ = keine Kanten in $\bar G$ = IS. -\rueck IS in $\bar G$ = alle Paare Kanten in $G$ = Clique. -\feld{ETH} $|V|$ gleich, $|E| \le |V|^2$ $\Rightarrow$ nicht in $2^{o(|V|)}$, $2^{o(\sqrt{|E|})}$. +\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} $\bar G$ und $k' = n - k$. +\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|$ $\Rightarrow$ nicht in $2^{o(|V|)}$, $2^{o(\sqrt{|E|})}$, $2^{o(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} Jede Kante $\{u,v\}$ durch beide Richtungen $(u,v), (v,u)$ ersetzen; $k$ übernehmen. +\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} Pro Kante $e = \{u,v\}$ neuer Knoten $v_e$ mit Kanten zu $u, v$ -- jede Kante wird Dreieck; $k$ übernehmen. -\hin VC trifft jede Kante, also jedes Alt-Dreieck \emph{und} jedes neue Dreieck $\{u, v, v_e\}$. \textbf{Achtung Korrektur H11:} auch Dreiecke, die schon in $G$ lagen, explizit abdecken! +\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'| = |V| + |E| \le 2|V|^2$, $|E'| = 3|E|$ $\Rightarrow$ nicht in $2^{o(\sqrt{|V'|})}$, $2^{o(\sqrt{|E'|})}$ (aus VC-Schranken). +\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{VertexCover} (Vorlesung) -- \textbf{Konstruktion nie selbst gefordert. Nur als Fakt zitieren.} -\feld{Als Quelle} für \prob{HP} $\leftrightarrow$ \prob{HC}, \prob{TSP}, Hitchhiker's, \prob{LongestPath} ($k = n{-}1$). +\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) $\leftrightarrow$ HC} +\pblock{HAMILTONIANPATH (HP)} \feld{Def} Pfad, der jeden Knoten genau einmal besucht? -\feld{HP von HC} Wähle $v$; füge Kopie $v^*$ (gleiche Nachbarn) plus Grad-1-Knoten $s$ an $v$, $t$ an $v^*$ an. +\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{HC von HP} Neuen Universalknoten $u$ (mit allen verbunden) hinzufügen. -\hin Pfad $+$ $u$ am Anfang/Ende schließt Kreis. -\rueck HC ohne $u$ ist Pfad über alle Altknoten. +\feld{ETH} $|V'| = O(|V|)$, $|E'| = O(|V|^2)$. -\pblock{TSP (Entscheidung) + Inapproximierbarkeit} -\feld{Def} Vollständiger Graph mit Distanzen, Budget $T$; Rundreise $\le T$? +\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}. -\feld{Konstruktion} $d(u,v) = 1$ falls $\{u,v\} \in E$, sonst $2$; $T = n$. (Erfüllt sogar $\Delta$-Ungleichung!) -\hin HC $\to$ Tour aus lauter 1er-Kanten, Länge $n$. -\rueck Tour $\le n$ kann keine 2er-Kante nutzen $\to$ alle Kanten in $E$ $\to$ HC. -\feld{Inapprox (SS23!)} Nicht-Kanten stattdessen $= \alpha n + 1$. Ein $\alpha$-Approx-Algorithmus gäbe Tour $\le \alpha n$ gdw.\ HC existiert $\to$ entscheidet \prob{HC} in Polyzeit $\to$ $P = NP$. Für kein $\alpha$ Güte möglich, außer $P = NP$. +\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} -- \textbf{in Klausuren stets gegeben, nie selbst konstruieren.} Nur Parameter zählen! -\feld{ETH} nicht in $2^{o(|V|)}$ (stand SS25 als Hinweis dabei); Parameter der SS24-Reduktion: $|V| = O(n + m)$, $|E| = O(n^2 + nm)$ $\Rightarrow$ nicht in $2^{o(\sqrt{|E|})}$. -\feld{Als Quelle} NP-vollständig zitieren für: \prob{Precoloring}, \prob{CoverClique}, 3-\prob{Color}-Varianten. +\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} Füge frische Clique $v_1, \dots, v_k$ hinzu (untereinander verbunden, sonst isoliert); precolore $f(v_i) = i$. +\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{Merke} Verifizierer braucht $v_1, \dots, v_k$ als Teil der \emph{Eingabe} (Klausur-Korrektur!) und muss ALLE Knoten prüfen, nicht nur $C$. +\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{Konstruktion} Komplementgraph $\bar G$, gleiches $k$. -\hin Farbklassen sind IS in $G$ = Cliquen in $\bar G$; disjunkt, überdecken $V$. -\rueck Cliquen in $\bar G$ = IS in $G$ $\to$ als Farbklassen nutzen. -\feld{ETH} $|V|$ gleich $\Rightarrow$ nicht in $2^{o(|V|)}$; $|\bar E| \le |V|^2$ $\Rightarrow$ nicht in $2^{o(\sqrt{|E|})}$. +\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; auf 3-\prob{Sat}-Instanzen anwenden für ETH) -- \textbf{Konstruktion nie selbst gefordert. Nur Parameter und Kette merken.} -\feld{ETH} $|W| = O(mn) \le O(m^2)$, $|T| = O(m^2 n^2) \le O(m^4)$ $\Rightarrow$ nicht in $2^{o(\sqrt{|W|})}$, $2^{o(\sqrt[4]{|T|})}$. -\feld{Rolle} Glied der Kette zu \prob{X3C} $\to$ \prob{SubsetSum} (Präsenz 13.1). +\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{Reduktion} von 3-DM (Spezialfall: Tripel als 3er-Mengen über $U = W \dot\cup X \dot\cup Y$). -\hin/\rueck identisch -- 3-DM \emph{ist} eine X3C-Instanz. -\feld{ETH} $|U| = 3q$, $|F| = |T|$ $\Rightarrow$ nicht in $2^{o(\sqrt{|U|})}$, $2^{o(\sqrt[4]{|F|})}$. +\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 1} von X3C (Vorlesung): Menge $F_i \to$ Zahl $\sum_{u \in F_i} (|F|{+}1)^{u}$, $T = \sum_u (|F|{+}1)^u$ -- Basis verhindert Überträge. -\feld{Reduktion 2} von 3-\prob{Sat} (SS23-Klausur, Basis 10): $s(a_i) = 10^{i-1} + \sum_{x_i \in C_j} 10^{n+j-1}$, analog $b_i$ für $\bar x_i$; Slack $c_j, d_j = 10^{n+j-1}$; Ziel: Variablenziffern 1, Klauselziffern 3. -\hin Belegung: pro Variable $a_i$ oder $b_i$ wählen; Klauselziffer wird $1..3$, Slacks füllen auf 3. -\rueck Keine Überträge (Basis groß genug) $\to$ Variablenziffer erzwingt genau ein Item pro Paar; Klauselziffer 3 braucht $\ge 1$ echtes Literal-Item (Slacks geben nur 2). -\feld{ETH} bzgl.\ Itemzahl: nicht in $2^{o(\sqrt[4]{n})}$ (via X3C). Bzgl.\ $d$ (verschiedene Größen) und $L = \log \Delta$ (SS23!): beide $O(n + m)$ $\Rightarrow$ nicht in $2^{o(d)}$, nicht in $2^{o(L)}$. +\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{SUBSETSUM-Varianten (Padding-Trickkasten)} -\feld{Cardinality ($|S| = n/2$)} Präsenz 11.3: $c_i' = c_i + 1$, plus $n$ Einser-Items, $T' = T + n$. -\hin Lösung $S$ mit Einsern auf Größe $n$ auffüllen. \rueck Einser-Items gleichen Kardinalität aus, Kern bleibt. -\feld{$(a_1 = 1)$} Alle Größen $\times 2$, ein 1-Item dazu, $T' = 2T$: Parität verhindert Nutzung der 1. -\feld{Teilbar durch 3 oder 7} Alle Größen und $T$ mit $21$ multiplizieren. -\feld{Ohne Zweierpotenzen} Alle $\times 3$: $3a$ ist nie $2^k$ (ungerader Faktor); $T' = 3T$. -\feld{AtMostTwoPerSize} \textbf{Kam SS24 als eigene Aufgabe -- Konstruktion können!} \skizze Idee: Vielfachheit $c$ einer Größe binär bündeln: Items $a, 2a, 4a, \dots$ je einmal -- alle Teilsummen $0..ca$ erreichbar. Gegen Musterlösung prüfen. -\feld{Muster} Immer: Ja-Instanzen exakt erhalten, Eigenschaft durch Skalierung/Padding erzwingen, Zieltransformation angeben. +\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} ($A = \sum a_i$). -\feld{Konstruktion} Zwei Zusatz-Items $2A - T$ und $A + T$; Gesamtsumme $4A$, Hälfte $= 2A$. -\hin Lösung $S$: Seite $S \cup \{2A - T\}$ hat $T + 2A - T = 2A$. -\rueck Zusatz-Items nie zusammen ($3A > 2A$); Seite mit $2A - T$ enthält Items der Summe $T$. +\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{Reduktion} von \prob{Partition}: Jobs = Zahlen, $T = \frac12 \sum p_j$. -\hin Partition = perfekt balancierter Schedule. \rueck Makespan $\frac12\sum$ erzwingt exakte Balance. +\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$, Kapazität $K$, Zielprofit $P$. -\feld{Reduktion} von \prob{SubsetSum}: $w_i = p_i = a_i$, $K = P = T$. -\hin/\rueck Summe $= T$ gdw.\ Gewicht $\le T$ und Profit $\ge T$ gleichzeitig. +\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{Konstruktion} $U$ = Literale; Paar-Mengen $\{x_i, \bar x_i\}$, Klausel-Mengen $C_j$; $k = n$. -\hin Belegung $\to$ $H$ = wahre Literale: trifft jedes Paar (eines wahr) und jede Klausel (erfülltes Literal). -\rueck $k = n$ und $n$ disjunkte Paare $\to$ genau ein Literal pro Paar = Belegung; Klauselmengen getroffen = erfüllt. -\feld{ETH} $|U| = 2n$, $r = n + m \le 4m$, $k = n$ $\Rightarrow$ nicht in $2^{o(|U|)}$, $2^{o(r)}$ (Sparsification), $2^{o(k)}$. - -\pblock{SETCOVER} -\feld{Def} Mengen $F_1, \dots, F_r$ über $U$; $k$ Mengen, deren Vereinigung $U$ ist? -\feld{Reduktion} von \prob{HittingSet} (SS23-Klausur; Rollen tauschen). -\feld{Konstruktion} Bipartite Inzidenz: neues Universum $U' = [r]$ (alte Mengen-Indizes); pro altes Element $w$ die Menge $F_w' = \{i \mid w \in F_i\}$; $k' = k$. -\hin Hitting-Set $H$ trifft jede $F_i$ $\leftrightarrow$ die Mengen $\{F_w' \mid w \in H\}$ überdecken $[r]$. -\rueck symmetrisch (Dualität: Element trifft Menge $=$ Menge enthält Element). -\feld{ETH} Parameter tauschen: $|U'| = r$, $r' = |U|$ $\Rightarrow$ \prob{SetCover} nicht in $2^{o(r)}$ und nicht in $2^{o(|U|)}$ (jeweils übersetzt). - -\pblock{DOMINATINGSET} -\feld{Def} $M$, $|M| = k$: jeder Knoten in $M$ oder Nachbar von $M$. -\feld{Bsp} Stern: Zentrum dominiert alles, $k{=}1$. -\feld{Reduktion} von 3-\prob{Sat} (SS24-Klausur). -\feld{Konstruktion} Pro Variable Dreieck $\{x_i, \bar x_i, d_i\}$; pro Klausel Knoten $C_j$ mit Kanten zu seinen Literalen; $k = n$. -\hin Belegung $\to$ $M$ = wahre Literale: dominiert Dreieck (alle drei benachbart) und $C_j$ (erfülltes Literal). -\rueck $k = n$ Dreiecke brauchen je einen Knoten ($d_i$ nur intern nützlich $\to$ obdA Literal); $C_j$ dominiert $\to$ ein Literal wahr. -\feld{ETH} $|V| = 3n + m = O(m)$, $|E| = 3n + 3m = O(m)$ (\textbf{linear!}) $\Rightarrow$ nicht in $2^{o(|V|)}$ und nicht in $2^{o(|E|)}$ -- Kanten OHNE Wurzel. +\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{Konstruktion} Frische Variable $w$; jede Klausel $C_i \to C_i \cup \{w\}$. -\hin Erfüllende Belegung $+$ $w = $ falsch: wahres Literal existiert, $w$ ist das falsche. -\rueck NAE-Lösung; obdA $w = $ falsch (sonst alles flippen -- NAE bleibt!); dann hat jede Klausel ein wahres Original-Literal. -\feld{ETH} $n' = n + 1$, $m' = m$ $\Rightarrow$ nicht in $2^{o(n)}$, $2^{o(m)}$. - -\pblock{SETSPLITTING} -\feld{Def} Grundmenge $S$, Mengen $F_i$; Partition $S = S_1 \dot\cup S_2$, sodass jede $F_i$ beide Seiten trifft? -\feld{Reduktion} von NAE-4-\prob{Sat} (SS25-Klausur). -\feld{Konstruktion} $S$ = Literale; Paar-Mengen $\{x_i, \bar x_i\}$ + Klausel-Mengen $C_i$. -\hin NAE-Belegung: $S_1$ = wahre Literale. Paare gesplittet (eins wahr, eins falsch), Klauseln gesplittet (NAE!). -\rueck Splitting: Paar-Mengen erzwingen $x_i$, $\bar x_i$ auf verschiedenen Seiten $\to$ konsistente Belegung ($S_1$ = wahr); Klausel beidseitig = NAE. -\feld{ETH} $|S| = 2n$, $r = n + m$ $\Rightarrow$ nicht in $2^{o(|S|)}$, $2^{o(r)}$. - -\pblock{GRIDTILING} -\feld{Def} $k \times k$ Gitter, Mengen $S_{i,j} \subseteq [n]^2$; Auswahl $e_{i,j} \in S_{i,j}$, zeilenweise gleiche 1.\ Komponente, spaltenweise gleiche 2.\ Komponente. -\feld{Reduktion} von \prob{Clique} (SS24-Klausur; $k \in \Theta(n)$ erlaubt). -\feld{Konstruktion} Diagonale $S_{i,i} = \{(a,a)\}$; sonst $S_{i,j} = \{(a,b) \mid \{a,b\} \in E, a \ne b\}$; $k$ übernehmen. -\hin Clique $v_1, \dots, v_k$: setze $e_{i,j} = (v_i, v_j)$ -- Konsistenz nach Konstruktion. -\rueck Zeilen-/Spaltenkonsistenz definiert $v_i$ (Diagonale erzwingt Paare $(a,a)$); Off-Diagonale erzwingt Kanten zwischen allen $v_i, v_j$. -\feld{ETH} $X = \sum |S_{i,j}| = O(k^2 |E|) = O(n^4)$, $Y = \max |S_{i,j}| = O(n^2)$ $\Rightarrow$ nicht in $2^{o(\sqrt[4]{X})}$, $2^{o(\sqrt{Y})}$. - -\pblock{$2\,|\,\mathrm{prec},\ p \in \{1,2\}\,|\,C_{\max}$} -\feld{Def} 2 Maschinen, Präzedenz-DAG, Zeiten 1/2; Makespan $\le T$? -\feld{Reduktion} von $k$-\prob{Clique} (SS24-Klausur, Konstruktion gegeben). -\feld{Konstruktion} \skizze Knoten-Jobs ($p{=}1$), Kanten-Jobs ($p{=}2$), $3|V| + 2|E|$ Dummies; Präzedenz Knoten $\to$ inzidente Kanten; $T = 2|V| + 2|E|$, $n = 4|V| + 3|E|$. -\hin Clique-Knoten früh einplanen, ihre Kanten füllen Lücken deadline-genau. -\rueck Enger Makespan erzwingt Clique-Struktur im frühen Fenster. -\feld{ETH} $n$ und $T$ linear in $|V| + |E|$; mit Clique-Schranke ($|E|$-Version, zusammenhängend): nicht in $2^{o(\sqrt{n})}$, $2^{o(\sqrt{T})}$. - -\pblock{ILP-FEASIBILITY} -\feld{Def} $A x \le b$, $x \in \mathbb{Z}^N_{\ge 0}$ lösbar? -\feld{Reduktion} von 3-\prob{Sat} (SS23-Klausur). -\feld{Konstruktion} Variable je Literal ($N = 2n$); pro Klausel $-\sum_{\ell \in C_i} x_\ell \le -1$; pro Variable $x_v + x_{\bar v} \le 1$ und $-x_v - x_{\bar v} \le -1$ ($M = m + 2n$). -\hin Belegung $\to$ 0/1-Vektor erfüllt alles. -\rueck Paar-Gleichungen erzwingen $x_v + x_{\bar v} = 1$ (0/1-Belegung); Klausel-Zeile = erfülltes Literal. -\feld{ETH} $M = O(m)$, $N = O(n)$ $\Rightarrow$ nicht in $2^{o(M)}$, $2^{o(N)}$. +\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$. +\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. -\feld{Merke} NICHT in NP (unentscheidbar) $\to$ NP-schwer $\ne$ NP-vollständig. Reduktion muss polynomiell sein -- $M_\varphi$ wird nur \emph{konstruiert}, nicht ausgeführt! - -\pblock{Klausur-Varianten-Tricks (Zusatzeigenschaft erzwingen)} -\feld{Universalknoten} $k$-\prob{CliqueUniversal} (HA 10.2): Universalknoten $u$ anhängen, $k' = k + 1$. Rück-Richtung: obdA $u$ in der Clique (sonst tauschen). -\feld{Verbotener Knoten} \prob{Clique-Nomember} (Präsenz 11.2): isolierten Knoten $v$ anhängen; isoliert $\to$ nie in einer Clique $\ge 2$. -\feld{Clique UND IS} \prob{CliqueAndIndependentSet} (SS24): $k$ isolierte Knoten anhängen $\to$ IS der Größe $k$ existiert immer; Clique unverändert. -\feld{Mindestgrad} $k$-\prob{Clique-Deg-3}, 3-\prob{Color} Grad 3, Hitchhiker's-\prob{HC} Grad 42: \skizze Grad per Gadget auffüllen, ohne neue Lösungen zu schaffen (Pendant-Dreiecke/Pfad-Gadgets, die keine neue Clique/Färbung/Tour ermöglichen). Bei HC: Gadget so, dass es von jedem Ham-Kreis zwangsläufig komplett durchlaufen wird. -\feld{Feste Kardinalität} \prob{SubsetSumCardinality}: $+1$-Shift und Einser-Padding (s.o.). -\feld{Grundmuster} Immer dieselben 5 Schritte: $\in$NP $\cdot$ Konstruktion $\cdot$ $\Rightarrow$ $\cdot$ $\Leftarrow$ (mit \emph{beliebiger} Lösung starten, obdA-Tausch) $\cdot$ Laufzeit + Schlusssatz. \end{document}