Merge branch 'main' of ssh://nevereverever.de:222/never/agt_exercise

This commit is contained in:
Never Gude 2026-06-01 17:04:53 +02:00
commit a19857c2b7
2 changed files with 22 additions and 2 deletions

Binary file not shown.

View file

@ -24,13 +24,33 @@
\points{3} \points{3}
\item \item
\points{2}
\item
Sei M das vom Algorithmus berechnete maximale Matching und M* das optimale maximale Matching. \\
Für jede Kante $e*=\{u,v\}\in$ M* gilt: mindestens einer der beiden Knoten $u$ oder $v$ muss über eine Kante aus M abgedeckt werden, sonst wäre der M nicht nicht-erweiterbar. \\
Eine Kante aus M hat genau zwei Endknoten und kann daher höchstens zwei verschiedene Kanten aus M* ''blockieren''. Da alle Kanten in M* disjunt sind kann man daraus folgern:
$$ |M*|\leq 2\cdot |M|\quad \Rightarrow\quad |M|\geq \frac{1}{2}|M*|$$
Somit ist der Algorithmus aus der Teilaufgabe a) eine 1/2 Approximation für ein optimales Matching.
\points{3} \points{3}
\item \item
\points{2} Zielfunktion:
\item $$ \arg\min \sum_{e\in E} x_e \geq 1$$
Entscheidungsvariablen: für jede Kante $e\in E$:
$$x_e\in\{0,1\}\quad \forall e\in E$$
Die Variable nimmt den Wert 1 an, wenn die Kante im Matching M ist und 0 falls sie das nicht ist.\\
Nebenbedingungen:
\begin{enumerate}
\item Matching: Jeder Knoten darf von maximal einer Matching-Kante berührt werden
$$\forall v\in V \colon \sum_{e\in \delta(v)}x_e\leq1$$
$\delta(v)$ ist die Menge aller Kanten welche an $v$ anliegen
\item Nicht-Erweiterbarkeit: Für jede Kante $\{u,v\}$ muss die Summe der Matching-Kanten an $u$ und $v$ mindestens 1 sein
$$ \forall \{u,v\}\in E \colon \sum_{e\in\delta(u)}x_e+\sum_{e'\in\delta(v)}x_e'\geq 1$$
$\delta(v)$ ist die Menge aller Kanten welche an $v$ anliegen. Äquivalent für $\delta(u)$.
\end{enumerate}
\points{3} \points{3}
\item \item