Add dima notes
Some checks failed
the build failed

This commit is contained in:
Valentin Brandl 2019-01-30 21:38:09 +01:00
parent 6958b0918f
commit a069dd5aa0
No known key found for this signature in database
GPG Key ID: 30D341DD34118D7D
15 changed files with 661 additions and 0 deletions

View File

@ -127,6 +127,7 @@ $$
Der Beweis liefert auch einen Algorithmus, um für solche Graphen effizient Der Beweis liefert auch einen Algorithmus, um für solche Graphen effizient
Hamiltonkreise zu finden. Hamiltonkreise zu finden.
**Idee**: Gegeben $G=(V,E)$. Starte mit beliebigen Hamiltonkreis **Idee**: Gegeben $G=(V,E)$. Starte mit beliebigen Hamiltonkreis
$k=(v_1,...v_n)$ wobei nicht alle Kanten in $E$ liegen (kein Hamiltonkreis in $k=(v_1,...v_n)$ wobei nicht alle Kanten in $E$ liegen (kein Hamiltonkreis in
$G$). $G$).

View File

@ -0,0 +1,21 @@
graph g {
rankdir="LR";
node [ shape="circle" ];
{
rank="same";
2;
3;
}
{
rank="same";
4;
5;
}
1 -- 2 -- 4 -- 6;
1 -- 3 -- 5 -- 6;
2 -- 3;
4 -- 5;
2 -- 5;
3 -- 4;
}

View File

@ -0,0 +1,15 @@
graph g {
node [ shape="circle" ];
{
rank="same";
1;
3;
5;
6;
}
2 -- 1 -- 4;
2 -- 3 -- 4;
2 -- 5 -- 4;
2 -- 6 -- 4;
}

View File

@ -0,0 +1,110 @@
---
title: Eulertouren
date: 2018-11-21
---
**Frage**: Gibt es einen Rundweg, auf dem man jede Brücke genau einmal
überquert?
Entspricht der Frage, ob es in dem Graph (der leider kein Graph in unserem
Sinne ist) einen Weg gibt, der
i) jede Kante enthält
i) Start- und Endknoten gleich sind
# Definition (Eulertour)
Sei $G=(V,E)$ ein zusammenhängender Graph.
i) Eine **Eulertour** in $G$ ist ein Weg, der jede Kante genau einmal
durchläuft und bei dem Start- und Endknoten gleich sind
i) Ein Graph, der eine Eulertour enthält, heißt **eulersch**
**Beispiel**:
a) ![Eulerscher Graph](20181121_1-euler.png) ist eulersch, da
$(1,4,3,2,6,4,5,2,1)$ eine Eulertour ist
a) ![Haus vom Nikolaus](20181121_1-nikolaus.png) enthält zwar einen Weg, der
alle Kanten genau einmal besucht, aber **keine** Eulertour $\Rightarrow$ nicht
eulersch.
Warum nicht eulersch?
Betrachte Knoten $1$, $deg(1) = 3$
1) Falls $1$ Startknoten ist, dann kann $1$ nicht Endknoten sein, da es
keine nicht benutzte Kante mehr gibt, die zu $1$ hinführt, nachdem $1$
2-mal besucht wurde
2) Falls $1$ nicht Startknoten, dann endet die Tour entweder in $1$ oder
eine zu $1$ inzidente Kante wird nicht besucht
$\Rightarrow$ Falls $G$ eulesch gilt $2 | deg(v), \forall v \in V$
Diese Bedingung ist nicht nur notwendig, sondern auch hinreichend.
# Satz
Sei $G=(V,E)$ ein zusammenhängender Graph. Dann ist $G$ eulersch, genau dann,
wenn $2 | deg(v), \forall v \in V$ ($deg(v)$ ist gerade).
# Beweis
"$\Rightarrow$" siehe oben
"$\Leftarrow$" Sei $G=(V,E)$ ein zusammenhängender Graph mit $2 | deg(v),
\forall v \in V$. Wir müssen zeigen, dass $G$ eine Eulertour enthält. Wir
konstruieren diese wie folgt:
* wähle einen beliebigen Knoten $v_0 \in V$ und setzen $W_0 = (v_0)$, $i
\leftarrow 0$
* solange (es gibt noch eine Kante, die in $W_i$ nicht besucht wurde)
i) wähle Knoten $v_k \in W_i$, der zu einer Kante $\{v_k,u\}$ inzident ist,
die noch nicht besucht wurde
i) konstruiere einen Weg $W' = (v_k, u=u_0,u_1,...,u_s,v_k)$ aus Kanten,
die in $W_i$ noch nicht benutzt wurden und der wieder in $v_k$ endet
i) setze $W_{i+1}$ auf den aus $W_i$ und $W'$ zusammengesetzten Weg, d.h.
für $W_i = (v_0,...,v_0)$ setze $W_{i+1} =
(v_0,...,v_k,u_0,...,u_s,v_k,v_{k-1},...,v_0)$
i) setze $i \leftarrow i + 1$
Der Algorithmus ist korrekt, denn
i) bei Terminierung ist $W_i$ eine Eulertour
i) Der Weg $W'$ kann immer konstruiert werden, da
a) Die Anzahl der besuchten Kanten in $W_i$ ist für jeden Knoten gerade. Da
$deg(v)$ gerade ist, ist auch die Anzahl der nicht besuchten Kanten pro
Knoten gerade
a) Daher können wir aus jedem besuchten Knoten in $W'$ weiterlaufen, bis
wir wieder in $v_k$ landen.
$$
\tag*{$\Box$}
$$
**Beispiel**: ![Doppelter Nikolaus](20181121_1-doublenikolaus.png)
* starte mit $(1)$
* dann $W' = (1,3,2,1)$, $W_1 = (1,3,2,1)$
* dann $W' = (2,4,5,2)$, $W_2 = (1,3,2,4,5,2,1)$
* dann $W' = (3,5,6,4,3)$
$\Rightarrow$ $W_3 = (1,3,5,6,4,3,2,4,5,2,1)$ als Eulertour in $G$.
**Laufzeit**: $O(|E|)$

View File

@ -0,0 +1,21 @@
graph g {
node [ shape="circle" ];
{
rank="same";
4;
3;
}
{
rank="same";
1;
2;
}
5 -- 4 -- 1;
5 -- 3 -- 2;
4 -- 3;
1 -- 2;
4 -- 2;
3 -- 1;
}

View File

@ -0,0 +1,21 @@
graph k23 {
rankdir="LR";
node [ shape="point" ];
{
rank="same";
1;
2;
}
{
rank="same";
3;
4;
5;
}
1 -- 3;
1 -- 4;
1 -- 5;
2 -- 3;
2 -- 4;
2 -- 5;
}

View File

@ -0,0 +1,11 @@
graph g {
node [ shape="point" ];
{
rank="same";
2;
3;
}
1 -- 2;
1 -- 3;
2 -- 3;
}

View File

@ -0,0 +1,25 @@
graph k33 {
rankdir="LR";
node [ shape="point" ];
{
rank="same";
1;
2;
3;
}
{
rank="same";
4;
5;
6;
}
1 -- 4;
1 -- 5;
1 -- 6;
2 -- 4;
2 -- 5;
2 -- 6;
3 -- 4;
3 -- 5;
3 -- 6;
}

View File

@ -0,0 +1,17 @@
graph k4 {
splines=false;
node [ shape="point" ];
{
rank="same";
3;
5 [ style="invis" ];
4;
}
1 -- 2;
1 -- 3;
1 -- 4;
2 -- 3;
2 -- 4;
3 -- 5;
5 -- 4;
}

View File

@ -0,0 +1,17 @@
graph k4 {
splines=false;
node [ shape="point" ];
{
rank="same";
3;
5;
4;
}
1 -- 6 -- 2;
1 -- 3;
1 -- 4;
2 -- 3;
2 -- 4;
3 -- 5;
5 -- 4;
}

View File

@ -0,0 +1,26 @@
graph k5 {
splines=false;
node [ shape="point" ];
{
rank="same";
2;
6 [ style="invis" ];
3;
}
{
rank="same";
4
5;
}
1 -- 2 -- 4;
1 -- 3 -- 5;
1 -- 4;
1 -- 5;
2 -- 6;
6 -- 3;
4 -- 5;
2 -- 5;
3 -- 4;
}

View File

@ -0,0 +1,273 @@
---
title: Planare Graphen
date: 2018-11-21
---
**Frage**: Welche Graphen kann man besonders "schön" zeichnen?
Genauer: Welche Graphen kann man so zeichnen, dass sich keine Kanten schneiden?
# Definition (Planarer Graph)
Ein Graph $G=(V,E)$ heißt planar, falls er so in die Ebene eingebettet werden
kann, dass sich keine Kanten schneiden.
**Beispiel**:
i) $K_3$ ![$K_3$](20181121_2-k3.png) ist planar
i) $K_4$ ![$K_4$](20181121_2-k4.png) ist planar
i) $K_5$ ![$K_5$](20181121_2-k5.png) ist nicht planar
**Bemerkungen**:
i) Planar ist Eigenschaft des Graphen, nicht der Einbettung (Auch planare
Graphen können nicht planar Gezeichnet werden)
i) Zu zeigen, dass ein Graph **nicht** planar ist, ist (erstmal) nicht so
einfach
**Weitere Beispiele**:
Vollständige bipartite Graphen $K_{n,m}=(V,E)$ bestehen aus 2 disjunkten
Knotenmengen $V_1, V_2$ mit $|V_1| = n, |V_2| = m$ und $V = V_1 \biguplus V_2$
wobei $E = \{ \{u,v\} | u \in V_1, v \in V_2 \}$
i) $K_{2,3}$: ![$K_{2,3}$](20181121_2-k23.png) ist planar ($\{1,4\}$ und
$\{1,5\}$ außen zeichnen)
i) $K_{3,3}$: ![$K_{3,3}$](20181121_2-k33.png) ist nicht planar
Wir betrachten als nächstes die Gebiete/Flächen in die die planare Einbettung
eines planaren Graphen die Ebene unterteilt.
**Beispiel**:
i) $K_3$ unterteilt die Ebene in 2 Flächen (eine innere und eine äußere)
i) $K_4$ unterteilt die Ebene in 4 Flächen
i) $K_{2,3}$ unterteilt die Ebene in 3 Flächen
Die Anzahl der Flächen/Gebiete ist unabhängig von der genauen planaren
Einbettung.
# Satz (Eulersche Polyederformel)
Sei $G=(V,E)$ ein zusammenhängender planarer Graph. Sei $f$ die Anzahl der
Gebiete einer planaren Einbettung von $G$. Dann gilt $f = |E| - |V| + 2$
# Beweis (Eulersche Polyederformel)
(per Induktion über $|E|$)
**Induktionsanfang**: Da $G$ zusammenhängend gilt $|E| \geq |V| - 1$. Daher
Induktionsanfang für $|E| = |V| - 1$. Damit ist $G$ ein Baum und die Anzahl der
Gebiete $f$ ist 1 (1 äußeres, 0 innere). Es gilt
$$
\begin{align*}
1 = f &= |E| - |V| + 2 \\
&= (|V| - 1) - |V| + 2 = 1
\end{align*}
$$
**Induktionsschritt**: Sei nun $|E| > |V| - 1$. Dann enthält $G$ einen Kreis
und sei $c = \{u,v\} \in E$ eine Kreiskante. Betrachte $G' = (V, E \setminus
\{c\})$. Dann gilt (nach Induktionsanfang):
i) $f' = |E'| - |V| + 2 = (|E| - 1) - |V| + 2$
i) $f' = f - 1$ da durch Wegnahme von $c$ zwei Gebiete von $G$ zusammenfallen
$\Rightarrow$ $f - 1 = f' = |E| - |V| + 1$
$\Rightarrow$ $f = |E| - |V| + 2$
$$
\tag*{$\Box$}
$$
Verallgemeinerung des obigen Satzes:
# Satz
Sei $G=(V,E)$ ein planarer Graph mit $k$ Zusammenhangskomponenten. Sei $f$ die
Anzahl der Gebiete eines planaren Diagrammes, dann gilt
$$
f = |E| - |V| + k + 1
$$
# Beweis
Seien $G_i = (V_i,E_i)$, $i \in \{1,...,k\}$ die Zusammenhangskomponenten von
$G$. Dann gilt
$$
\begin{align*}
V &= \biguplus\limits_{i \in \{1,...,k\}} V_i \\
E &= \biguplus\limits_{i \in \{1,...,k\}} E_i
\end{align*}
$$
Sei $f_i$ die Anzahl der Gebiete von $G_i$, dann gilt
i) $f_i = |E_i| - |V_i| + 2$ (Satz von oben, Zusammenhangskomponenten sind
zusammenhängend)
i) $f = \sum\limits_{i=1}^k f_i - (k-1)$, da wir in $\sum\limits_{i=1}^k f_i$
das äußere Gebiet $k$-mal gezählt haben.
$$
\begin{align*}
\Rightarrow f &= \sum\limits_{i=1}^k (|E_i| - |V_i| - 2) - (k-1) \\
&= \sum\limits_{i=1}^k |E_i| - \sum\limits_{i=1}^k |V_i| + 2k -(k-1) \\
&= |E| - |V| + k + 1
\end{align*}
$$
$$
\tag*{$\Box$}
$$
Der folgende Satz zeigt, dass planare Graphen für gegebenes $|V|$ nicht zu viele
Kanten haben können.
# Satz
Sei $G=(V,E)$ planar mit $|V| \geq 3$. Dann gilt $|E| \leq 3 |V| - 6$
## Beispiel
$K_5$ hat $|V|=5$ Knoten und $|E|=\binom{5}{2} = \frac{5\cdot 4}{2} = 10$
Kanten und es gilt $3 * |V| - 6 = 9 < 10 = |E|$
$\Rightarrow$ $K_5$ ist nicht planar
# Beweis
Sei ohne Einschränkung $G=(V,E)$ zusammenhängend. Seien $R_1,...,R_f$ die
Gebiete eines planaren Diagrammes von $G$ und $E = \{ e_1,...e_m \}$ die
Kanten. Betrachte folgende Matrix:
$$
A = a_{i,j} = \begin{cases}
1 & \text{falls } e_i \text{ das Gebiet } R_i \text{ berandet} \\
0 & \text{sonst}
\end{cases}
$$
Dann gilt
i) Zeilensummen sind $\leq 2$
i) Spaltensummen sind $\geq 3$
Doppeltes Abzählen liefert $ef \leq 2 |E|$
$\Rightarrow$ $f = \frac{2}{3} |E|$ und da $f = |E| -|V|+2$ gibt, folgt
$\Rightarrow$ $|E|-|V|+2 \leq \frac{2}{3} |E|$
$\Rightarrow$ $\frac{1}{3}|E| \leq |V|-2$
$\Rightarrow$ $|E| \leq 3 |V| -6$
$$
\tag*{$\Box$}
$$
Für $K_{3,3}$ reicht der Satz nicht aus, denn $|V| = 6$ und $|E|=9$ und
$3|V|-6=12>9=|E|$. Aus dem Satz folgt nicht, dass $K_{3,3}$ nicht planar ist.
Aber es stimmt trotzdem.
# Erweiterung des Satzes
Sei $G$ ein planarer Graph, der keinen Kreis der Länge 3 enthält. Dann gilt
$$
|R| \leq 2|V| -4
$$
In diesem Fall wird dieses Gebiet von mindestens 4 Kanten umrandet. Der Beweis
folgt dann analog zu oben.
$K_{3,3}$ enthält keinen Kreis der Länge 3 und $2|V| - 4 = 2 \cdot 6 - 4 = 8 <
9 = |E|$.
$\Rightarrow$ $K_{3,3}$ ist nicht planar.
# Korollar
$K_5$ und $K_{3,3}$ sind nicht planar.
a) Im wesentlichen sind das alle. Klar ist, dass jeder Graph $G=(V,E)$, der
$K_5$ oder $K_{3,3}$ als Teilgraph enthält nicht planar ist. Denn jeder
Teilgraph eines planaren Graphen ist planar
a) **Unterteilungen** eines Graphen $G=(V,E)$ entstehen durch ersetzen einer
Kante durch einen Pfad (und entsprechend Einfügen von neuen Knoten).
**Beispiel**: $K_4$ ![$K_4$](20181121_2-k4_unterteilung.png)
Unterteilungen des $K_5$ und $K_{3,3}$ sind nicht planar.
**Allgemein**: Unterteilungen von nicht planaren Graphen sind nicht planar
(und umgekehrt).
Diese beiden Punkte a) und b) zusammen mit $K_5$ und $K_{3,3}$ nicht planar
charakterisieren alle nicht planaren Graphen (ohne Beweis)
# Satz (Nicht-planar)
Sei $G=(V,E)$ ein Graph. G ist nicht-planar genau dann, wenn G eine
Unterteilung des $K_5$ oder $K_{3,3}$ als Teilgraph enthält
"$\Leftarrow$" haben wir gezeigt
"$\Rightarrow$" schwer
## Bemerkung
Es gibt Algorithmen, die in Laufzeit $O(|V|+|E|)§ entscheiden, ob $G=(V,E)$
planar ist, oder nicht, und die, falls $G$ planar ist, ein planares Diagramm
von $G$ berechnen
Das folgende Korollar werden wir später nutzen
## Korollar
$Sei $G=(V,E)$ ein planarer zusammenhängender Graph. Dann gibt es ein $v \in V$
mit $deg(v) \leq 5$
## Beweis
Für $|V| < 3$ ist diese Aussage trivial. Sei also $|V| \geq 3$ und $d =
\min\limits_{v \in V} deg(v)$. Dann gilt
$$
\begin{align*}
d * |V| \leq \sum\limits_{v \in V} deg(v) = 2*|E| &\leq 2 * (3 * |V| - 6) \\
&= 6 * |V| - 12 \\
&< 6*|V|
\end{align*}
$$
$\Rightarrow$ $d < 6$ $\Rightarrow$ $\exists v \in V: deg(v) < 6$
$$
\tag*{$\Box$}
$$

View File

@ -0,0 +1,20 @@
graph g {
node [ shape="circle" ];
{
rank="same";
1;
3;
}
{
rank="same";
2;
4;
}
1 -- 3;
1 -- 2;
1 -- 5;
2 -- 5;
4 -- 5;
3 -- 4;
}

View File

@ -0,0 +1,80 @@
---
title: Knoten-Färbung
date: 2018-11-28
---
# Motivation
a) Mobilfunk: Masten/Frequenzen
i) Mobilfunkmasten, deren Sendebereich überlappt, brauchen verschiedene
Frequenzen zum senden.
i) Wir wollen insgesamt möglichst wenige Frequenzen nutzen
**Als Graph**: Mobilfunkmasten $\widehat{=}$ Knoten. Kanten zwischen
Knoten, falls Sendebereich überlappt. Frequenzen zuweisen, so dass
benachbarte Knoten unterschiedliche Frequenzen haben
a) Compilerbau: Zur selben Zeit genutzte Variablen sollen in unterschiedlichen
Registern gespeichert werden
a) Landkarten: Benachbarte Länder sollen unterschiedliche Farben bekommen.
Länder $\widehat{=}$ Knoten. Kanten zu Knoten, falls Länder eine gemeinsame
Grenze haben (hier: planare Graphen).
# Definition (Knoten-Färbung)
Sei $k \in \mathbb{N}$ und $G=(V,E)$ Graph
i) Eine $k$-Färbung von $G$ ist eine Abbildung
$$
C: v \rightarrow \{1,...,k\}
$$
mit der Eigenschaft $\forall \{u,v\} \in E : c(u) \neq c(v)$
i) $G$ heist **$k$-färbbar**, falls es eine $k$-Färbung von $G$ gibt
i) Die **chromatische Zahl** $\chi(G)$ von $G$ ist definiert als
$$
\chi(G) = \min \{ k\in \mathbb{N} | G \text{ ist } k \text{-färbbar} \}
$$
## Beispiel
a) ![Graph](20181128_1-faerbung.png)
$$
c(1) = 1 \\
c(2) = 3 \\
c(3) = 2 \\
c(4) = 1 \\
c(5) = 2 \\
\\
\chi(G) = 3
$$
a) Jeder Graph $G=(V,E)$ miz $|V|=n$ ist $n$-färbbar
a) Es gilt $\chi(K_n) = n$
a) Kreise $C_n$
i) falls $n$ gerade ist $\chi(C_n) = 2$
i) falls $n$ ungerade ist $\chi(C_n) = 3$
a) Bipartite Graphen: Bipartiter Graph $G=(V,E)$. Es gibt eine Partition von
$V$ in $V_1$ und $V_2$. $V = V_1 \biguplus V_2$ und $E \subseteq \{ \{u,v\} | u
\in V_1, v \in V_2 \}$. Bipartite Graphen haben $\chi(G) = 2$ und es gilt
sogar:
# Satz
Ein Graph $G=(V,E)$ hat $\chi(G) = 2$ $\Leftrightarrow$ $G$ ist bipratit.

View File

@ -24,3 +24,6 @@ subtitle: >
- [2018-11-14 Tiefensuche](20181114_3-tiefensuche) - [2018-11-14 Tiefensuche](20181114_3-tiefensuche)
- [2018-11-14 Wurzelbäume](20181114_4-wurzelbaeume) - [2018-11-14 Wurzelbäume](20181114_4-wurzelbaeume)
- [2018-11-20 Hamiltonkreise](20181120_1-hamiltonkreise) - [2018-11-20 Hamiltonkreise](20181120_1-hamiltonkreise)
- [2018-11-21 Eulertouren](20181121_1-eulertouren)
- [2018-11-21 Planare Graphen](20181121_2-planare_graphen)
- [2018-11-28 Knoten-Färbung](20181128_1-knotenfaerbung)