parent
9baf700c9b
commit
537045dd1e
@ -145,7 +145,7 @@ $n! = n\cdot(n-1)\cdot...\cdot2\cdot1$ Möglichkeiten
|
||||
|
||||
**Bemerkung:** Es gilt
|
||||
$$
|
||||
n^{\underline{k}} = \frac{n!}{(n-1)!}
|
||||
n^{\underline{k}} = \frac{n!}{(n-k)!}
|
||||
$$
|
||||
|
||||
### Fall C
|
||||
|
@ -78,3 +78,121 @@ sogar:
|
||||
# Satz
|
||||
|
||||
Ein Graph $G=(V,E)$ hat $\chi(G) = 2$ $\Leftrightarrow$ $G$ ist bipratit.
|
||||
|
||||
|
||||
## Beweis
|
||||
|
||||
"$\Leftarrow$" siehe oben
|
||||
|
||||
"$\Rightarrow$" Sei $G=(V,E)$ ein Graph mit $\chi(G) = 2$. Das heißt $\exists c
|
||||
: V \rightarrow \{1,2\}$ mit $\forall \{u,v\} \in E: c(u) \neq c(v)$.
|
||||
|
||||
Setze $V_1 = \{v \in V | c(v) = 1 \}$ und $V_2 = \{v \in V | c(v) = 2 \}$.
|
||||
Damit gilt $V = V_1 \biguplus V_2$ und $E \subseteq \{ \{u,v\} | u \in V_1, v
|
||||
\in V_2 \}$ denn es gibt keine Katen zu Knoten gleicher Farbe.
|
||||
|
||||
|
||||
Es gilt weiterhin
|
||||
|
||||
# Satz
|
||||
|
||||
Sei $G=(V,E)$ Graph, dann gilt $\chi(G) = 2$ genau dann, wenn $G$ keinen Kreis
|
||||
ungerader Länge enthält.
|
||||
|
||||
## Beweis
|
||||
|
||||
"$\Rightarrow$" Sei $G$ ein Graph, der einen Kreis ungerader Länge enthält. Für
|
||||
diesen Teilgraph braucht man schon 3 Farben. Damit kann $G$ nicht 2-färbbar
|
||||
sein.
|
||||
|
||||
"$\Leftarrow$" Sei $G$ ein Graph der keinen Kreis ungerader Länge enthäöt. Wir
|
||||
nehmen ohne Einschränkung an, dass $G$ zusammenhängend ist. Wähle $s\in V$
|
||||
beliebig und führe Breitensuche auf $G$ mit Startknoten $s$ aus. Liefert
|
||||
Spannbaum $T = \{ \{v,pred[v]\} | v \in V \setminus \{s\} \}$ und
|
||||
Abstandsvektor $d[v]$.
|
||||
|
||||
Wir setzen $c: V \rightarrow \{1,2\}$ mit $c(v) = \begin{cases}
|
||||
1 & 2 \mid d[v] \\
|
||||
2 & 2 \nmid d[v]
|
||||
\end{cases}$. Dies liefert die Färbung auf $T$.
|
||||
|
||||
Die weiteren Kanten von $G$ schließen Kreise gerader Länge. Deshalb haben
|
||||
Endknoten immer unterschiedliche Farben.
|
||||
|
||||
$$
|
||||
\tag*{$\Box$}
|
||||
$$
|
||||
|
||||
|
||||
$$
|
||||
\chi(G) = 2 \Leftrightarrow G\text{ ist bipartit} \Leftrightarrow G \text{
|
||||
enthält keinen Kreis ungerader Länge}
|
||||
$$
|
||||
|
||||
|
||||
# Satz
|
||||
|
||||
Sei $G=(V,E)$ ein planarer Graph. Dann gilt $\chi(G) \leq 6$.
|
||||
|
||||
## Beweis
|
||||
|
||||
(per Induktion)
|
||||
|
||||
Die Aussage ist trivial, falls $|V| \leq 6$.
|
||||
|
||||
**Induktionsschritt**: Sei nun $G=(V,E)$ planar mit $|V| \geq 6$. Da $G$
|
||||
planar, $\exists v \in V : deg(v) \leq 5$.
|
||||
|
||||
Betrachte $G' = G \setminus \{v\}$. Nach Induktionsanfang gibt es eine Färbung
|
||||
für $G'$ mit maximal 6 Farben. Das heißt
|
||||
|
||||
$$
|
||||
\exists c' : V \setminus \{v\} \rightarrow \{1,...,6\} \text{ so dass} \\
|
||||
\forall \{u,w\} \in E, u,w \neq v : c'(u) \neq c'(v)
|
||||
$$
|
||||
|
||||
Wir konstruieren
|
||||
|
||||
$$
|
||||
c: V \rightarrow \{1,...,6\} \text{ mit} \\
|
||||
c(u) = \begin{cases}
|
||||
c'(u) & u \neq v \\
|
||||
\min \{\{1,...,6\} \setminus \{c'(x)\} | x \in \Gamma(v)\} & u = v
|
||||
\end{cases}
|
||||
$$
|
||||
|
||||
Da $|\Gamma(v)| \leq 5$ ist $c(v) \in \{1,...,6\}$ wohl definiert und $c$ ist
|
||||
Färbung von $G$.
|
||||
|
||||
$$
|
||||
\tag*{$\Box$}
|
||||
$$
|
||||
|
||||
|
||||
Mit ein wenig mehr Aufwand kann man zeigen
|
||||
|
||||
$$
|
||||
G \text{ planar} \Rightarrow \chi(G) \leq 5
|
||||
$$
|
||||
|
||||
|
||||
Es gilt sogar
|
||||
|
||||
# Satz
|
||||
|
||||
Sei $G=(V,E)$ planar, dann gilt $\chi(G) \leq 4$
|
||||
|
||||
|
||||
## Bemerkungen
|
||||
|
||||
i) Computergestützter Beweis
|
||||
|
||||
i) Es gibt einen Algorithmus, der für planare Graphen eine 4-Färbung in
|
||||
Laufzeit $O(|V|^2)$ berechnet
|
||||
|
||||
i) Für allgemeine Graphen ist die Frage $\chi(G) \stackrel{?}{\le} 3$ nicht
|
||||
effizient zu entscheiden (d.h. wir kennen keinen Algorithmus mit polynomieller
|
||||
Laufzeit)
|
||||
|
||||
|
||||
Deshalb: effiziente Algorithmen, die eine nicht-optimale Lösung finden
|
||||
|
63
school/di-ma/20181128_2-greedy-algorithmen.md
Normal file
63
school/di-ma/20181128_2-greedy-algorithmen.md
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
title: Greedy-Algorithmen
|
||||
date: 2018-11-28
|
||||
---
|
||||
|
||||
Greedy-Algorithmen suchen immer lokal die beste Lösung. Die Lösungen müssen
|
||||
nicht global optimal sein.
|
||||
|
||||
# Algorithmus (Greedy-Färbung)
|
||||
|
||||
**Eingabe**: $G=(V,E)$ ohne Einschränkung $V \in \{1,...,n\}$
|
||||
|
||||
i) setze $c(1) = 1$
|
||||
|
||||
i) `for ` $i \in \{2,...,n\}$ setze
|
||||
|
||||
$$
|
||||
c(i) = \min\limits_{k\in \mathbb{N}} \{ k \neq c(v) | v \in \{1,...,i+1\}
|
||||
\cap \Gamma(i) \}
|
||||
$$
|
||||
|
||||
i) **Ausgabe**: $c : V \rightarrow \{ 1,..., \max \{c(i) | i \in V\} \}$
|
||||
|
||||
|
||||
## Korrektheit
|
||||
|
||||
Da benachbarte Knoten unterschiedliche Farben haben, sit $c$ eine gültige
|
||||
Färbung.
|
||||
|
||||
**Laufzeit**: $O(|V|)$ Iterationen.
|
||||
|
||||
|
||||
Wie gut ist die Lösung des Greedy-Algorithmus?
|
||||
|
||||
|
||||
Sei
|
||||
$$
|
||||
C = \max \{ c(i) | i \in \{1,...,n\} \}
|
||||
$$
|
||||
die Anzahl der Farben die der Greedy-Algorithmus braucht und
|
||||
$$
|
||||
A(G) = \max\limits_{v \in V} deg(v)
|
||||
$$
|
||||
dann gilt
|
||||
$$
|
||||
\chi(G) \leq C \leq \Delta(G) + 1
|
||||
$$
|
||||
da jeder Knoten maximal $\Delta(G)$ Nachbarn hat, ist die gewählte Farbe im
|
||||
Schritt ii) immer kleiner gleich $\Delta(G) + 1$.
|
||||
|
||||
Die Güte der Lösung ist abhängig von der Reihenfolge, in welcher der
|
||||
Greedy-Algorithmus die Knoten abarbeitet.
|
||||
|
||||
**Beispiel**: Betrachte bipartiten Graph mit $V_1 = \{u_1,...,u_n\}$ und
|
||||
$V_2=\{v_1,...,v_n\}$ und $E = \{ \{u_i,v_j\} \mid i,j \in \{1,...,n\}, i \neq
|
||||
j\}$
|
||||
|
||||
a) Reihenfolge $(u_1,u_2,...,u_n,v_1,v_2,...,v_n)$, dann gilt $C = \chi(G)$
|
||||
|
||||
a) Reihenfolge $(u_1,v_1,u_2,v_2,...,u_n,v_n)$, dann gilt $C=n=\Delta(G) + 1$
|
||||
|
||||
Man kann zeigen, dass es immer eine Reihenfolge gibt, so dass $C = \chi(G)$,
|
||||
aber diese Reihenfolge kann man im Allgemeinen nicht effizient finden.
|
18
school/di-ma/20181204_1-kantenfaerbung.dot
Normal file
18
school/di-ma/20181204_1-kantenfaerbung.dot
Normal file
@ -0,0 +1,18 @@
|
||||
graph g {
|
||||
splines=false;
|
||||
node [ shape="circle" ];
|
||||
|
||||
{
|
||||
rank="same";
|
||||
A; B;
|
||||
}
|
||||
{
|
||||
rank="same";
|
||||
C; D;
|
||||
}
|
||||
|
||||
A -- B [ label="1" ];
|
||||
A -- C [ label="2" ];
|
||||
A -- D [ label="3" ];
|
||||
B -- D [ label="2" ];
|
||||
}
|
63
school/di-ma/20181204_1-kantenfaerbung.md
Normal file
63
school/di-ma/20181204_1-kantenfaerbung.md
Normal file
@ -0,0 +1,63 @@
|
||||
---
|
||||
title: Kantenfärbung
|
||||
date: 2018-12-04
|
||||
---
|
||||
|
||||
**Beispiel**: $n$ Teams $\widehat{=}$ Knoten, $m$ Partien zwischen je 2 Teams
|
||||
$\widehat{=} Kanten$
|
||||
|
||||
![Graph](20181204_1-kantenfaerbung.png)
|
||||
|
||||
Festlegen der Termine, an denen die SPiele stattfinden (Termine haben Nummern
|
||||
$1,...,k$).
|
||||
|
||||
**Frage**: Wie viele Termine braucht man?
|
||||
|
||||
**Bedingung**: Kein Team kann an einem Termin 2 Spiele spielen
|
||||
|
||||
|
||||
# Definition (Kantenfärbung)
|
||||
|
||||
Sei $G=(V,E)$ ein Graph.
|
||||
|
||||
i) Eine Kantenfärbung ist eine Abbildung
|
||||
$$
|
||||
c : E \rightarrow \{1,...,k\}
|
||||
$$
|
||||
mit der Eigenschaft
|
||||
$$
|
||||
\forall e,e' \in E, e \neq e' \land e \cap e' = \emptyset : c(e) \neq c(e')
|
||||
$$
|
||||
|
||||
i) Ein Graph heißt $k$-kantenfärbbar, falls es eine $k$-Kantenfärbung für $G$
|
||||
gibt.
|
||||
|
||||
i) Der **chromatische Index** $\chi'(G)$ ist definiert als
|
||||
$$
|
||||
\chi'(G) = \min \{k \in \mathbb{N} \mid
|
||||
G \text{ ist } k \text{-kantenfärbbar}\}
|
||||
$$
|
||||
|
||||
|
||||
**Bemerkung**: Es gilt $\chi'(G) \geq \Delta(G)$ mit $\Delta(G) =
|
||||
\max\limits_{v \in V} deg(v)$, da alle $\Delta(G)$ Kanten eines Knotens $v$ mit
|
||||
$deg(v) = \Delta(G)$ unterschiedliche Farben haben müssen.
|
||||
|
||||
Es gilt sogar:
|
||||
|
||||
# Satz
|
||||
|
||||
Sei $G=(V,E)$ Graph, dann gilt
|
||||
$$
|
||||
\Delta(G) \leq \chi'(G) \leq \Delta(G) + 1
|
||||
$$
|
||||
|
||||
ohne Beweis
|
||||
|
||||
$$
|
||||
\tag*{$\Box$}
|
||||
$$
|
||||
|
||||
|
||||
**Bemerkung**: zu entscheiden, ob $\chi'(G) = \Delta(G)$ oder
|
||||
$\chi'(G)=\Delta(G)+1$ ist im Allgemeinen ein schweres Problem.
|
29
school/di-ma/20181204_2-matching.dot
Normal file
29
school/di-ma/20181204_2-matching.dot
Normal file
@ -0,0 +1,29 @@
|
||||
graph g {
|
||||
rankdir="LR";
|
||||
node [ shape="circle" ];
|
||||
{
|
||||
rank="same";
|
||||
J1;
|
||||
J2;
|
||||
J3;
|
||||
J1 -- J2 -- J3 [ style="invis" ];
|
||||
}
|
||||
{
|
||||
rank="same";
|
||||
B1;
|
||||
B2;
|
||||
B3;
|
||||
B4;
|
||||
|
||||
B1 -- B2 -- B3 -- B4 [ style="invis" ];
|
||||
}
|
||||
J1 -- B1 [ penwidth=3 ];
|
||||
J1 -- B3;
|
||||
J1 -- B4;
|
||||
|
||||
J2 -- B3 [ penwidth=3 ];
|
||||
J2 -- B4;
|
||||
|
||||
J3 -- B2 [ penwidth=3 ];
|
||||
J3 -- B4;
|
||||
}
|
76
school/di-ma/20181204_2-matching.md
Normal file
76
school/di-ma/20181204_2-matching.md
Normal file
@ -0,0 +1,76 @@
|
||||
---
|
||||
title: Matching
|
||||
date: 2018-12-04
|
||||
---
|
||||
|
||||
**Beispiele**
|
||||
|
||||
i) verschiedene Jobs und Bewerber $\widehat{=}$ Knoten. Kanten zwischen Job und
|
||||
Bewerber, falls Bewerber geeignet ist für Job.
|
||||
|
||||
Ziel: Jedem Job einen Bewerber zuordnen
|
||||
|
||||
![Beispiel Matching](20181204_2-matching.png)
|
||||
|
||||
i) Statt Jobs haben wir Rechentasks und statt Bewerbern haben wir Rechner.
|
||||
Kanten zwischen Task und Rechner falls Rechner die nötigen Ressourcen hat, um
|
||||
Task auszuführen
|
||||
|
||||
i) Heiraten. Kanten zwischen Personen, falls sie sich heiraten wollen. Ziel:
|
||||
alle sollen heiraten
|
||||
|
||||
|
||||
**Bemerkung**: Fall i) und ii) entsprechen bipartiten Graphen.
|
||||
|
||||
|
||||
# Definition (Matching)
|
||||
|
||||
Sei $G=(V,E)$ ein Graph und $M \subseteq E$
|
||||
|
||||
i) $M$ heißt **Matching**, falls
|
||||
$$
|
||||
\forall e_1,e_2 \in M : e_1 \cap e_2 = \emptyset
|
||||
$$
|
||||
|
||||
i) Ein Knoten $v \in V$ heißt überdeckt von $M$, falls $\exists e\in M:v\in e$
|
||||
|
||||
i) Matching $M$ heißt perfekt, falls alle Knoten überdeckt sind, d.h.
|
||||
$|M|=\frac{|V|}{2}$. Wenn $|V| = 2y + 1$ ($|V|$ ist ungerade), gibt es kein
|
||||
perfektes Matching
|
||||
|
||||
|
||||
**Frage**: Kann man effizient maximale Matchings finden?
|
||||
|
||||
Zumindest für bipartite Graphen, ja!
|
||||
|
||||
|
||||
# Notation
|
||||
|
||||
Sei $G=(V,E)$ Graph und $X \subseteq V$. Dann sei
|
||||
|
||||
$$
|
||||
\Gamma(X) = \bigcup\limits_{a\in X} \Gamma(a)
|
||||
$$
|
||||
|
||||
|
||||
# Satz (Hall, Heiratssatz)
|
||||
|
||||
Sei $G=(A\biguplus B, E)$ ein bipartiter Graph. $G$ enthält ein Matching $M
|
||||
\subseteq E$ mit $|M| = |A|$, genau dann, wenn
|
||||
|
||||
$$
|
||||
\forall X \subseteq A : |\Gamma(X)| \geq |X|
|
||||
$$
|
||||
|
||||
## Bemerkung
|
||||
|
||||
* Falls Bedingung erfüllt, folgt $|B| \geq |A|$, denn $\Gamma(A) \subseteq B$
|
||||
* Falls $|A| = |B|$, dann ist das Matching perfekt.
|
||||
|
||||
|
||||
## Beweis
|
||||
|
||||
"$\Rightarrow$" sei $M$ ein Matching mit $|M| = |A|$ und $X \subseteq A$.
|
||||
Betrachten der Teilgraph $G'=(A\bigcup B, M)$. Dann gilt $| \Gamma(X) | = | X
|
||||
|$ in $G'$, da $M$ Matching und damit gilt $|\Gamma(X)| \geq |X|$ in $G$, da in
|
||||
$G$ nur neue Nachbarn hinzu kommen können.
|
@ -27,3 +27,6 @@ subtitle: >
|
||||
- [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)
|
||||
- [2018-11-28 Greedy-Algorithmen](20181128_2-greedy-algorithmen)
|
||||
- [2018-12-04 Kantenfärbung](20181204_1-kantenfaerbung)
|
||||
- [2018-12-04 Matching](20181204_2-matching)
|
||||
|
Loading…
Reference in New Issue
Block a user