aufgabe 1 und 2

This commit is contained in:
Never Gude 2026-06-21 21:53:57 +02:00
parent 1dd794d7ad
commit fb294209ef
7 changed files with 80 additions and 98 deletions

View file

@ -1,25 +1,29 @@
\section{Implementierung von \textsc{Contract}}
\begin{enumerate}
\item $G$ nach $H$ kopieren. \hfill $\Oh(1)$
\item Wenn $\abs{V_H} \leq 2$, dann ist die Zerlegung $\tup{S, T}$ von $G$,
die den beiden letzen Knoten in $H$ entspricht, das Ergebnis.
\label{step2}
\item Wähle eine Zufallszahl $z$ im Intervall $\interval{1; \abs{V_H}}$. \hfill $\Oh(1)$
\item Nimm den Knoten $a = V_H[z]$ und wähle eine Zufallszahl $z'$ im Intervall $\interval{1, \abs{Adj[a]}}$.
\section{Chromatische Zahl}
\begin{tasks}
\item
Angenommen der Graph $G$ ist vollständig. So hat jeder Knoten den maximalen
Knotengrad $\Delta(G)$. Für alle Knoten $v$ gilt, dass jeder adjazente
Knoten und $v$ eine eigene Farbe haben muss. Das sind also $\Delta(G) + 1$
viele. Jeder Graph (mit weniger Kanten) hat also eine chromatische Zahl
$\chi(G) \leq \Delta(G) + 1$.
\points{2}
\item
Für alle Anzahlen an Knoten $n \in \NN$ und Maximalgrad $\Delta < n$ existiert ein
Graph $G_{n,\Delta}$ mit $\chi(G_{n,\Delta}) = \Delta + 1$. Dieser Graph
hat eine Clique der Größe $\Delta$.
\points{2}
\item
\begin{align*}
& \text{Variablen:} & x_1, \dots, x_{n} \in \set{1, \dots, \Delta + 1} \\
&&\text{Jeder Knoten hat eine Farbe} \\
& \text{Zielfunktion:} & \argmin \sum_{i=1}^{n} x_i \\
&&\text{Es werden so wenig Farben wie möglich benutzt} \\
& \text{Nebenbedingung:} & \forall ab \colon x_a \neq x_b \\
&&\text{Die Knoten einer Kante haben nicht die selbe Farbe}
\end{align*}
\points{2}
Nimm den Knoten $b = Adj_{z'}[a]$. \hfill $\Oh(1)$
\item Bestimme für jeden zu $a$ oder $b$ adjazenten Knoten $c_i$ die Anzahl der Kanten
zwischen $c_i$ und $a$ oder $b$. \hfill $\Oh(V_H) = \Oh(n)$.
\item Kontrahiere die Kante $ab$. Lösche dazu die Knoten $a, b$ sowie alle zu $a$ oder $b$ inzidenten Kanten. Da Mehrfachkanten als Zahl implementiert sind, sind
nur maximal 2 Einträge pro $c_i$ zu löschen. \hfill $\Oh(n)$
Füge einen neuen Knoten $d$ ein. Füge für jeden Knoten $c_i$ die vorher bestimmte Anzahl
an Kanten zwischen $c_i$ und $a$ oder $b$ als Kanten zwischen $c_i$ und $d$ ein.
\hfill $\Oh(n)$
\item Gehe zurück zu \autoref{step2}
\end{enumerate}
Da der Knoten $a$ durch eine gleichverteilte Zufallszahl $z$ ausgewählt wird und der
Knoten $b$ ebenfalls gleichverteilt ausgewählt wird, ist die Kante $ab$ ebenfalls
gleichverteilt ausgewählt.
\points{6}
\end{tasks}