|
|
|
@ -19,14 +19,14 @@ Ein \underline{Fluss (im Netzwerk)} ist eine Funktion \( f: V\times V \to \mathb
|
|
|
|
|
|
|
|
|
|
\subsection{Wert des Flusses}
|
|
|
|
|
|
|
|
|
|
Der Wert des Flusses $f$ ist \( \|f\| = \sum\limits_{v\in V} f(s,v) \)\\
|
|
|
|
|
Der Wert des Flusses $f$ ist \( |f| = \sum\limits_{v\in V} f(s,v) \)\\
|
|
|
|
|
Kurzschreibweise sei \(X,Y \subseteq V\)\\
|
|
|
|
|
dann Def. \( f(X,Y) = \sum\limits_{x\in X} \sum\limits_{y\in Y} f(x,y) \)
|
|
|
|
|
|
|
|
|
|
\underline{Maximaler Fluss} berechnen:
|
|
|
|
|
|
|
|
|
|
Gegeben: \( G=(V,E), \ s,t \in V, c \)\\
|
|
|
|
|
Gesucht: Fluss $f$, so dass \(\|f\|\) maximal ist.
|
|
|
|
|
Gesucht: Fluss $f$, so dass \(|f|\) maximal ist.
|
|
|
|
|
|
|
|
|
|
Ist \((u,v) \not\in E\) und \((v,u) \not\in E\), dann ist \( c(u,v) = c(v,u) = 0 \).\\
|
|
|
|
|
Für \(f\) muss also gelten:
|
|
|
|
@ -64,64 +64,74 @@ Im \bsp \( c_f(p) = 4 \)
|
|
|
|
|
\item Symmetrie gilt nach Definition
|
|
|
|
|
\item Kirchhoffsches Gestz: Sei $u$ Knoten auf $p$\\
|
|
|
|
|
\includegraphics{img/restnetzwerk_p.pdf}\\
|
|
|
|
|
\begin{align}
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\sum\limits_{v\in V} f(u,v) &= f(v,u) + f(u,v) + f(u,w) + f(w,u)\\ % TODO: Underbrace c_f(...)
|
|
|
|
|
&= 0
|
|
|
|
|
\end{align}\\
|
|
|
|
|
\end{align*}\\
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
|
|
|
|
|
Wert \(\|f_p\| = c_f(p) \) (Im \bsp \(=4\))
|
|
|
|
|
Wert \(|f_p| = c_f(p) \) (Im \bsp \(=4\))
|
|
|
|
|
|
|
|
|
|
\lemma Sei $f$ Fluss in $G$ und $f'$ Fluss in $G_f$. Dann ist \( f + f' \) ein Fluss in $G$ und der Wert \(\|f+f'\| = \|f\| + \|f'\|\).
|
|
|
|
|
\lemma Sei $f$ Fluss in $G$ und $f'$ Fluss in $G_f$. Dann ist \( f + f' \) ein Fluss in $G$ und der Wert \(|f+f'| = |f| + |f'|\).
|
|
|
|
|
|
|
|
|
|
\bew
|
|
|
|
|
\begin{enumerate}
|
|
|
|
|
\item \underline{Symmetrie}
|
|
|
|
|
\begin{align}
|
|
|
|
|
\begin{align*}
|
|
|
|
|
(f+f')(u,v) &= f(u,v) + f'(u,v)\\
|
|
|
|
|
&= -f(v,u) - f'(v,u)\\
|
|
|
|
|
&= -\left( (f+f')(v,u) \right)
|
|
|
|
|
\end{align}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\item \underline{Kapazität}
|
|
|
|
|
\begin{align}
|
|
|
|
|
\begin{align*}
|
|
|
|
|
(f+f')(u,v) &= f(u,v) + \underbrace{f'(u,v)}_{ \le c_f(u,v) = c(u,v)-f(u,v) }\\
|
|
|
|
|
&\le f(u,v) + c(u,v) - f(u,v)\\
|
|
|
|
|
&= c(u,v)
|
|
|
|
|
\end{align}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\item \underline{Kirchhoff}:
|
|
|
|
|
\begin{align}
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\sum\limits_{v\in V} (f+f')(u,v) &= \sum\limits_{v\in V} \left(f(u,v) + f'(u,v)\right)\\
|
|
|
|
|
&= \sum\limits_{v\in V} f(u,v) + \sum\limits_{v\in V} f'(u,v)\\
|
|
|
|
|
&= 0 + 0 = 0
|
|
|
|
|
\end{align}
|
|
|
|
|
\end{align*}
|
|
|
|
|
\end{enumerate}
|
|
|
|
|
\begin{align}
|
|
|
|
|
\text{Wert:} \|f+f'\| &= \sum\limits_{v\in V} (f+f')(s,v)\\
|
|
|
|
|
\begin{align*}
|
|
|
|
|
\text{Wert:} |f+f'| &= \sum\limits_{v\in V} (f+f')(s,v)\\
|
|
|
|
|
&= \sum\limits_{v\in V} f(s,v) + \sum\limits_{v\in V} f'(s,v)\\
|
|
|
|
|
&= \|f\| + \|f'\|
|
|
|
|
|
\end{align}
|
|
|
|
|
|
|
|
|
|
&= |f| + |f'|
|
|
|
|
|
\end{align*}
|
|
|
|
|
\newpage
|
|
|
|
|
\subsection{Ford-Fulkerson-Methode}
|
|
|
|
|
|
|
|
|
|
\begin{pseudocode}[framebox]{Ford-Fulkerson-Methode}{G,s,t,c}
|
|
|
|
|
f \GETS 0\\
|
|
|
|
|
\WHILE \text{es gibt einen Erweiterungspfad }p\text{ in }G_p
|
|
|
|
|
\DO \text{erhöhe den Fluss um }f_p\\
|
|
|
|
|
\RETURN f
|
|
|
|
|
\end{pseudocode}
|
|
|
|
|
\begin{algorithm}
|
|
|
|
|
\caption{\textsc{Ford-Fulkerson-Methode} $(G,s,t,c)$}
|
|
|
|
|
\begin{algorithmic}[1]
|
|
|
|
|
\State \(f \leftarrow 0\)
|
|
|
|
|
\While{es gibt einen Erweiterungspfad $p$ in $G_p$}
|
|
|
|
|
\State erhöhe den Fluss um $f_p$
|
|
|
|
|
\EndWhile\\
|
|
|
|
|
\Return{f}
|
|
|
|
|
\end{algorithmic}
|
|
|
|
|
\end{algorithm}
|
|
|
|
|
|
|
|
|
|
Genauer:
|
|
|
|
|
|
|
|
|
|
\begin{pseudocode}[framebox]{Ford-Fulkerson}{G,s,t,c}
|
|
|
|
|
\FOREACH (u,v) \in E
|
|
|
|
|
\DO \BEGIN
|
|
|
|
|
f(u,v) \GETS 0\\
|
|
|
|
|
f(v,u) \GETS 0
|
|
|
|
|
\END
|
|
|
|
|
\WHILE \text{Es gibt einen Weg } p \text{ von } s \text{ nach } t \text{ in } G_f
|
|
|
|
|
\DO\BEGIN
|
|
|
|
|
% TODO
|
|
|
|
|
\END
|
|
|
|
|
\end{pseudocode}
|
|
|
|
|
\begin{algorithm}
|
|
|
|
|
\caption{\textsc{Ford-Fulkerson} $(G,s,t,c)$}
|
|
|
|
|
\begin{algorithmic}[1]
|
|
|
|
|
\ForAll{\((u,v) \in E\)}
|
|
|
|
|
\State \(f(u,v) \leftarrow 0\)
|
|
|
|
|
\State \(f(v,u) \leftarrow 0\)
|
|
|
|
|
\EndFor
|
|
|
|
|
\While{Es gibt einen Weg \(p\) von \(s\) nach \(t\) in \(G_f\)}
|
|
|
|
|
\State \(G_f(P) \leftarrow min\{ c_f(u,v) \mid (u,v) \in P \} \)
|
|
|
|
|
\ForAll{\((u,v) \in P\)}
|
|
|
|
|
\State \(f(u,v) \leftarrow f(u,v) + c_f(P) \)
|
|
|
|
|
\State \(f(v,u) \leftarrow -f(u,v) \)
|
|
|
|
|
\EndFor
|
|
|
|
|
\EndWhile
|
|
|
|
|
\end{algorithmic}
|
|
|
|
|
\end{algorithm}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
% vim: ft=tex :
|
|
|
|
|