]> mj.ucw.cz Git - ads2.git/blobdiff - 1-toky/1-toky.tex
Prvni verze zapisku o FFT.
[ads2.git] / 1-toky / 1-toky.tex
index f3bb242efeb9e88302c5f7e9aa58886f4b6d766c..da0df3d69c0b637ffefe16096ba30a17fffacc15 100644 (file)
@@ -80,7 +80,7 @@ Uka
 \:Dokud $\exists P$ cesta ze $z$ do $s$ taková, ¾e~$\forall e \in P: r(e) > 0$, opakujeme:
 \::$\varepsilon \leftarrow \min \{r(e) \mid e \in P\}$.
 \::Pro v¹echny hrany $uv \in P$:
-\:::$\delta \leftarrow \min \{f(uv),\varepsilon\}$
+\:::$\delta \leftarrow \min \{f(vu),\varepsilon\}$
 \:::$f(vu) \leftarrow f(vu) - \delta$
 \:::$f(uv) \leftarrow f(uv) + \varepsilon - \delta$
 \:Prohlásíme $f$ za~maximální tok.
@@ -123,15 +123,15 @@ Za
 
 Pøedstavme si, ¾e~máme ji¾ libovolný øez ($A,B$) a~pøesouváme vrchol $v$ z~$A$ do~$B$. Tedy $A' = A \setminus \{v\}$ a $B' = B \cup \{v\}$.
 
-Uvìdomme si, ¾e~v¹echny hrany jednoho typu (napø. vedoucí z~$A$ do~$v$) se~chovají stejnì, tak¾e staèí uva¾ovat hrany pouze 4 typù:
+Uvìdomme si, ¾e~v¹echny hrany jednoho typu (napø. vedoucí z~$A$ do~$v$) se~chovají stejnì, tak¾e staèí uva¾ovat hrany pouze 4 typù (+ ostatní hrany (ty, které pøesun neovlivní) oznaèíme $\varepsilon$):
 \itemize\ibull
 \:$\alpha$ -- hrany vedoucí z~$A$ do~$v$
 \:$\beta$ -- hrany vedoucí z~$v$ do~$B$
 \:$\gamma$ -- hrany vedoucí z~$v$ do~$A$
 \:$\delta$ -- hrany vedoucí z~$B$ do~$v$
-\:$\varepsilon$ -- hrany øezu stejné pøed pøesunem i~po~pøesunu
 \endlist
 
+
 \figure{toky03.eps}{Pøesun vrcholu $v$ z~$A$ do~$B$.}{1in}
 
 Pøed pøesunem ($v \in A$) se~$f(A,B)$ skládá z~$\varepsilon + \beta - \delta$. Po~pøesunu ($v \in B$) se~$f(A',B')$ skládá z~$\varepsilon + \alpha - \gamma$. Rozdíl tìchto hodnot je $\alpha + \delta - \beta - \gamma$.
@@ -151,7 +151,7 @@ Nech
 
 Uvìdomme si, ¾e~($A,B$) je øez, nebo» $z \in A$ (ze~$z$ do~$z$ existuje cesta délky 0) a~$s \notin B$ (kdyby $s \in B$, tak by musela existovat cesta ze~$z$ do~$s$ s~kladnou rezervou, tudí¾ by algoritmus neskonèil, nýbr¾ tuto cestu vzal a~stávající tok vylep¹il). 
 
-Dále víme, ¾e~v¹echny hrany øezu mají nulovou rezervu, neboli $\forall uv \in E(A,B) : r(uv) = 0$ (kdyby mìla hrana $uv$ rezervu nenulovou, tedy kladnou, tak by vrchol $v$ patøil do~$B$). Proto po~v¹ech hranách øezu vedoucích z~$A$ do~$B$ teèe tolik, kolik jsou kapacity tìchto hran, a~po~hranách vedoucích z~$B$ do~$A$ neteèe nic, tedy $f(uv) = c(uv)$ a $f(vu) = 0$. Máme øez $(A,B)$ takový, ¾e~$f(A,B) = c(A,B)$. To znamená, ¾e~jsme na¹li maximální tok a~minimální øez.
+Dále víme, ¾e~v¹echny hrany øezu mají nulovou rezervu, neboli $\forall uv \in E(A,B) : r(uv) = 0$ (kdyby mìla hrana $uv$ rezervu nenulovou, tedy kladnou, tak by vrchol $v$ patøil do~$A$). Proto po~v¹ech hranách øezu vedoucích z~$A$ do~$B$ teèe tolik, kolik jsou kapacity tìchto hran, a~po~hranách vedoucích z~$B$ do~$A$ neteèe nic, tedy $f(uv) = c(uv)$ a $f(vu) = 0$. Máme øez $(A,B)$ takový, ¾e~$f(A,B) = c(A,B)$. To znamená, ¾e~jsme na¹li maximální tok a~minimální øez.
 \qed
 
 Zformulujme si, co jsme zjistili a~dokázali o~algoritmu pánù Forda a~Fulkersona.
@@ -184,6 +184,9 @@ M
 
 \figure{toky04.eps}{Hledání maximálního párování v~bipartitním grafu.}{2in}
 
-Existuje toti¾ bijekce mezi párováním a~celoèíselnými toky pøi~zachování velikosti. Z ka¾dého toku na~vý¹e zmínìném grafu (viz obrázek) lze sestrojit párování o~stejné velikosti (velikost toku zde odpovídá poètu hran bipartitního grafu, po~kterých poteèe 1) a~naopak. Dùle¾ité je si uvìdomit, ¾e~definice toku (omezení toku kapacitou a~Kirchhofovy zákony) nám zaruèují, ¾e~hrany s~nenulovým tokem (tedy jednièkovým) budou tvoøit párování (nestane se, ¾e~by dvì hrany zaèínaly nebo konèily ve~stejném vrcholu, nebo» by se~nutnì poru¹ila jedna ze~dvou podmínek definice toku). Potom i~maximální tok bude odpovídat maximálnímu párování a~naopak.
+Existuje toti¾ bijekce mezi párováním a~celoèíselnými toky pøi~zachování velikosti. Z ka¾dého toku na~vý¹e zmínìném grafu (viz obrázek) lze sestrojit párování o~stejné velikosti (velikost toku zde odpovídá poètu hran bipartitního grafu, po~kterých poteèe 1) a~naopak. Dùle¾ité je si uvìdomit, ¾e~definice toku (omezení toku kapacitou a~Kirchhoffovy zákony) nám zaruèují, ¾e~hrany s~nenulovým tokem (tedy jednièkovým) budou tvoøit párování (nestane se, ¾e~by dvì hrany zaèínaly nebo konèily ve~stejném vrcholu, nebo» by se~nutnì poru¹ila jedna ze~dvou podmínek definice toku). Potom i~maximální tok bude odpovídat maximálnímu párování a~naopak.
+
+V~bipartitním grafu najdeme maximální párování v~èase $\O(n \cdot (m+n))$. Forùv-Fulkersonùv algoritmus stráví jednou iterací èas $\O(m+n)$ (za~prohledání do~¹íøky) a~pøi~jednotkových kapacitách bude iterací nejvý¹e~$n$, proto¾e ka¾dou se~tok zvìt¹í alespoò o~1 a v¹echny toky jsou omezené øezem kolem zdroje, který má kapacitu nejvý¹e~$n$. Výsledná èasová slo¾tost hledání maximálního párování bude tedy $\O(n \cdot (m+n))$.
+
 
 \bye