]> mj.ucw.cz Git - ads2.git/commitdiff
Toky: Podstatna revize, zmena znaceni
authorMartin Mares <mj@ucw.cz>
Tue, 18 Oct 2011 17:58:31 +0000 (19:58 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 18 Oct 2011 17:58:31 +0000 (19:58 +0200)
1-toky/1-toky.tex
1-toky/toky03.eps [deleted file]
1-toky/toky03.svg [deleted file]

index bacf36d2c0803934b1da884a97c87422e939c16d..126d81cefe2f0a417d9e608076374d5fe62239c6 100644 (file)
@@ -2,22 +2,26 @@
 
 \prednaska{1}{Toky v sítích}{(zapsala Markéta Popelová)}
 
-\s{První motivaèní úloha:} Rozvod èajovodu do~v¹ech uèeben.
-
-Pøedstavme si, ¾e~by v~budovì fakulty na~Malé Stranì existoval èajovod, který by rozvádìl èaj do~ka¾dé uèebny. Znázornìme si to orientovaným grafem, kde by jeden významný vrchol pøedstavoval èajovar a~druhý uèebnu, ve~které sedíme. Hrany mezi vrcholy by pøedstavovaly vìtvící se trubky, které mají èaj rozvádìt. Jak rozvést co nejefektivnìji dostatek èaje do~dané uèebny?
+\s{První motivaèní úloha:} {\I Rozvod èajovodu do~v¹ech uèeben.}
+\smallskip
 
+Pøedstavme si, ¾e~by v~budovì fakulty na~Malé Stranì existoval èajovod, který
+by rozvádìl èaj do~ka¾dé uèebny. Znázornìme si to orientovaným grafem, kde by
+jeden významný vrchol pøedstavoval èajovar a~druhý uèebnu, ve~které sedíme.
+Hrany mezi vrcholy by pøedstavovaly vìtvící se trubky, které mají èaj rozvádìt.
+Jak rozvést co nejefektivnìji dostatek èaje do~dané uèebny?
 
 \figure{toky01.eps}{Èajovod}{2in}
 
-
-\s{Druhá motivaèní úloha:} Pøenos dat.
+\s{Druhá motivaèní úloha:} {\I Pøenos dat.}
+\smallskip
 
 Jiným pøíkladem mù¾e být poèítaèová sí» na~pøenos dat, která se sestává z~pøenosových linek
 spojených pomocí routerù. Data se sice obvykle pøená¹ejí po~paketech, ale to
 mù¾eme pøi dne¹ních rychlostech pøenosu zanedbat a pova¾ovat data za spojitá.
 Jak pøená¹et data mezi dvìma poèítaèi v~síti co nejrychleji?
 
-\s{Definice:} {\I Sí»} je uspoøádaná pìtice $(V,E,z,s,c)$, kde platí: 
+\s{Definice:} {\I Sí»} je uspoøádaná pìtice $(V,E,z,s,c)$, pro ní¾ platí:
 \itemize\ibull
 \:$(V,E)$ je orientovaný graf.
 \:$c:E\to{\bb R}_{0}^{+}$ je {\I kapacita} hran.
@@ -30,53 +34,87 @@ Jak p
 \s{Definice:} {\I Tok} je funkce $f:E \to {\bb R}_{0}^{+}$ taková, ¾e~platí:
 \numlist{\ndotted}
 \:Tok po~ka¾dé hranì je omezen její kapacitou: $\forall e \in E : f(e)\le c(e)$.
-\:Kirchhoffùv zákon: $$\forall v \in V \setminus \{z,s\}: \sum_{u: uv \in E}{f(uv)}=\sum_{u: vu \in E}{f(vu)}.$$ Neboli pro~ka¾dý vrchol kromì zdroje a~stoku platí, ¾e~to, co do~nìj pøitéká, je stejnì velké jako to, co z~nìj odtéká.
+\:Kirchhoffùv zákon: $$\forall v \in V \setminus \{z,s\}: \sum_{u: uv \in E}{f(uv)}=\sum_{u: vu \in E}{f(vu)}.$$ Neboli pro~ka¾dý vrchol kromì zdroje a~stoku platí, ¾e~to, co do~nìj pøitéká, je stejnì velké jako to, co z~nìj odtéká (\uv{sí» tìsní}).
 \endlist
 
-\s{Poznámka:} Pro~zjednodu¹ení zaveïme speciální znaèení: 
+\s{Definice:} Pro libovolnou funkci $f:E \to {\bb R}$ se nám bude hodit následující znaèení:
 \itemize\ibull
-\:$f^+(v) =  \sum_{u: uv \in E}{f(uv)}$ (to, co do~vrcholu pøitéká) 
-\:$f^-(v) =  \sum_{u: vu \in E}{f(vu)}$ (to, co z~vrcholu odtéká)
-\:$f^\Delta(v) = f^+(v) - f^-(v)$ (rozdíl tìchto hodnot)
+\:$f^+(v) =  \sum_{u: uv \in E}{f(uv)}$ (celkový pøítok do vrcholu)
+\:$f^-(v) =  \sum_{u: vu \in E}{f(vu)}$ (celkový odtok)
+\:$f^\Delta(v) = f^+(v) - f^-(v)$ (pøebytek ve~vrcholu)
 \endlist
-Pak mù¾eme Krichhoffùv zákon zapsat jednodu¹e jako: $$\forall v \in V \setminus \{z,s\}: f^\Delta(v) = 0.$$
 
-\s{Poznámka:} V~angliètinì se~obvykle zdroj znaèí {$s$} a~stok {$t$} jako source a~target.
+\>(Kirchhoffùv zákon pak øíká prostì to, ¾e $f^\Delta(v)=0$ pro v¹echna $v\ne z,s$.)
 
 \figure{tok.eps}{Pøíklad toku. Èísla pøedstavují toky po~hranách, v~závorkách jsou kapacity.}{4in}
 
-\s{Pozorování:} Nìjaký tok v¾dy existuje. V libovolné síti mù¾eme v¾dy zvolit funkci nulovou (po~¾ádné hranì nic nepoteèe). Tato funkce splòuje podmínky toku, a~tedy takovýto nulový tok je zcela korektní.
-
-\s{Definice:} {\I Velikost toku} $f$ je rozdíl souètu velikostí toku na~hranách vedoucích do~$s$ a~souètu velikostí toku na~hranách vedoucích z~$s$. Neboli od~toho, co do~stoku pøitéká odeèteme to, co ze~stoku odtéká. $$\vert f\vert:=f^\Delta(s).$$
-
-\s{Cíl:} Budeme chtít najít v~zadané síti tok, jeho¾ velikost je maximální. 
-
-\s{Otázka:} Má vùbec smysl mluvit o~maximálním toku? Bude v¾dy existovat? Nevybíráme zde toti¾ z~koneènì mnoha pøípadù a~na~první pohled není jasné, ¾e~supremum mno¾iny v¹ech tokù bude zároveò i~maximum této mno¾iny.
-
-\s{Odpovìï:} Ano, pro~ka¾dou sí» existuje maximální tok. Toto pomìrnì pøekvapivé tvrzení mù¾eme nahlédnout za~pomoci matematické analýzy. Nástin dùkazu je takový, ¾e~mno¾ina tokù je kompaktní a~velikost toku je spojitá (dokonce lineární) funkce z~mno¾iny tokù do~${\bb R}$. Proto nabývá velikost toku na~mno¾inì v¹ech tokù svého maxima.
-
-\s{Poznámka:} Pro~na¹e pøípady pøedpokládejme, ¾e~kapacity jsou racionální. Pomìrnì nám to zjednodu¹í práci a~pøíli¹ nám to neublí¾í, nebo» práce s~reálnými èísly je stejnì pro~informatika pomìrnì zapeklitá.
-
-\s{První øe¹ení:} Hledejme cestu $P$ ze~$z$ do~$s$ takovou, ¾e~$\forall e \in P: f(e) < c(e)$ (po~v¹ech jejích hranách teèe ostøe ménì, ne¾ jim dovolují jejich kapacity). Pak zjevnì mù¾eme tok upravit tak, aby se~jeho velikost zvìt¹ila. Zvolme $$\varepsilon := \min_{e \in P} (c(e) - f(e)).$$ Nový tok $f'$ pak definujme jako $f'(e):=f(e) + \epsilon$. Kapacity nepøekroèíme ($\epsilon$ je nejvìt¹í mo¾ná hodnota, abychom tok zvìt¹ili, ale nepøekroèili kapacitu ani jedné z~hran cesty $P$) a~Kirchhoffovy zákony zùstanou neporu¹eny, nebo» zdroj a~stok nezahrnují a~ka¾dému jinému vrcholu na~cestì $P$ se~pøítok $f^+(v)$ i~odtok $f^-(v)$ zvìt¹í pøesnì o~$\epsilon$.
-
-\s{Otázka:} Najdeme takto ov¹em opravdu maximální tok?
+\s{Pozorování:} Nìjaký tok v¾dy existuje. V libovolné síti mù¾eme v¾dy zvolit
+konstantnì nulovou funkci (po~¾ádné hranì nic nepoteèe). To je korektní tok,
+ale sotva u¾iteèný. Budeme chtít najít tok, který pøepraví co nejvíce tekutiny
+ze~zdroje do~spotøebièe.
+
+\s{Definice:} {\I Velikost toku} $f$ budeme znaèit $\vert f\vert$ a polo¾íme ji
+rovnou rozdílu souètu velikostí toku na~hranách vedoucích do~$s$ a~souètu velikostí
+toku na~hranách vedoucích z~$s$. Neboli $\vert f\vert:=f^\Delta(s).$
+
+\s{Pozorování:} Jeliko¾ sí» tìsní, mìlo by být jedno, zda velikost toku mìøíme
+u~spotøebièe nebo u~zdroje. Vskutku, krátkým výpoètem ovìøíme, ¾e tomu tak je:
+$$
+f^\Delta(z) - f^\Delta(s) = \sum_v f^\Delta(v) = 0.
+$$
+První rovnost platí proto, ¾e podle Kirchhoffova zákona jsou zdroj a spotøebiè jediné
+dva vrcholy, jejich¾ pøebytek mù¾e být nenulový. Druhou rovnost získáme tak, ¾e si
+uvìdomíme, ¾e tok na ka¾dé hranì pøispìje do celkové sumy jednou s~kladným znaménkem
+a jednou se záporným. Zjistili jsme tedy, ¾e pøebytek zdroje a spotøebièe se li¹í
+pouze znaménkem.
+\qed
 
-\s{Odpovìï:} Nemusíme. Napø. na~obrázku je vidìt, ¾e~kdy¾ najdeme nejdøíve cestu pøes hranu s~kapacitou 1 (na obrázku tuènì) a~u¾ hodnotu toku na~této hranì nesní¾íme, tak dosáhneme velikost toku nejvý¹e 19. Ale maximální tok této sítì má velikost 20.
+\s{Poznámka:} Rádi bychom nalezli v~zadané síti tok, jeho¾ velikost je maximální.
+Máme ale zaruèeno, ¾e maximum bude existovat? V¹ech mo¾ných tokù je nekoneènì mnoho
+a v~nekoneèné mno¾inì se mù¾e snadno stát, ¾e aèkoliv existuje supremum, není maximem
+(pøíklad: $\{1-1/n \mid n\in{\bb N}^+\}$).
+Odpovìï nám poskytne matematická analýza: mno¾ina v¹ech tokù je kompaktní podmno¾inou
+prostoru ${\bb R}^{\vert E\vert}$, velikost toku je spojitá (dokonce lineární) funkce
+z~této mno¾iny do~$\bb R$, tak¾e musí nabývat minima i maxima.
+
+Nám ale bude staèít studovat sítì s~racionálními kapacitami, kde existence maximálního
+toku bude zjevná u¾ z~toho, ze sestrojíme algoritmus, který takový tok najde.
+
+\s{První pokus:} Hledejme cestu $P$ ze~$z$ do~$s$ takovou, ¾e~$\forall e \in
+P: f(e) < c(e)$ (po~v¹ech jejích hranách teèe ostøe ménì, ne¾ jim dovolují
+jejich kapacity). Pak zjevnì mù¾eme tok upravit tak, aby se~jeho velikost
+zvìt¹ila. Zvolme $$\varepsilon := \min_{e \in P} (c(e) - f(e)).$$ Nový tok $f'$
+pak definujme jako $f'(e):=f(e) + \varepsilon$. Kapacity nepøekroèíme ($\varepsilon$
+je nejvìt¹í mo¾ná hodnota, abychom tok zvìt¹ili, ale nepøekroèili kapacitu ani
+jedné z~hran cesty $P$) a~Kirchhoffovy zákony zùstanou neporu¹eny, nebo» zdroj
+a~stok neomezují a~ka¾dému jinému vrcholu na~cestì $P$ se~pøítok $f^+(v)$
+i~odtok $f^-(v)$ zvìt¹í pøesnì o~$\varepsilon$.
+
+Opakujme tento proces tak dlouho, dokud existují zlep¹ující cesty. A¾ se algoritmus
+zastaví (co¾ by obecnì nemusel, ale nás je¹tì chvíli trápit nemusí), získáme maximální tok?
+Pøekvapivì nemusíme. Napø. na~obrázku je vidìt, ¾e~kdy¾ najdeme nejdøíve cestu
+pøes hranu s~kapacitou 1 (na obrázku tuènì) a~u¾ hodnotu toku na~této hranì
+nesní¾íme, tak dosáhneme velikost toku nejvý¹e 19. Ale maximální tok této sítì
+má velikost 20.
 
 \figure{toky02.eps}{Èísla pøedstavují kapacity jednotlivých hran.}{1.5in}
 
-Zde by ov¹em situaci zachránilo, kdybychom poslali tok velikosti 1 proti smìru prostøední hrany -- to mù¾eme udìlat tøeba odeètením jednièky od toku po smìru hrany.
-
-Nìkdy je tedy potøeba poslat nìco i~v~protismìru. Definujme si~{\I rezervu hrany}. Ta nám øíká, kolik mù¾eme daným smìrem je¹tì poslat. Vyu¾ijeme zde, ¾e~sí» je symetrická.
+Zde by ov¹em situaci zachránilo, kdybychom poslali tok velikosti 1 proti smìru
+prostøední hrany -- to mù¾eme udìlat tøeba odeètením jednièky od toku po smìru
+hrany. Roz¹íøíme tedy ná¹ algoritmus tak, aby umìl posílat tok i proti smìru
+hran. O~kolik mù¾eme tok hranou zlep¹it (a» u¾ pøiètením po~smìru nebo odeètením
+proti smìru) nám bude øíkat její {\I rezerva:}
 
 \s{Definice:} {\I Rezerva hrany} $uv$ je $r(uv):=c(uv) - f(uv) + f(vu).$
 
-Uka¾me si~nyní algoritmus, který rezervy vyu¾ívá, a~doka¾me, ¾e~je koneèný a~¾e najde maximální tok ka¾dé racionální sítì.
+\smallskip
+Algoritmus bude vypadat následovnì. Postupnì dok¾eme, ¾e je koneèný a ¾e v~ka¾dé
+síti najde maximální tok.
 
 \s{Algoritmus (Fordùv-Fulkersonùv)}
 
 \algo
-\:$f \leftarrow$ libovolný tok, napø. v¹ude nulový ($\forall e \in E: f(e) \leftarrow 0 $).
+\:$f \leftarrow$ libovolný tok, napø. v¹ude nulový.
 \: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$:
@@ -86,105 +124,144 @@ Uka
 \:Prohlásíme $f$ za~maximální tok.
 \endalgo
 
-\s{Problém:} Zastaví se~Fordùv-Fulkersonùv algoritmus?
+\s{Koneènost:} Zastaví se~Fordùv-Fulkersonùv algoritmus?
 
 \itemize\ibull
-\:Pro~celoèíselné kapacity se~v~ka¾dém kroku zvìt¹í velikost toku alespoò o~1. Algoritmus se~tedy zastaví po~nejvíce tolika krocích, jako je nìjaká horní závora pro~velikost maximálního toku -- napø. souèet kapacit v¹ech hran vedoucích do~stoku $$\sum_{u:us \in E}{c(us)}.$$
-\:Pro~racionální kapacity vyu¾ijeme jednoduchý trik -- kapacity vynásobíme spoleèným jmenovatelem a~pøevedeme na~pùvodní pøípad. Uvìdomme si, ¾e~algoritmus nikde kapacity hran ale ani toky na~hranách nedìlí, tak¾e u¾ zùstanou celoèíselné. A tak jsme pøevedli racionální kapacity na~celoèíselné, pro~které u¾ víme, ¾e~se algoritmus zastaví.
-\:Na~síti s~iracionálními kapacitami se~algoritmus chová mnohdy divoce, nemusí se~zastavit ale dokonce ani konvergovat ke~správnému výsledku.
-\s{K zamy¹lení:} Zkuste vymyslet pøíklad takové sítì.
-\endlist
-
-\s{Otázka:} Vydá algoritmus maximální tok?
-
-\s{Odpovìï:} Vydá. Abychom si~to dokázali, zaveïme si~øezy a~pou¾ijme je jako certifikát maximality nalezeného toku.
-
-\s{Definice:} {\I Øez} je uspoøádaná dvojice mno¾in vrcholù ($A,B$) taková, ¾e $A$ a $B$ jsou disjunktní, pokrývají v¹echny vrcholy, $A$ obsahuje zdroj a $B$ obsahuje stok. Neboli $A \cap B = \emptyset$, $A \cup B = V$, $z \in A$, $s \in B$.
-
-\s{Definice:} {\I Hrany øezu} $E(A,B) := E \cap A \times B$.
-
-\s{Poznámka:} Øezy se~dají definovat více zpùsoby, jedna z~definic je, ¾e~øez je mno¾ina hran grafu takových, ¾e~po~jejich odebrání se~graf rozpadne na~více komponent. Tuto definici splòuje i~ta na¹e, ale ne naopak.
 
-\s{Definice:} {\I Kapacita øezu} je $$c(A,B) := \sum_{e \in E(A,B)}{c(e)}.$$
+\:Pro~celoèíselné kapacity se~v~ka¾dém kroku zvìt¹í velikost toku alespoò o~1.
+Algoritmus se~tedy zastaví po~nejvíce tolika krocích, kolik je nìjaká horní
+závora pro~velikost maximálního toku -- napø. souèet kapacit v¹ech hran
+vedoucích do~stoku (tedy $c^+(s)$).
 
-\s{Definice:} {\I Tok pøes øez} je $$f(A,B) := \sum_{e \in E(A,B)}{f(e)} - \sum_{e \in E(B,A)}{f(e)}.$$
+\:Pro~racionální kapacity vyu¾ijeme jednoduchý trik. Nech» $M$ je nejmen¹í
+spoleèný násobek jmenovatelù v¹ech kapacit. Spustíme-li algoritmus na sí»
+s~kapacitami $c'(e) = c(e)\cdot M$, bude se rozhodovat stejnì jako v~pùvodní
+síti, proto¾e bude stále platit $f'(e) = f(e)\cdot M$. Nová sí» je pøitom
+celoèíselná, tak¾e se algoritmus jistì zastaví.
 
-\s{Pozorování:} Pro~ka¾dý tok $f$ a~ka¾dý øez $(A,B)$ platí, ¾e~$f(A,B) \leq c(A,B)$.
+\:Na~síti s~iracionálními kapacitami se~algoritmus chová mnohdy divoce, nemusí
+se~zastavit, ba ani konvergovat ke~správnému výsledku. (Zkuste vymyslet pøíklad
+takové sítì.)
 
-\proof
-$$f(A,B) = \sum_{e \in (A,B)}{f(e)} - \sum_{e \in E(B,A)}{f(e)} \leq \sum_{e \in E(A,B)}{f(e)} \leq \sum_{e \in E(A,B)}{c(e)} = c(A,B).$$
-\qed
-
-\s{Lemmátko:} Pro~ka¾dý tok $f$ a~pro~ka¾dý øez $(A,B)$ platí $f(A,B) = \vert f \vert$.
+\endlist
 
-\proof{Indukcí a~obrázkem.}
+\s{Maximalita:} Kdy¾ se algoritmus zastaví, je tok~$f$ maximální? K~tomu se
+bude hodit zavést øezy.
 
-Zaèneme s øezem ($V \setminus \{s\}, \{s\}$). Pro~tento øez lemma platí z~definice velikosti toku. Dále budu postupnì pøesouvat vrcholy z~mno¾iny $B$ do~mno¾iny $A$. Libovolný øez mù¾e být takto vytvoøen z~toho triviálního. 
+\s{Definice:} {\I Øez} je uspoøádaná dvojice mno¾in vrcholù ($A,B$) taková, ¾e
+$A$ a $B$ jsou disjunktní, pokrývají v¹echny vrcholy, $A$ obsahuje zdroj a $B$
+obsahuje stok. Neboli $A \cap B = \emptyset$, $A \cup B = V$, $z \in A$, $s \in B$.
 
-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\}$.
+\>Ka¾dému øezu pøirozenì pøiøadíme mno¾iny hran:
+\itemize\ibull
+\:$E^+(A,B) = E \cap (A\times B)$ (hrany \uv{zleva doprava})
+\:$E^-(A,B) = E \cap (B\times A)$ (hrany \uv{zprava doleva})
+\:$E^\Delta(A,B) = E^+(A,B) \cup E^-(A,B)$ (v¹echny hrany øezu)
+\endlist
 
-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$):
+\>Také pro libovolnou funkci $f: E\rightarrow {\bb R}$ zavedeme:
 \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$
+\:$f^+(A,B) = \sum_{e\in E^+(A,B)} f(e)$ (prùtok pøes øez zleva doprava)
+\:$f^-(A,B) = \sum_{e\in E^-(A,B)} f(e)$ (prùtok zprava doleva)
+\:$f^\Delta(A,B) = f^+(A,B) - f^-(A,B)$ (èistý prùtok)
 \endlist
 
+\>{\I Kapacita øezu} budeme øíkat souètu kapacit hran zleva doprava, tedy $c+(A,B)$.
 
-\figure{toky03.eps}{Pøesun vrcholu $v$ z~$A$ do~$B$.}{1in}
+\s{Poznámka:} Øezy se~dají definovat více zpùsoby, jedna z~definic je, ¾e~øez
+je mno¾ina hran grafu takových, ¾e~po~jejich odebrání se~graf rozpadne na~více
+komponent. Tuto vlastnost mají i na¹e øezy, ale opaènì to nemusí platit.
 
-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$.
+\s{Lemma:} Pro ka¾dý øez $(A,B)$ a ka¾dý tok~$f$ platí, ¾e $f^\Delta(A,B)
+= \vert f\vert$. (Jinými slovy velikost toku mù¾eme mìøit na libovolném øezu,
+nejen na triviálních øezech kolem zdroje nebo kolem spotøebièe.)
 
-Nicménì z Kirchhoffova zákonu o~vrcholu $v$ (co¾ není ani zdroj ani stok) víme, ¾e~$\alpha + \delta - \beta - \gamma = f^\Delta(v) = 0$, nebo» $\alpha + \delta $ je to, co do~$v$ pøitéká, a~$\beta + \gamma$ je to, co z~$v$ vytéká. Tedy tok pøes øez pøed pøesunem je stejnì velký jako tok pøes øez po~pøesunu. Pokud lemma platilo pøed pøesunem, musí platit i~po~pøesunu.
+\proof
+Opìt ¹ikovným seètením pøebytkù vrcholù:
+$$
+f^\Delta(A,B) = \sum_{v\in B} f^\Delta(v) = f^\Delta(s).
+$$
+První rovnost získáme poèítáním pøes hrany: ka¾dá hrana vedoucí z~vrcholu v~$B$
+do~jiného vrcholu v~$B$ pøispìje jednou kladnì a jednou zápornì; hrany le¾ící
+celé mimo~$B$ nepøispìjí vùbec; hrany s~jedním koncem v~$B$ a druhým mimo pøispìjí
+jednou, pøièem¾ znaménko se bude li¹it podle toho, který konec je v~$B$. Druhá
+rovnost je snadná: v¹echny vrcholy v~$B$ mimo spotøebièe mají podle Kirchhoffova
+zákona nulový pøebytek.
 \qed
 
-\s{Dùsledek:} Pro~ka¾dý tok $f$ a~øez ($A,B$) platí, ¾e~$\vert f \vert = f(A,B) \leq c(A,B)$.
-
-\s{Pozorování:} Pokud najdeme dvojici tok $f$ a~øez $(A,B)$ takovou, ¾e~platí $\vert f \vert = c(A,B)$, pak tok $f$ je maximální a~ øez $(A,B)$ minimální.
-
-\s{Vìta:} Pokud se~Fordùv-Fulkersonùv algoritmus zastaví, tak vydá maximální tok.
+\s{Dùsledek:} Pro ka¾dý tok~$f$ a ka¾dý øez $(A,B)$ platí $\vert f \vert \le c^+(A,B)$.
+(Velikost ka¾dého toku je shora omezena kapacitou ka¾dého øezu.)
 
 \proof
+$f^\Delta(A,B) = f^+(A,B) - f^-(A,B) \le f^+(A,B) \le c^+(A,B)$.
+\qed
 
-Nech» se~Fordùv-Fulkersonùv algoritmus zastaví. Definujme $A = \{v \in V ; \exists$~cesta ze~$z$ do~$v$ jdoucí po~hranách s~$r > 0\}$ a~$B = V \setminus A$.
+\s{Dùsledek:} Pokud $\vert f\vert = c^+(A,B)$, pak je tok~$f$ maximální a øez~$(A,B)$
+minimální. Jinými slovy pokud najdeme dvojici tok a stejnì velký øez, mù¾eme øez pou¾ít
+jako certifikát maximality toku. Následující vìta nám zaruèí, ¾e je to mo¾né v¾dy:
 
-Uvìdomme si, ¾e~($A,B$) je øez, nebo» $z \in A$ (ze~$z$ do~$z$ existuje cesta délky 0) a~$s \in B$ (kdyby $s \not\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). 
+\s{Vìta:} Pokud se~Fordùv-Fulkersonùv algoritmus zastaví, tak vydá maximální tok.
 
-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
+\proof
+Nech» se~Fordùv-Fulkersonùv algoritmus zastaví. Definujme mno¾inu vrcholù $A
+:= \{v \in V \mid \hbox{existuje cesta ze~$z$ do~$v$ jdoucí po~hranách s~$r
+> 0$}\}$ a~$B := V \setminus A$.
 
-Zformulujme si, co jsme zjistili a~dokázali o~algoritmu pánù Forda a~Fulkersona.
+Dvojice $(A,B)$ je øez, nebo» $z \in A$ (ze~$z$ do~$z$ existuje cesta délky 0)
+a~$s \in B$ (kdyby $s \not\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).
 
-\s{Vìta:} Pro~sí» s~racionálními kapacitami se~Fordùv-Fulkersonùv algoritmus zastaví a~vydá maximální tok a~minimální øez.
+Dále víme, ¾e~v¹echny hrany øezu mají nulovou rezervu, èili $\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^\Delta(A,B) = c^+(A,B)$. To znamená, ¾e~jsme na¹li maximální tok
+a~minimální øez. \qed
 
-\s{Vìta:} (Fordova-Fulkersonova)
-$$\min_{(A,B)~øez} c(A,B) = \max_{f~tok} \vert f \vert .$$
-\proof
+Dokázali jsme tedy následující:
 
-Ji¾ víme, ¾e~$\min_{(A,B)} c(A,B) \geq \max_f \vert f \vert$. Staèí tedy dokázat, ¾e~v¾dy existují tok $f$ a~øez ($A,B$) takové, ¾e~$c(A,B) = \vert f \vert$. Pro~racionální kapacity nám Fordùv-Fulkersonùv algoritmus takový tok (maximální) a~øez (minimální) vydá. Jak je to ale s~reálnými kapacitami? Vyu¾ijeme tvrzení, ¾e~maximální tok existuje v¾dy. Pak mù¾eme spustit Fordùv-Fulkersonùv algoritmus rovnou na~tento maximální tok (místo nulového). Algoritmus se~nutnì ihned zastaví, nebo» neexistuje cesta, která by mìla alespoò jednu hranu s~kladnou rezervou. A~my víme, ¾e~pokud se~algoritmus zastaví, tak vydá minimální øez. Proto i~pro sí» s~reálnými kapacitami platí, ¾e~existuje maximální tok $f$ a~minimální øez $(A,B)$ a $c(A,B) = \vert f \vert$.
-\qed
+\s{Vìta:} Pro~sí» s~racionálními kapacitami se~Fordùv-Fulkersonùv algoritmus
+zastaví a~vydá maximální tok a~minimální øez.
 
-\s{Vìta:}
-Sí» s~celoèíselnými kapacitami má aspoò jeden z~maximálních tokù celoèíselný a~Fordùv-Fulkersonùv algoritmus takový tok najde.
+\s{Vìta:} Sí» s~celoèíselnými kapacitami má aspoò jeden z~maximálních tokù
+celoèíselný a~Fordùv-Fulkersonùv algoritmus takový tok najde.
 
 \proof
 Kdy¾ dostane Fordùv-Fulkersonùv algoritmus celoèíselnou sí», tak najde maximální tok a~ten bude zase celoèíselný (algoritmus nikde nedìlí).
 \qed
 
-To, ¾e~umíme najít celoèíselné øe¹ení není úplnì samozøejmé. (U~jiných problémù takové ¹tìstí mít nebudeme.) Uka¾me si rovnou jednu aplikaci, která právì celoèíselný tok vyu¾ije. 
-
-\s{Aplikace:} Hledání maximálního párování v~bipartitních grafech.
+To, ¾e~umíme najít celoèíselné øe¹ení není úplnì samozøejmé. (U~jiných problémù takové ¹tìstí mít nebudeme.) Uka¾me si rovnou jednu aplikaci, která právì celoèíselný tok vyu¾ije.
 
-\s{Definice:} Mno¾ina hran $F \subseteq E$ se~nazývá {\I párování}, jestli¾e ¾ádné dvì hrany této mno¾iny nemají spoleèný ani jeden vrchol. Neboli $\forall e,f \in F : e \cap f = \emptyset$.
+\s{Aplikace:} Hledání nejvìt¹ího párování v~bipartitních grafech.
 
-\s{Definice:} Párování je maximální, pokud obsahuje nejvìt¹í mo¾ný poèet hran.
+\s{Definice:} Mno¾ina hran $F \subseteq E$ se~nazývá {\I párování}, jestli¾e
+¾ádné dvì hrany této mno¾iny nemají spoleèný ani jeden vrchol. Neboli $\forall
+e,f \in F : e \cap f = \emptyset$. {\I Velikostí} párování myslíme poèet jeho
+hran.
 
-Mìjme bipartitní graf $G = (V,E)$. V~nìm hledáme maximální párování. Sestrojme si~sí» takovou, ¾e~vezmeme vrcholy $V$ grafu $G$ a~pøidáme k~nim dva speciální vrcholy $z$ (zdroj) a~$s$ (stok) a~ze~zdroje pøidáme hrany do~v¹ech vrcholù levé partity a~ze~v¹ech vrcholù pravé partity povedeme hrany do~stoku. V¹echny kapacity nastavme na~1. Hrany bipartitního grafu zorientujme z levé partity do pravé. Nyní staèí jen na~tuto sí» spustit Fordùv-Fulkersonùv algoritmus (nebo libovolný jiný algoritmus, který najde maximální celoèíselný tok) a~a¾~dobìhne, tak prohlásit hrany s~tokem 1 za~maximální párování.
+\s{Øe¹ení:}
+Mìjme bipartitní graf $G = (V,E)$. V~nìm hledáme nejvìt¹í párování. Sestrojme
+si~sí» takovou, ¾e~vezmeme vrcholy $V$ grafu $G$ a~pøidáme k~nim dva speciální
+vrcholy $z$ (zdroj) a~$s$ (stok) a~ze~zdroje pøidáme hrany do~v¹ech vrcholù
+levé partity a~ze~v¹ech vrcholù pravé partity povedeme hrany do~stoku. V¹echny
+kapacity nastavme na~1. Hrany bipartitního grafu zorientujme z levé partity do
+pravé. Nyní staèí jen na~tuto sí» spustit Fordùv-Fulkersonùv algoritmus (nebo
+libovolný jiný algoritmus, který najde maximální celoèíselný tok) a~a¾~dobìhne,
+tak prohlásit hrany s~tokem 1 za~maximální párování.
 
 \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~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.
+Existuje toti¾ bijekce mezi párováním a~celoèíselnými toky pøi~zachování
+velikosti. Z ka¾dého celoèíselné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))$. Fordù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))$.
 
diff --git a/1-toky/toky03.eps b/1-toky/toky03.eps
deleted file mode 100644 (file)
index cd9072e..0000000
+++ /dev/null
@@ -1,654 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: inkscape 0.46
-%%Pages: 1
-%%Orientation: Portrait
-%%BoundingBox: 26 2 222 159
-%%HiResBoundingBox: 26.812056 2.0383137 221.19565 158.90319
-%%EndComments
-%%Page: 1 1
-0 160 translate
-0.8 -0.8 scale
-0 0 0 setrgbcolor
-[] 0 setdash
-1 setlinewidth
-0 setlinejoin
-0 setlinecap
-gsave [1 0 0 1 0 0] concat
-gsave [1.6331259 0 0 1.6331259 -86.457103 -58.067055] concat
-gsave
-1 1 1 setrgbcolor
-newpath
-105.3056 36.822422 moveto
-102.40086 37.900753 99.493736 38.995078 96.727013 40.398005 curveto
-94.181571 41.814326 91.822283 43.55622 89.749782 45.605514 curveto
-88.111089 47.209892 86.671689 49.011105 85.314804 50.854189 curveto
-83.139582 53.970058 81.184859 57.250028 79.686471 60.747956 curveto
-78.129929 64.204944 77.024319 67.842231 75.898039 71.455717 curveto
-75.316998 73.588972 74.899364 75.764208 74.528626 77.942042 curveto
-73.692617 83.387612 73.522541 88.912205 73.649215 94.413081 curveto
-73.717769 98.012392 73.905905 101.62339 74.575974 105.16738 curveto
-75.277707 109.05319 76.334882 112.86428 77.429981 116.65461 curveto
-78.408255 119.76383 79.494348 122.84666 80.9331 125.77631 curveto
-83.013527 130.29088 85.560001 134.59225 88.553612 138.56222 curveto
-90.65007 141.3925 93.082469 143.96727 95.734188 146.28172 curveto
-97.375443 147.66785 99.03876 149.03673 100.87886 150.15497 curveto
-105.24128 152.87403 110.24125 154.58149 115.36836 155.01664 curveto
-118.10907 155.21373 120.89858 155.19458 123.58473 154.54953 curveto
-125.14919 154.20441 126.64084 153.58359 128.13515 153.01599 curveto
-130.41309 152.06381 132.63814 150.94134 134.66022 149.51965 curveto
-136.43199 148.14419 138.00011 146.52406 139.53098 144.89107 curveto
-140.77044 143.47835 141.87374 141.93663 142.79945 140.30289 curveto
-143.66346 138.5645 143.46585 136.37457 142.28719 134.82838 curveto
-140.71409 132.50721 138.77501 130.46144 136.93243 128.35483 curveto
-135.51977 126.74917 134.15166 125.09915 132.94748 123.32948 curveto
-131.52319 121.17358 130.39942 118.83615 129.45099 116.43563 curveto
-128.52529 114.05627 127.78695 111.59152 127.32452 109.07814 curveto
-126.98906 106.93599 126.80931 104.77007 126.557 102.61823 curveto
-126.46358 99.701897 126.91728 96.807874 127.34762 93.933181 curveto
-128.08122 90.495502 129.00152 87.078953 130.43738 83.861316 curveto
-131.33264 81.593252 132.52109 79.463473 133.68764 77.32825 curveto
-135.49922 73.872899 137.49727 70.52146 139.5389 67.198566 curveto
-140.28117 65.928666 141.06314 64.667947 141.66797 63.328311 curveto
-142.13152 61.96273 142.25594 60.460986 141.99885 59.041127 curveto
-141.6454 57.721019 141.46342 56.331459 140.73496 55.145551 curveto
-139.31758 52.221394 137.18884 49.698342 134.83307 47.485278 curveto
-132.5203 45.232624 129.98063 43.211117 127.24094 41.50035 curveto
-124.17293 39.494525 120.7539 37.995281 117.14666 37.2959 curveto
-113.47896 36.517177 109.68828 36.374629 105.96046 36.728748 curveto
-105.74217 36.759973 105.52389 36.791197 105.3056 36.822422 curveto
-closepath
-fill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.30000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-105.3056 36.822422 moveto
-102.40086 37.900753 99.493736 38.995078 96.727013 40.398005 curveto
-94.181571 41.814326 91.822283 43.55622 89.749782 45.605514 curveto
-88.111089 47.209892 86.671689 49.011105 85.314804 50.854189 curveto
-83.139582 53.970058 81.184859 57.250028 79.686471 60.747956 curveto
-78.129929 64.204944 77.024319 67.842231 75.898039 71.455717 curveto
-75.316998 73.588972 74.899364 75.764208 74.528626 77.942042 curveto
-73.692617 83.387612 73.522541 88.912205 73.649215 94.413081 curveto
-73.717769 98.012392 73.905905 101.62339 74.575974 105.16738 curveto
-75.277707 109.05319 76.334882 112.86428 77.429981 116.65461 curveto
-78.408255 119.76383 79.494348 122.84666 80.9331 125.77631 curveto
-83.013527 130.29088 85.560001 134.59225 88.553612 138.56222 curveto
-90.65007 141.3925 93.082469 143.96727 95.734188 146.28172 curveto
-97.375443 147.66785 99.03876 149.03673 100.87886 150.15497 curveto
-105.24128 152.87403 110.24125 154.58149 115.36836 155.01664 curveto
-118.10907 155.21373 120.89858 155.19458 123.58473 154.54953 curveto
-125.14919 154.20441 126.64084 153.58359 128.13515 153.01599 curveto
-130.41309 152.06381 132.63814 150.94134 134.66022 149.51965 curveto
-136.43199 148.14419 138.00011 146.52406 139.53098 144.89107 curveto
-140.77044 143.47835 141.87374 141.93663 142.79945 140.30289 curveto
-143.66346 138.5645 143.46585 136.37457 142.28719 134.82838 curveto
-140.71409 132.50721 138.77501 130.46144 136.93243 128.35483 curveto
-135.51977 126.74917 134.15166 125.09915 132.94748 123.32948 curveto
-131.52319 121.17358 130.39942 118.83615 129.45099 116.43563 curveto
-128.52529 114.05627 127.78695 111.59152 127.32452 109.07814 curveto
-126.98906 106.93599 126.80931 104.77007 126.557 102.61823 curveto
-126.46358 99.701897 126.91728 96.807874 127.34762 93.933181 curveto
-128.08122 90.495502 129.00152 87.078953 130.43738 83.861316 curveto
-131.33264 81.593252 132.52109 79.463473 133.68764 77.32825 curveto
-135.49922 73.872899 137.49727 70.52146 139.5389 67.198566 curveto
-140.28117 65.928666 141.06314 64.667947 141.66797 63.328311 curveto
-142.13152 61.96273 142.25594 60.460986 141.99885 59.041127 curveto
-141.6454 57.721019 141.46342 56.331459 140.73496 55.145551 curveto
-139.31758 52.221394 137.18884 49.698342 134.83307 47.485278 curveto
-132.5203 45.232624 129.98063 43.211117 127.24094 41.50035 curveto
-124.17293 39.494525 120.7539 37.995281 117.14666 37.2959 curveto
-113.47896 36.517177 109.68828 36.374629 105.96046 36.728748 curveto
-105.74217 36.759973 105.52389 36.791197 105.3056 36.822422 curveto
-closepath
-stroke
-gsave
-1 1 1 setrgbcolor
-newpath
-190.50356 38.030829 moveto
-193.40624 39.114713 196.31126 40.214595 199.07529 41.622811 curveto
-201.61801 43.043996 203.97397 44.790398 206.04255 46.843653 curveto
-207.67816 48.45116 209.11412 50.255123 210.46748 52.100798 curveto
-212.63674 55.220822 214.58519 58.504524 216.07687 62.005311 curveto
-217.62681 65.465269 218.72546 69.104665 219.84483 72.720298 curveto
-220.4218 74.85466 220.83526 77.030691 221.20184 79.209229 curveto
-222.02743 84.656388 222.18694 90.181295 222.04974 95.68192 curveto
-221.97431 99.281089 221.77927 102.89172 221.10242 106.43442 curveto
-220.39326 110.31889 219.3288 114.12795 218.22646 117.91618 curveto
-217.24223 121.02351 216.15026 124.10426 214.7059 127.03117 curveto
-212.61684 131.54175 210.06216 135.83823 207.06094 139.80248 curveto
-204.95909 142.62874 202.52176 145.19885 199.86563 147.50823 curveto
-198.22172 148.89122 196.5558 150.25692 194.71355 151.37164 curveto
-190.34594 154.08234 185.34273 155.78024 180.21479 156.20558 curveto
-177.4737 156.39744 174.68425 156.37296 171.99933 155.72276 curveto
-170.43553 155.37465 168.94507 154.75099 167.45185 154.18052 curveto
-165.17573 153.22399 162.95284 152.09727 160.93349 150.67171 curveto
-159.16434 149.29288 157.59932 147.66975 156.07157 146.03383 curveto
-154.83482 144.61874 153.73448 143.07491 152.81188 141.4394 curveto
-151.95121 139.69937 152.153 137.50982 153.33462 135.96589 curveto
-154.91215 133.64772 156.85514 131.60567 158.70175 129.50259 curveto
-160.11747 127.89963 161.48874 126.25223 162.6963 124.48487 curveto
-164.12471 122.3317 165.25294 119.99642 166.20596 117.59772 curveto
-167.13621 115.22013 167.87927 112.7568 168.3465 110.2443 curveto
-168.68605 108.1028 168.86994 105.93722 169.12637 103.78587 curveto
-169.22537 100.86973 168.77721 97.974844 168.35236 95.099333 curveto
-167.62533 91.660258 166.71157 88.241954 165.28186 85.021577 curveto
-164.39094 82.751806 163.20657 80.619758 162.0441 78.482308 curveto
-160.23914 75.023499 158.2475 71.668246 156.21223 68.341454 curveto
-155.47239 67.070136 154.69283 65.807924 154.09056 64.467134 curveto
-153.62963 63.100669 153.50807 61.598689 153.76789 60.179325 curveto
-154.12385 58.859896 154.30849 57.470686 155.03922 56.286172 curveto
-156.46219 53.364732 158.59575 50.845755 160.95575 48.6372 curveto
-163.27282 46.388972 165.81635 44.372325 168.55931 42.666801 curveto
-171.63115 40.666846 175.05304 39.174143 178.66161 38.481662 curveto
-182.3308 37.709955 186.12174 37.574655 189.84888 37.935903 curveto
-190.06711 37.967545 190.28532 37.999186 190.50356 38.030829 curveto
-closepath
-fill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.30000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-190.50356 38.030829 moveto
-193.40624 39.114713 196.31126 40.214595 199.07529 41.622811 curveto
-201.61801 43.043996 203.97397 44.790398 206.04255 46.843653 curveto
-207.67816 48.45116 209.11412 50.255123 210.46748 52.100798 curveto
-212.63674 55.220822 214.58519 58.504524 216.07687 62.005311 curveto
-217.62681 65.465269 218.72546 69.104665 219.84483 72.720298 curveto
-220.4218 74.85466 220.83526 77.030691 221.20184 79.209229 curveto
-222.02743 84.656388 222.18694 90.181295 222.04974 95.68192 curveto
-221.97431 99.281089 221.77927 102.89172 221.10242 106.43442 curveto
-220.39326 110.31889 219.3288 114.12795 218.22646 117.91618 curveto
-217.24223 121.02351 216.15026 124.10426 214.7059 127.03117 curveto
-212.61684 131.54175 210.06216 135.83823 207.06094 139.80248 curveto
-204.95909 142.62874 202.52176 145.19885 199.86563 147.50823 curveto
-198.22172 148.89122 196.5558 150.25692 194.71355 151.37164 curveto
-190.34594 154.08234 185.34273 155.78024 180.21479 156.20558 curveto
-177.4737 156.39744 174.68425 156.37296 171.99933 155.72276 curveto
-170.43553 155.37465 168.94507 154.75099 167.45185 154.18052 curveto
-165.17573 153.22399 162.95284 152.09727 160.93349 150.67171 curveto
-159.16434 149.29288 157.59932 147.66975 156.07157 146.03383 curveto
-154.83482 144.61874 153.73448 143.07491 152.81188 141.4394 curveto
-151.95121 139.69937 152.153 137.50982 153.33462 135.96589 curveto
-154.91215 133.64772 156.85514 131.60567 158.70175 129.50259 curveto
-160.11747 127.89963 161.48874 126.25223 162.6963 124.48487 curveto
-164.12471 122.3317 165.25294 119.99642 166.20596 117.59772 curveto
-167.13621 115.22013 167.87927 112.7568 168.3465 110.2443 curveto
-168.68605 108.1028 168.86994 105.93722 169.12637 103.78587 curveto
-169.22537 100.86973 168.77721 97.974844 168.35236 95.099333 curveto
-167.62533 91.660258 166.71157 88.241954 165.28186 85.021577 curveto
-164.39094 82.751806 163.20657 80.619758 162.0441 78.482308 curveto
-160.23914 75.023499 158.2475 71.668246 156.21223 68.341454 curveto
-155.47239 67.070136 154.69283 65.807924 154.09056 64.467134 curveto
-153.62963 63.100669 153.50807 61.598689 153.76789 60.179325 curveto
-154.12385 58.859896 154.30849 57.470686 155.03922 56.286172 curveto
-156.46219 53.364732 158.59575 50.845755 160.95575 48.6372 curveto
-163.27282 46.388972 165.81635 44.372325 168.55931 42.666801 curveto
-171.63115 40.666846 175.05304 39.174143 178.66161 38.481662 curveto
-182.3308 37.709955 186.12174 37.574655 189.84888 37.935903 curveto
-190.06711 37.967545 190.28532 37.999186 190.50356 38.030829 curveto
-closepath
-stroke
-gsave [0.7383774 0 0 0.7383774 39.885612 27.021429] concat
-gsave
-0 0 0 setrgbcolor
-newpath
-148.17814 95.546562 moveto
-148.17814 96.887453 147.08988 97.975712 145.74899 97.975712 curveto
-144.4081 97.975712 143.31984 96.887453 143.31984 95.546562 curveto
-143.31984 94.205671 144.4081 93.117412 145.74899 93.117412 curveto
-147.08988 93.117412 148.17814 94.205671 148.17814 95.546562 curveto
-closepath
-fill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.30000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-148.17814 95.546562 moveto
-148.17814 96.887453 147.08988 97.975712 145.74899 97.975712 curveto
-144.4081 97.975712 143.31984 96.887453 143.31984 95.546562 curveto
-143.31984 94.205671 144.4081 93.117412 145.74899 93.117412 curveto
-147.08988 93.117412 148.17814 94.205671 148.17814 95.546562 curveto
-closepath
-stroke
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.40000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-113.36032 116.8691 moveto
-143.04993 99.865047 lineto
-stroke
-gsave [0.27768232 -0.15903627 0.15903627 0.27768232 116.83135 114.88115] concat
-gsave
-0 0 0 setrgbcolor
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-eofill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-1.25 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-stroke
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-1 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-143.4824 95.835934 moveto
-143.4824 95.835934 lineto
-stroke
-0 0 0 setrgbcolor
-[] 0 setdash
-0.40000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-151.95681 95.681513 moveto
-181.64642 78.677461 lineto
-stroke
-gsave [-0.27768232 0.15903626 -0.15903626 -0.27768232 178.17539 80.665414] concat
-gsave
-0 0 0 setrgbcolor
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-eofill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-1.25 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-stroke
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.40000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-181.91633 117.54386 moveto
-152.22672 100.53981 lineto
-stroke
-gsave [0.27768233 0.15903625 -0.15903625 0.27768233 155.69775 102.52776] concat
-gsave
-0 0 0 setrgbcolor
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-eofill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-1.25 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-stroke
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-0.40000001 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-143.31985 94.601892 moveto
-113.63024 77.597842 lineto
-stroke
-gsave [-0.27768233 -0.15903625 0.15903625 -0.27768233 139.84882 92.613939] concat
-gsave
-0 0 0 setrgbcolor
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-eofill
-grestore
-0 0 0 setrgbcolor
-[] 0 setdash
-1.25 setlinewidth
-0 setlinejoin
-0 setlinecap
-newpath
-0 0 moveto
-5 -5 lineto
--12.5 0 lineto
-5 5 lineto
-0 0 lineto
-closepath
-stroke
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-116.35625 59.344904 moveto
-116.35625 59.792904 lineto
-109.46825 59.792904 lineto
-109.46825 59.344904 lineto
-110.36424 59.251571 110.95224 59.111571 111.23225 58.924904 curveto
-111.51224 58.738238 111.65224 58.383572 111.65225 57.860904 curveto
-111.65224 57.711573 111.63357 57.468906 111.59625 57.132904 curveto
-111.03625 53.464904 lineto
-104.87625 53.464904 lineto
-103.28025 56.628904 lineto
-102.90691 57.375573 102.72024 57.954239 102.72025 58.364904 curveto
-102.72024 58.719572 102.81358 58.952905 103.00025 59.064904 curveto
-103.20558 59.176905 103.66291 59.270238 104.37225 59.344904 curveto
-104.37225 59.792904 lineto
-99.136247 59.792904 lineto
-99.136247 59.344904 lineto
-99.714915 59.232904 100.19091 58.952905 100.56425 58.504904 curveto
-100.95625 58.056906 101.68425 56.91824 102.74825 55.088904 curveto
-110.86825 41.088904 lineto
-111.59625 41.088904 lineto
-114.22825 56.936904 lineto
-114.4149 57.963572 114.62023 58.607572 114.84425 58.868904 curveto
-115.06823 59.111571 115.57223 59.270238 116.35625 59.344904 curveto
-105.46425 52.456904 moveto
-110.89625 52.456904 lineto
-109.66425 45.176904 lineto
-105.46425 52.456904 lineto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-191.403 49.958793 moveto
-191.94433 50.182802 192.38299 50.397469 192.719 50.602793 curveto
-193.05499 50.789468 193.40966 51.050801 193.783 51.386793 curveto
-194.17499 51.704134 194.46432 52.096134 194.651 52.562793 curveto
-194.83766 53.029466 194.93099 53.570799 194.931 54.186793 curveto
-194.93099 55.84813 194.24032 57.201462 192.859 58.246793 curveto
-191.49633 59.27346 189.71366 59.786793 187.511 59.786793 curveto
-179.615 59.786793 lineto
-179.615 59.338793 lineto
-180.41767 59.18946 180.94034 59.012127 181.183 58.806793 curveto
-181.42567 58.582794 181.659 58.069461 181.883 57.266793 curveto
-185.327 44.890793 lineto
-185.53233 44.181475 185.635 43.584142 185.635 43.098793 curveto
-185.635 42.70681 185.48567 42.436143 185.187 42.286793 curveto
-184.907 42.137477 184.33767 42.025477 183.479 41.950793 curveto
-183.479 41.502793 lineto
-190.703 41.502793 lineto
-192.51366 41.502811 193.89499 41.857477 194.847 42.566793 curveto
-195.81766 43.276143 196.30299 44.293475 196.303 45.618793 curveto
-196.30299 46.16014 196.20032 46.654806 195.995 47.102793 curveto
-195.80832 47.550805 195.56566 47.914805 195.267 48.194793 curveto
-194.96832 48.474804 194.63232 48.736137 194.259 48.978793 curveto
-193.88566 49.202803 193.51232 49.370803 193.139 49.482793 curveto
-192.78432 49.594803 192.44833 49.69747 192.131 49.790793 curveto
-191.81366 49.884136 191.57099 49.940136 191.403 49.958793 curveto
-186.503 50.518793 moveto
-186.18566 51.769467 185.87767 52.889466 185.579 53.878793 curveto
-185.299 54.868131 185.103 55.54013 184.991 55.894793 curveto
-184.879 56.249463 184.78567 56.576129 184.711 56.874793 curveto
-184.655 57.173462 184.627 57.472128 184.627 57.770793 curveto
-184.627 58.554794 185.22433 58.946794 186.419 58.946793 curveto
-188.11766 58.946794 189.45233 58.517461 190.423 57.658793 curveto
-191.41233 56.781462 191.90699 55.586797 191.907 54.074793 curveto
-191.90699 53.309466 191.73899 52.6468 191.403 52.086793 curveto
-191.08566 51.508134 190.63766 51.097468 190.059 50.854793 curveto
-189.49899 50.630802 188.31366 50.518802 186.503 50.518793 curveto
-188.603 43.126793 moveto
-186.783 49.622793 lineto
-189.135 49.622803 190.74033 49.370803 191.599 48.866793 curveto
-192.84966 48.176138 193.47499 47.009472 193.475 45.366793 curveto
-193.47499 44.340142 193.20432 43.584142 192.663 43.098793 curveto
-192.14033 42.59481 191.31899 42.34281 190.199 42.342793 curveto
-189.65766 42.34281 189.275 42.39881 189.051 42.510793 curveto
-188.84566 42.604143 188.69633 42.809476 188.603 43.126793 curveto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-131.85129 68.737501 moveto
-131.13128 70.44951 130.49928 71.809508 129.95529 72.817501 curveto
-129.41128 73.809506 129.01128 74.489506 128.75529 74.857501 curveto
-128.51528 75.225505 128.33928 75.585505 128.22729 75.937501 curveto
-128.21128 76.001504 128.20328 76.097504 128.20329 76.225501 curveto
-128.20328 76.577504 128.29128 76.969503 128.46729 77.401501 curveto
-128.65928 77.833502 128.90728 78.049502 129.21129 78.049501 curveto
-129.48328 78.049502 129.72328 77.945502 129.93129 77.737501 curveto
-130.15528 77.529503 130.30728 77.281503 130.38729 76.993501 curveto
-130.84329 76.993501 lineto
-130.34728 78.865501 129.65928 79.8015 128.77929 79.801501 curveto
-127.93128 79.8015 127.50728 79.137501 127.50729 77.809501 curveto
-127.50728 77.473503 127.52328 77.113503 127.55529 76.729501 curveto
-127.50729 76.729501 lineto
-126.96328 77.593503 126.22729 78.321502 125.29929 78.913501 curveto
-124.38729 79.505501 123.44329 79.8015 122.46729 79.801501 curveto
-121.33129 79.8015 120.45129 79.441501 119.82729 78.721501 curveto
-119.20329 77.985502 118.89129 77.041503 118.89129 75.889501 curveto
-118.89129 74.753505 119.18729 73.617506 119.77929 72.481501 curveto
-120.37129 71.345509 121.18729 70.40151 122.22729 69.649501 curveto
-123.26729 68.881511 124.36329 68.497512 125.51529 68.497501 curveto
-126.44329 68.497512 127.10728 68.817511 127.50729 69.457501 curveto
-127.92328 70.08151 128.13128 70.865509 128.13129 71.809501 curveto
-128.13128 71.969508 128.11528 72.225508 128.08329 72.577501 curveto
-128.13129 72.577501 lineto
-129.83529 68.737501 lineto
-131.85129 68.737501 lineto
-127.50729 72.025501 moveto
-127.50728 70.13751 126.81928 69.193511 125.44329 69.193501 curveto
-124.57929 69.193511 123.78729 69.64951 123.06729 70.561501 curveto
-122.36329 71.473509 121.83529 72.481508 121.48329 73.585501 curveto
-121.14729 74.673505 120.97929 75.633504 120.97929 76.465501 curveto
-120.97929 78.225502 121.65129 79.105501 122.99529 79.105501 curveto
-123.87529 79.105501 124.67529 78.673501 125.39529 77.809501 curveto
-126.13129 76.929503 126.66728 75.961504 127.00329 74.905501 curveto
-127.33928 73.833506 127.50728 72.873507 127.50729 72.025501 curveto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-179.40752 73.544226 moveto
-179.40751 73.848232 179.35151 74.224231 179.23952 74.672226 curveto
-179.14351 75.12023 178.95151 75.63223 178.66352 76.208226 curveto
-178.39151 76.784229 178.04751 77.320228 177.63152 77.816226 curveto
-177.23151 78.296227 176.67951 78.704227 175.97552 79.040226 curveto
-175.27151 79.376226 174.48751 79.544226 173.62352 79.544226 curveto
-172.95151 79.544226 172.37551 79.376226 171.89552 79.040226 curveto
-171.41551 78.688227 171.17551 78.200227 171.17552 77.576226 curveto
-171.17552 77.408226 lineto
-171.87152 77.408226 lineto
-171.85551 77.456228 171.84751 77.520228 171.84752 77.600226 curveto
-171.84751 77.984228 172.03151 78.312227 172.39952 78.584226 curveto
-172.76751 78.856227 173.15951 78.992227 173.57552 78.992226 curveto
-174.59951 78.992227 175.46351 78.376227 176.16752 77.144226 curveto
-176.88751 75.89623 177.24751 74.640231 177.24752 73.376226 curveto
-177.24751 72.560233 177.09551 71.880234 176.79152 71.336226 curveto
-176.48751 70.776235 175.99951 70.496235 175.32752 70.496226 curveto
-175.11951 70.496235 174.84751 70.560235 174.51152 70.688226 curveto
-174.17551 70.816235 173.94351 70.880235 173.81552 70.880226 curveto
-173.41551 70.880235 173.21551 70.704235 173.21552 70.352226 curveto
-173.21551 70.000236 173.32751 69.752236 173.55152 69.608226 curveto
-173.77551 69.464236 173.97551 69.392236 174.15152 69.392226 curveto
-174.32751 69.392236 174.56751 69.464236 174.87152 69.608226 curveto
-175.17551 69.752236 175.39151 69.824236 175.51952 69.824226 curveto
-176.19151 69.824236 176.78351 69.384236 177.29552 68.504226 curveto
-177.80751 67.608238 178.06351 66.752239 178.06352 65.936226 curveto
-178.06351 65.31224 177.90351 64.808241 177.58352 64.424226 curveto
-177.27951 64.024242 176.80751 63.824242 176.16752 63.824226 curveto
-174.40751 63.824242 173.21551 65.26424 172.59152 68.144226 curveto
-169.03952 84.176226 lineto
-167.07152 84.176226 lineto
-170.23952 69.848226 lineto
-170.43151 69.000237 170.68751 68.208237 171.00752 67.472226 curveto
-171.32751 66.736239 171.73551 66.03224 172.23152 65.360226 curveto
-172.72751 64.672241 173.34351 64.136241 174.07952 63.752226 curveto
-174.83151 63.352242 175.66351 63.152242 176.57552 63.152226 curveto
-177.58351 63.152242 178.41551 63.376242 179.07152 63.824226 curveto
-179.72751 64.272241 180.0555 64.928241 180.05552 65.792226 curveto
-180.0555 66.896239 179.63951 67.808238 178.80752 68.528226 curveto
-177.99151 69.232236 177.01551 69.768236 175.87952 70.136226 curveto
-176.98351 70.280235 177.84751 70.640235 178.47152 71.216226 curveto
-179.09551 71.792234 179.40751 72.568233 179.40752 73.544226 curveto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-115.79613 110.12297 moveto
-115.79613 109.45097 116.01213 108.69897 116.44413 107.86697 curveto
-116.87613 107.03497 117.30813 106.25897 117.74013 105.53897 curveto
-118.17213 104.81897 118.38813 104.25897 118.38813 103.85897 curveto
-118.38813 103.47497 lineto
-118.38813 102.99497 118.35613 102.45097 118.29213 101.84297 curveto
-118.24413 101.23498 118.15613 100.53098 118.02813 99.730971 curveto
-117.90013 98.930978 117.67613 98.266978 117.35613 97.738971 curveto
-117.05213 97.210979 116.68413 96.94698 116.25213 96.946971 curveto
-115.88413 96.94698 115.56413 97.10698 115.29213 97.426971 curveto
-115.03613 97.730979 114.86013 98.082979 114.76413 98.482971 curveto
-114.30813 98.482971 lineto
-114.93213 95.986981 115.84413 94.738982 117.04413 94.738971 curveto
-118.30813 94.738982 118.94013 96.76298 118.94013 100.81097 curveto
-118.94013 101.29098 118.93213 101.86697 118.91613 102.53897 curveto
-118.90013 103.21097 118.89213 103.59497 118.89213 103.69097 curveto
-118.94013 103.69097 lineto
-119.67613 102.66697 120.30812 101.70697 120.83613 100.81097 curveto
-121.38012 99.914977 121.74812 99.258977 121.94013 98.842971 curveto
-122.14812 98.426978 122.38812 97.882979 122.66013 97.210971 curveto
-122.93212 96.53898 123.10012 96.138981 123.16413 96.010971 curveto
-123.56412 95.162982 124.13212 94.738982 124.86813 94.738971 curveto
-125.34812 94.738982 125.58812 95.002982 125.58813 95.530971 curveto
-125.58812 96.074981 125.04412 97.02698 123.95613 98.386971 curveto
-122.88412 99.746977 121.78812 101.05098 120.66813 102.29897 curveto
-119.54813 103.54697 118.95613 104.28297 118.89213 104.50697 curveto
-118.82813 104.74697 118.77213 105.17097 118.72413 105.77897 curveto
-118.69213 106.37097 118.65213 106.95497 118.60413 107.53097 curveto
-118.55613 108.10697 118.46813 108.68297 118.34013 109.25897 curveto
-118.22813 109.83497 118.02013 110.29897 117.71613 110.65097 curveto
-117.42813 111.00297 117.05213 111.17897 116.58813 111.17897 curveto
-116.06013 111.17897 115.79613 110.82697 115.79613 110.12297 curveto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-180.1485 111.17118 moveto
-178.90049 111.17118 177.90049 110.83518 177.1485 110.16318 curveto
-176.3965 109.49118 176.0205 108.57119 176.0205 107.40318 curveto
-176.0205 105.78719 176.6525 104.35519 177.9165 103.10718 curveto
-179.19649 101.84319 180.67649 101.21119 182.3565 101.21118 curveto
-182.80449 101.21119 183.26849 101.27519 183.7485 101.40318 curveto
-183.7965 101.35518 lineto
-183.66849 101.25919 183.22049 100.97119 182.4525 100.49118 curveto
-181.68449 100.01119 181.11649 99.571194 180.7485 99.171183 curveto
-180.39649 98.755195 180.22049 98.291196 180.2205 97.779183 curveto
-180.22049 96.947197 180.56449 96.243198 181.2525 95.667183 curveto
-181.95649 95.075199 182.74049 94.779199 183.6045 94.779183 curveto
-184.45249 94.779199 185.15649 95.051199 185.7165 95.595183 curveto
-186.29249 96.123198 186.62049 96.787197 186.7005 97.587183 curveto
-186.0765 97.587183 lineto
-185.98049 96.947197 185.70049 96.411197 185.2365 95.979183 curveto
-184.78849 95.547198 184.22849 95.331198 183.5565 95.331183 curveto
-183.09249 95.331198 182.64449 95.475198 182.2125 95.763183 curveto
-181.79649 96.035198 181.58849 96.387197 181.5885 96.819183 curveto
-181.58849 97.107197 181.78049 97.427196 182.1645 97.779183 curveto
-182.54849 98.115196 183.01249 98.475195 183.5565 98.859183 curveto
-184.11649 99.243195 184.66849 99.667194 185.2125 100.13118 curveto
-185.75649 100.59519 186.22049 101.17919 186.6045 101.88318 curveto
-186.98848 102.58719 187.18048 103.34719 187.1805 104.16318 curveto
-187.18048 105.98719 186.47649 107.61119 185.0685 109.03518 curveto
-183.67649 110.45918 182.03649 111.17118 180.1485 111.17118 curveto
-184.8525 104.47518 moveto
-184.85249 102.74719 184.06849 101.88319 182.5005 101.88318 curveto
-181.54049 101.88319 180.72449 102.19519 180.0525 102.81918 curveto
-179.38049 103.44319 178.90849 104.17119 178.6365 105.00318 curveto
-178.38049 105.81919 178.25249 106.67519 178.2525 107.57118 curveto
-178.25249 109.52318 179.02849 110.49918 180.5805 110.49918 curveto
-181.47649 110.49918 182.26049 110.14718 182.9325 109.44318 curveto
-183.62049 108.73919 184.10849 107.94719 184.3965 107.06718 curveto
-184.70049 106.17119 184.85249 105.30719 184.8525 104.47518 curveto
-fill
-grestore
-gsave
-0 0 0 setrgbcolor
-newpath
-151.10231 105.76539 moveto
-151.1023 105.5574 150.9343 105.2934 150.59831 104.97339 curveto
-150.2623 104.6534 150.0943 104.3254 150.09431 103.98939 curveto
-150.0943 103.7334 150.1743 103.5334 150.33431 103.38939 curveto
-150.4943 103.2454 150.7103 103.1734 150.98231 103.17339 curveto
-151.3503 103.1734 151.6623 103.3174 151.91831 103.60539 curveto
-152.1903 103.8774 152.3263 104.2054 152.32631 104.58939 curveto
-152.3263 105.0374 152.1823 105.6134 151.89431 106.31739 curveto
-151.6223 107.0054 151.2783 107.6454 150.86231 108.23739 curveto
-149.6303 109.9654 148.5183 111.3894 147.52631 112.50939 curveto
-146.53431 113.62939 145.88631 114.18939 145.58231 114.18939 curveto
-145.43831 114.18939 145.36631 113.90939 145.36631 113.34939 curveto
-145.36631 112.66139 145.31031 111.5894 145.19831 110.13339 curveto
-145.08631 108.6614 144.96631 107.5094 144.83831 106.67739 curveto
-144.67831 105.5734 144.50231 104.8614 144.31031 104.54139 curveto
-144.11831 104.2214 143.79031 104.0614 143.32631 104.06139 curveto
-143.02231 104.0614 142.78231 104.0694 142.60631 104.08539 curveto
-142.60631 103.77339 lineto
-143.16631 103.6774 143.65431 103.5894 144.07031 103.50939 curveto
-144.48631 103.4294 144.77431 103.3654 144.93431 103.31739 curveto
-145.09431 103.2694 145.23831 103.2374 145.36631 103.22139 curveto
-145.49431 103.1894 145.62231 103.1734 145.75031 103.17339 curveto
-146.00631 103.1734 146.26231 104.1174 146.51831 106.00539 curveto
-146.79031 107.8934 146.97431 109.9174 147.07031 112.07739 curveto
-147.81431 111.30939 lineto
-148.6623 110.4134 149.4223 109.4054 150.09431 108.28539 curveto
-150.7663 107.1494 151.1023 106.3094 151.10231 105.76539 curveto
-fill
-grestore
-grestore
-grestore
-showpage
-%%EOF
diff --git a/1-toky/toky03.svg b/1-toky/toky03.svg
deleted file mode 100644 (file)
index 8f8b389..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="300"
-   height="200"
-   id="svg2"
-   inkscape:label="Pozadí"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="toky031copy.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape">
-  <defs
-     id="defs3">
-    <marker
-       inkscape:stockid="Arrow1Lstart"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Lstart"
-       style="overflow:visible">
-      <path
-         id="path3168"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
-         transform="scale(0.8) translate(12.5,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Lend"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Lend"
-       style="overflow:visible;">
-      <path
-         id="path3171"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
-         transform="scale(0.8) rotate(180) translate(12.5,0)" />
-    </marker>
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="0 : 526.18109 : 1"
-       inkscape:vp_y="0 : 1000 : 0"
-       inkscape:vp_z="744.09448 : 526.18109 : 1"
-       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
-       id="perspective9" />
-  </defs>
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="0.65495766"
-     inkscape:cx="150"
-     inkscape:cy="100"
-     inkscape:document-units="px"
-     inkscape:current-layer="g6071"
-     showgrid="false"
-     inkscape:window-width="1400"
-     inkscape:window-height="973"
-     inkscape:window-x="0"
-     inkscape:window-y="27" />
-  <metadata
-     id="metadata6">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Vrstva 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <text
-       xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-       x="182.72604"
-       y="100.67476"
-       id="text6043"><tspan
-         sodipodi:role="line"
-         id="tspan6045"
-         x="182.72604"
-         y="100.67476" /></text>
-    <text
-       xml:space="preserve"
-       style="font-size:40px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-       x="191.09312"
-       y="86.909584"
-       id="text6047"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan6049"
-         x="191.09312"
-         y="86.909584" /></text>
-    <g
-       id="g6071"
-       transform="matrix(1.6331259,0,0,1.6331259,-86.457103,-58.067055)">
-      <path
-         id="path2382"
-         d="M 105.3056,36.822422 C 102.40086,37.900753 99.493736,38.995078 96.727013,40.398005 C 94.181571,41.814326 91.822283,43.55622 89.749782,45.605514 C 88.111089,47.209892 86.671689,49.011105 85.314804,50.854189 C 83.139582,53.970058 81.184859,57.250028 79.686471,60.747956 C 78.129929,64.204944 77.024319,67.842231 75.898039,71.455717 C 75.316998,73.588972 74.899364,75.764208 74.528626,77.942042 C 73.692617,83.387612 73.522541,88.912205 73.649215,94.413081 C 73.717769,98.012392 73.905905,101.62339 74.575974,105.16738 C 75.277707,109.05319 76.334882,112.86428 77.429981,116.65461 C 78.408255,119.76383 79.494348,122.84666 80.9331,125.77631 C 83.013527,130.29088 85.560001,134.59225 88.553612,138.56222 C 90.65007,141.3925 93.082469,143.96727 95.734188,146.28172 C 97.375443,147.66785 99.03876,149.03673 100.87886,150.15497 C 105.24128,152.87403 110.24125,154.58149 115.36836,155.01664 C 118.10907,155.21373 120.89858,155.19458 123.58473,154.54953 C 125.14919,154.20441 126.64084,153.58359 128.13515,153.01599 C 130.41309,152.06381 132.63814,150.94134 134.66022,149.51965 C 136.43199,148.14419 138.00011,146.52406 139.53098,144.89107 C 140.77044,143.47835 141.87374,141.93663 142.79945,140.30289 C 143.66346,138.5645 143.46585,136.37457 142.28719,134.82838 C 140.71409,132.50721 138.77501,130.46144 136.93243,128.35483 C 135.51977,126.74917 134.15166,125.09915 132.94748,123.32948 C 131.52319,121.17358 130.39942,118.83615 129.45099,116.43563 C 128.52529,114.05627 127.78695,111.59152 127.32452,109.07814 C 126.98906,106.93599 126.80931,104.77007 126.557,102.61823 C 126.46358,99.701897 126.91728,96.807874 127.34762,93.933181 C 128.08122,90.495502 129.00152,87.078953 130.43738,83.861316 C 131.33264,81.593252 132.52109,79.463473 133.68764,77.32825 C 135.49922,73.872899 137.49727,70.52146 139.5389,67.198566 C 140.28117,65.928666 141.06314,64.667947 141.66797,63.328311 C 142.13152,61.96273 142.25594,60.460986 141.99885,59.041127 C 141.6454,57.721019 141.46342,56.331459 140.73496,55.145551 C 139.31758,52.221394 137.18884,49.698342 134.83307,47.485278 C 132.5203,45.232624 129.98063,43.211117 127.24094,41.50035 C 124.17293,39.494525 120.7539,37.995281 117.14666,37.2959 C 113.47896,36.517177 109.68828,36.374629 105.96046,36.728748 C 105.74217,36.759973 105.52389,36.791197 105.3056,36.822422 z"
-         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
-      <path
-         id="path2387"
-         d="M 190.50356,38.030829 C 193.40624,39.114713 196.31126,40.214595 199.07529,41.622811 C 201.61801,43.043996 203.97397,44.790398 206.04255,46.843653 C 207.67816,48.45116 209.11412,50.255123 210.46748,52.100798 C 212.63674,55.220822 214.58519,58.504524 216.07687,62.005311 C 217.62681,65.465269 218.72546,69.104665 219.84483,72.720298 C 220.4218,74.85466 220.83526,77.030691 221.20184,79.209229 C 222.02743,84.656388 222.18694,90.181295 222.04974,95.68192 C 221.97431,99.281089 221.77927,102.89172 221.10242,106.43442 C 220.39326,110.31889 219.3288,114.12795 218.22646,117.91618 C 217.24223,121.02351 216.15026,124.10426 214.7059,127.03117 C 212.61684,131.54175 210.06216,135.83823 207.06094,139.80248 C 204.95909,142.62874 202.52176,145.19885 199.86563,147.50823 C 198.22172,148.89122 196.5558,150.25692 194.71355,151.37164 C 190.34594,154.08234 185.34273,155.78024 180.21479,156.20558 C 177.4737,156.39744 174.68425,156.37296 171.99933,155.72276 C 170.43553,155.37465 168.94507,154.75099 167.45185,154.18052 C 165.17573,153.22399 162.95284,152.09727 160.93349,150.67171 C 159.16434,149.29288 157.59932,147.66975 156.07157,146.03383 C 154.83482,144.61874 153.73448,143.07491 152.81188,141.4394 C 151.95121,139.69937 152.153,137.50982 153.33462,135.96589 C 154.91215,133.64772 156.85514,131.60567 158.70175,129.50259 C 160.11747,127.89963 161.48874,126.25223 162.6963,124.48487 C 164.12471,122.3317 165.25294,119.99642 166.20596,117.59772 C 167.13621,115.22013 167.87927,112.7568 168.3465,110.2443 C 168.68605,108.1028 168.86994,105.93722 169.12637,103.78587 C 169.22537,100.86973 168.77721,97.974844 168.35236,95.099333 C 167.62533,91.660258 166.71157,88.241954 165.28186,85.021577 C 164.39094,82.751806 163.20657,80.619758 162.0441,78.482308 C 160.23914,75.023499 158.2475,71.668246 156.21223,68.341454 C 155.47239,67.070136 154.69283,65.807924 154.09056,64.467134 C 153.62963,63.100669 153.50807,61.598689 153.76789,60.179325 C 154.12385,58.859896 154.30849,57.470686 155.03922,56.286172 C 156.46219,53.364732 158.59575,50.845755 160.95575,48.6372 C 163.27282,46.388972 165.81635,44.372325 168.55931,42.666801 C 171.63115,40.666846 175.05304,39.174143 178.66161,38.481662 C 182.3308,37.709955 186.12174,37.574655 189.84888,37.935903 C 190.06711,37.967545 190.28532,37.999186 190.50356,38.030829 z"
-         style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
-      <path
-         transform="matrix(0.7383774,0,0,0.7383774,39.885612,27.021429)"
-         d="M 148.17814,95.546562 A 2.4291499,2.4291499 0 1 1 143.31984,95.546562 A 2.4291499,2.4291499 0 1 1 148.17814,95.546562 z"
-         sodipodi:ry="2.4291499"
-         sodipodi:rx="2.4291499"
-         sodipodi:cy="95.546562"
-         sodipodi:cx="145.74899"
-         id="path2389"
-         style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.30000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
-         sodipodi:type="arc" />
-      <path
-         inkscape:connector-type="polyline"
-         id="path3161"
-         d="M 113.36032,116.8691 L 143.04993,99.865047"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-      <path
-         inkscape:connection-end="#path2382"
-         inkscape:connection-start="#path2382"
-         inkscape:connector-type="polyline"
-         id="path3163"
-         d="M 143.4824,95.835934 L 143.4824,95.835934"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
-      <path
-         inkscape:connector-type="polyline"
-         id="path3943"
-         d="M 151.95681,95.681513 L 181.64642,78.677461"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-      <path
-         inkscape:connector-type="polyline"
-         id="path3945"
-         d="M 181.91633,117.54386 L 152.22672,100.53981"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-      <path
-         inkscape:connector-type="polyline"
-         id="path3947"
-         d="M 143.31985,94.601892 L 113.63024,77.597842"
-         style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-      <text
-         id="text6031"
-         y="59.792904"
-         x="100.56425"
-         style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-         xml:space="preserve"><tspan
-           style="font-size:28px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-           y="59.792904"
-           x="100.56425"
-           id="tspan6033"
-           sodipodi:role="line">A</tspan></text>
-      <text
-         id="text6035"
-         y="59.786793"
-         x="179.839"
-         style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
-         xml:space="preserve"><tspan
-           style="font-size:28px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-           y="59.786793"
-           x="179.839"
-           id="tspan6037"
-           sodipodi:role="line">B</tspan></text>
-      <text
-         sodipodi:linespacing="125%"
-         id="text6051"
-         y="79.561501"
-         x="118.67529"
-         style="font-size:40px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-         xml:space="preserve"><tspan
-           style="font-size:24px"
-           y="79.561501"
-           x="118.67529"
-           id="tspan6053"
-           sodipodi:role="line">α</tspan></text>
-      <text
-         sodipodi:linespacing="100%"
-         id="text6055"
-         y="79.352226"
-         x="167.07152"
-         style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-         xml:space="preserve"><tspan
-           y="79.352226"
-           x="167.07152"
-           id="tspan6057"
-           sodipodi:role="line"
-           style="font-size:24">β</tspan></text>
-      <text
-         sodipodi:linespacing="100%"
-         id="text6059"
-         y="105.80297"
-         x="113.90013"
-         style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-         xml:space="preserve"><tspan
-           y="105.80297"
-           x="113.90013"
-           id="tspan6061"
-           sodipodi:role="line"
-           style="font-size:24">γ</tspan></text>
-      <text
-         sodipodi:linespacing="100%"
-         id="text6063"
-         y="110.93118"
-         x="175.7085"
-         style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-         xml:space="preserve"><tspan
-           y="110.93118"
-           x="175.7085"
-           id="tspan6065"
-           sodipodi:role="line"
-           style="font-size:24">δ</tspan></text>
-      <text
-         sodipodi:linespacing="100%"
-         id="text6067"
-         y="113.75739"
-         x="142.10231"
-         style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:FreeSerif;-inkscape-font-specification:FreeSerif Italic"
-         xml:space="preserve"><tspan
-           y="113.75739"
-           x="142.10231"
-           id="tspan6069"
-           sodipodi:role="line"
-           style="font-size:24px">v</tspan></text>
-    </g>
-  </g>
-</svg>