\:Zaèneme s~libovolným tokem~$f$, napøíklad prázdným (v¹ude nulovým).
\:Iterativnì vylep¹ujeme tok pomocí zlep¹ujících tokù: {\I (vnìj¹í cyklus)}
\::Sestrojíme sí» rezerv: vrcholy a hrany jsou tyté¾, kapacity jsou urèeny rezervami v~pùvodní síti.
+Dále budeme pracovat s~ní.
\::Najdeme nejkrat¹í $st$-cestu. Kdy¾ ¾ádná neexistuje, skonèime.
\::Proèistime sí», tj. ponecháme v ní pouze vrcholy a hrany na nejkrat¹ích $st$-cestách.
\::Najdeme v~proèi¹tìné síti blokující tok $f_B$:
\endlist
Takto kroky 5 a 12 dohromady spotøebují èas $\O(m)$.
\:Jeden prùchod vnìj¹ím cyklem tedy trvá $\O(mn)$.
+ \:Jak za chvíli doká¾eme, ka¾dým prùchodem vnìj¹ím cyklem $l$ vzroste, tak¾e prùchodù
+ bude maximálnì~$n$ a celý algoritmus tak pobì¾í v~èase $\O(n^2m)$.
\endlist
+\s{Korektnost algoritmu:}
+Kdy¾ se Dinicùv algoritmus zastaví, nemù¾e u¾ existovat ¾ádná zlep¹ující cesta
+(viz krok~4) a tehdy, jak u¾ víme z~analýzy F-F algoritmu, je nalezený tok maximální.
+
\s{Vìta:}
V~ka¾dém prùchodu Dinicova algoritmu vzroste $l$ alespoò~o~1.
-\s{Dùsledek:}
-Vnìj¹ím cyklem projdeme $\O(n)$-krát, proto¾e nejdel¹í cesta bude mít
-délku $\leq n$. Celková slo¾itost celého algoritmu proto bude $\O(n^2m)$
-
-\s{Korektnost algoritmu}
-plyne z korektnosti F-F algoritmu. Kdy¾ se Dinicùv
-algoritmus zastaví, musí vydat maximální tok. Pokud ne, tak podle F-F algoritmu
-existuje zlep¹ující cesta, ale to je ve sporu s~krokem~4, který po¾aduje, aby ¾ádná
-taková cesta neexistovala.
-
-\s{Dùkaz vìty:}
+\proof
Podíváme se na~prùbìh jednoho prùchodu vnìj¹ím cyklem.
Délku aktuálnì nejkrat¹í $st$-cesty oznaème~$l$.
V¹echny pùvodní cesty délky~$l$ se bìhem prùchodu zaruèenì nasytí, proto¾e
tok~$f_B$ je blokující. Musíme v¹ak dokázat, ¾e nemohou vzniknout ¾ádné
nové cesty délky~$l$ nebo men¹í. V~síti rezerv toti¾ mohou hrany nejen
ubývat, ale i pøibývat: pokud po¹leme tok po~hranì, po~které je¹tì nic
-neteklo, mù¾e se stát, ¾e v~protismìru z~dosud nulové rezervy vyrobíme
-nenulovou. Rozmysleme si tedy, jaké hrany mohou pøibývat:
+neteklo, tak v~protismìru z~dosud nulové rezervy vyrobíme nenulovou.
+Rozmysleme si tedy, jaké hrany mohou pøibývat:
Vnìj¹í cyklus zaèíná s neproèi¹tìnou sítí. Pøíklad takové sítì je na~následujícím obrázku.
Po~proèi¹tìní zùstanou v~síti jen èerné hrany, tedy hrany vedoucí z~$i$-té
Nové hrany mohou vznikat výhradnì jako opaèné k~èerným hranám (hrany ostatních barev
padly za obì» proèi¹tìní). Jsou to tedy v¾dy zpìtné hrany vedoucí z~$i$-té vrstvy do~$(i-1)$-ní.
-
-\figure{dinic-zpetnahrana.eps}{Vznik nové zpìtné hrany}{0.4\hsize}
-
Vznikem nových hran by proto mohly vzniknout nové $st$-cesty, které pou¾ívají
zpìtné hrany. Jen¾e $st$-cesta, která pou¾ije zpìtnou hranu, musí alespoò jednou skoèit
o~vrstvu zpìt a nikdy nemù¾e skoèit o~více ne¾ jednu vrstvu dopøedu, a~proto je její
\h{Speciální sítì (ubíráme na obecnosti)}
-Dále se budeme vìnovat modifikacím Dinicova algoritmu na speciální druhy sítí,
-kde je mo¾né dostat lep¹í èasovou slo¾itost ne¾ v~obecném pøípadì.
+Pøi pøevodu rùzných úloh na~hledání maximálního toku èasto dostaneme sí» v~nìjakém
+speciálním tvaru -- tøeba s~omezenými kapacitami èi stupni vrcholù. Podíváme se
+proto podrobnìji na~chování Dinicova algoritmu v~takových pøípadech a uká¾eme,
+¾e èasto pracuje pøekvapivì efektivnì.
\s{Jednotkové kapacity:}
-V¹echny rezervy jsou jen 0 nebo~1. Na $st$-cestì má v¹echno kapacitu/rezervu~1.
-Mù¾eme poslat~1~a rovnou celou cestu zahodit -- není potøeba si pamatovat minimum z~rezerv.
+Pokud sí» neobsahuje cykly délky~1 (dvojice navzájem opaèných hran), v¹echny rezervy
+jsou jen 0 nebo~1. Pokud obsahuje, mohou rezervy být i dvojky, a~proto sí» upravíme tak,
+¾e ke~ka¾dé hranì pøidáme hranu opaènou s~nulovou kapacitou a rezervu proti smìru
+toku pøiøkneme jí. Vzniknou tím sice paralelní hrany, ale to tokovým algoritmùm
+nikterak nevadí.%
+\foot{Èasto se to implementuje tak, ¾e protismìrné hrany vùbec nevytvoøíme a kdy¾
+hranu nasytíme, tak v~síti rezerv prostì obrátíme její orientaci.}
+
+Pøi hledání blokujícího toku tedy budou mít v¹echny hrany na~nalezené $st$-cestì
+stejnou, toti¾ jednotkovou, rezervu, tak¾e v¾dy z~grafu odstraníme celou cestu.
Kdy¾ máme $m$ hran, poèet zlep¹ení po cestách délky $l$ bude maximálnì $m/l$.
Proto slo¾itost podkrokù 9, 10 a 11 bude $m/l \cdot \O(l) = \O(m)$.%
-\foot{Nebo by ¹lo argumentovat, ¾e ka¾dou hranu pou¾ijeme jen $1\times$.}
+\foot{Nebo by ¹lo argumentovat, tím ¾e ka¾dou hranu pou¾ijeme jen $1\times$.}
Tedy pro jednotkové kapacity dostáváme slo¾itost $\O(nm)$.
\s{Jednotkové kapacity znovu a lépe:}
nejvý¹e $\vert f_R \vert$ iterací.
Proto bychom chtìli omezit velikost toku $f_R$. Napøíklad øezem.
-Najdeme v síti rezerv øez $C$. Kde ho vzít?\foot{Pøeci v øeznictví. Kdepak, spí¹e v cukrárnì.
+Najdeme v síti rezerv nìjaký dost malý øez $C$. Kde ho vzít?\foot{Pøeci v øeznictví. Kdepak, spí¹e v cukrárnì.
Myslíte, ¾e v cukrárnì mají Dinicovy øezy? Myslím, ¾e v cukrárnì je vìt¹ina øezù minimální. {\sl (odposlechnuto na~pøedná¹ce)}}
Poèítejme jen hrany zleva doprava. Tìch je jistì nejvý¹e $m$ a tvoøí alespoò $k$ rozhraní mezi
vrstvami. Tedy existuje rozhraní vrstev
s~nejvý¹e $m/k$ hranami\foot{Princip holubníku a nìjaká ta $\pm1$.}.
-Toto rozhraní je øez. Tedy existuje øez $C$, pro nìj¾ $\vert C\vert \leq m/k$,
+Toto rozhraní je øez. Tedy existuje øez~$C$, pro nìj¾ $\vert C\vert \leq m/k$,
a~algoritmu zbývá maximálnì $m/k$ dal¹ích krokù.
Celkový poèet krokù je nejvý¹ $k + m/k$, tak¾e staèí zvolit $k = \sqrt{m}$ a získáme
odhad na~poèet krokù $\O(\sqrt{m})$.
-Celkovì slo¾itost Dinicova algoritmu pro jednotkové kapacity znovu a lépe
-je $\O(\sqrt{m} \cdot m) = \O(m^{3/2})$. Pomohli jsme si pro øídké grafy.
+Tím jsme dokázali, ¾e celková slo¾itost Dinicova algoritmu pro jednotkové
+kapacity je $\O(m^{3/2})$. Tím jsme si pomohli pro øídké grafy.
\s{Jednotkové kapacity a jeden ze stupòù roven 1:}
Úlohu hledání maximálního párování v~bipartitním grafu, pøípadnì hledání
vrcholovì disjunktních cest v~obecném grafu lze pøevést (viz pøedchozí kapitola)
-na~hledání maximálního toku v~síti, v~ní¾ $\forall v \neq s,t: \min(\deg^-(v), \deg^+(v)) \leq 1$.
-Pro takovou sí» mù¾eme odhad je¹tì tro¹ku upravit. My¹lenka je stejná jako minule. Pokusíme
-se nalézt v síti po $k$ krocích nìjaký malý øez. Místo rozhraní budeme hledat jednu malou
-vrstvu a z malé vrstvy vytvoøíme malý øez: Pro ka¾dý vrchol z vrstvy vezmeme tu hranu,
+na~hledání maximálního toku v~síti, v~ní¾ má ka¾dý vrchol~$v\ne s,t$ buïto vstupní
+nebo výstupní stupeò roven jedné.
+Pro takovou sí» mù¾eme pøedchozí odhad je¹tì tro¹ku upravit. Pokusíme
+se nalézt v síti po~$k$~krocích nìjaký malý øez. Místo rozhraní budeme hledat jednu malou
+vrstvu a z malé vrstvy vytvoøíme malý øez tak, ¾e pro ka¾dý vrchol z vrstvy vezmeme tu hranu,
která je ve svém smìru sama.
\figure{dinic-vrcholrez.eps}{Øez podle vrcholù ve vrstvì}{0.2\hsize}
-Po $k$ krocích máme alespoò $k$ vrstev. Tedy existuje vrstva $\delta$ s nejvý¹e $n/k$ vrcholy.
+Po $k$ krocích máme alespoò $k$ vrstev, a~proto existuje vrstva $\delta$ s nejvý¹e $n/k$ vrcholy.
Tedy existuje øez $C$ o~velikosti $\vert C\vert \leq n/k$ (získáme z vrstvy $\delta$ vý¹e popsaným postupem).
-Algoritmu zbývá do konce $\leq n/k$ iterací vnìj¹ího cyklu, celkem tedy udìlá $k + n/k$ krokù.
+Algoritmu zbývá do konce $\leq n/k$ iterací vnìj¹ího cyklu, celkem tedy udìlá $k + n/k$ iterací.
Nyní staèí zvolit $k = \sqrt{n}$ a slo¾itost
-celého algoritmu vyjde $\O(\sqrt{n}\cdot m)$\foot{Poèet iterací vnìj¹ího cyklu je $\O(\sqrt{n})$ a
-vnitøní cyklus má $\O(m)$.}.
+celého algoritmu vyjde $\O(\sqrt{n}\cdot m)$.
\s{Tøetí pokus pro jednotkové kapacity bez omezení na stupnì vrcholù v síti:}
Hlavní my¹lenkou je opìt po $k$ krocích najít nìjaký malý øez. Najdeme dvì malé
sousední vrstvy a v¹echny hrany mezi nimi budou tvoøit námi hledaný malý øez.
+Budeme tentokrát pøedpokládat, ¾e na¹e sí» není multigraf, pøípadnì ¾e
+násobnost hran je alespoò omezena konstantou.
Oznaème $s_i$ poèet vrcholù v $i$-té vrstvì. Souèet poètu vrcholù ve dvou
sousedních vrstvách oznaèíme $t_i = s_i + s_{i+1}$. Bude tedy platit nerovnost:
Za jednu iteraci velkého cyklu projdeme malým cyklem maximálnì tolikrát,
o kolik se v nìm zvedl tok, proto¾e ka¾dá zlep¹ující cesta ho zvedne alespoò o $1$.
Zlep¹ující cesta se tedy hledá maximálnì $\vert f\vert$-krát za celou dobu bìhu algoritmu.
-Cestu najedeme v èase $\O(n)$. Celkem na hledání
+Cestu najedeme v èase $\O(n)$. Celkem na~hledání
cest spotøebujeme $\O(\vert f\vert\cdot n)$ za celou dobu bìhu algoritmu.
-Nesmíme ale zapomenout na cleanupy. V jedné iteraci velkého cyklu stojí cleanupy $\O(m)$ a velkých
+Nesmíme ale zapomenout na èi¹tìní. V jedné iteraci velkého cyklu nás stojí èi¹tìní $\O(m)$ a velkých
iterací je $\leq n$. Proto celková slo¾itost algoritmu èiní $\O(\vert f\vert n + nm)$
Pokud navíc budeme pøedpokládat, ¾e kapacita hran je nejvý¹e~$C$ a $G$ není multigraf,
\h{Scaling kapacit}
Základní my¹lenka je podobná, jako u algoritmu pro tøídìní dlouhých èísel postupnì po øádech pomocí
-radix-sortu. Pro jistotu si ho pøipomeòme. Algoritmus nejprve setøídí èísla podle poslední%
-\foot{Poslední cifrou myslíme nejménì významnou cifru.}
-cifry, poté podle pøedposlední, pøedpøedposlední a tak dále.
+radix-sortu. Pro jistotu si ho pøipomeòme. Algoritmus nejprve setøídí èísla podle poslední
+(nejménì významné) cifry, poté podle pøedposlední, pøedpøedposlední a tak dále.
\figure{dinic-sort.eps}{Kroky postupného tøídìní podle øádù}{0.4\hsize}
%!PS-Adobe-2.0 EPSF-2.0
-%%Title: Diagram1.dia
+%%Title: Diagram2.dia
%%Creator: Dia v0.94
-%%CreationDate: Sun Mar 26 18:47:25 2006
-%%For: bernard
+%%CreationDate: Tue Jan 23 17:57:45 2007
+%%For: mares
%%Orientation: Portrait
%%Magnification: 1.0000
-%%BoundingBox: 0 0 195 210
+%%BoundingBox: 0 0 196 210
%%BeginSetup
%%EndSetup
%%EndComments
/start_ol { gsave 1.1 dpi_x div dup scale} bind def
/end_ol { closepath fill grestore } bind def
28.346000 -28.346000 scale
--5.000000 -8.200000 translate
+-2.500000 -9.400000 translate
%%EndProlog
1.000000 1.000000 1.000000 srgb
-n 7.862959 4.500000 0.950000 3.650000 0 360 ellipse f
+n 5.392537 5.700000 0.950000 3.650000 0 360 ellipse f
0.100000 slw
[] 0 sd
[] 0 sd
0.000000 0.000000 0.000000 srgb
-n 7.862959 4.500000 0.950000 3.650000 0 360 ellipse cp s
+n 5.392537 5.700000 0.950000 3.650000 0 360 ellipse cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-n 5.070710 1.819060 m 7.498637 4.266877 l s
+n 2.600247 3.019000 m 5.028223 5.466876 l s
[] 0 sd
0 slj
0 slc
-n 7.762718 4.533121 m 7.233114 4.354183 l 7.498637 4.266877 l 7.588106 4.002074 l ef
-n 7.762718 4.533121 m 7.233114 4.354183 l 7.498637 4.266877 l 7.588106 4.002074 l cp s
-0.100000 slw
+n 5.292304 5.733121 m 4.762700 5.554181 l 5.028223 5.466876 l 5.117693 5.202074 l ef
+n 5.292304 5.733121 m 4.762700 5.554181 l 5.028223 5.466876 l 5.117693 5.202074 l cp s
+0.200000 slw
[] 0 sd
[] 0 sd
0 slc
-1.000000 0.000000 0.000000 srgb
-n 5.070710 6.980940 m 7.247257 6.986301 l s
+n 2.600247 8.180900 m 4.665033 8.186017 l s
[] 0 sd
0 slj
0 slc
-n 7.622256 6.987225 m 7.121641 7.235992 l 7.247257 6.986301 l 7.122873 6.735994 l ef
-n 7.622256 6.987225 m 7.121641 7.235992 l 7.247257 6.986301 l 7.122873 6.735994 l cp s
-0.100000 slw
+n 5.040031 8.186946 m 4.539413 8.435706 l 4.665033 8.186017 l 4.540652 7.935708 l ef
+n 5.040031 8.186946 m 4.539413 8.435706 l 4.665033 8.186017 l 4.540652 7.935708 l cp s
+0.200000 slw
[] 0 sd
[] 0 sd
0 slc
-n 5.348959 4.400000 m 7.416489 2.400883 l s
+n 2.878497 5.600000 m 4.865695 3.678595 l s
[] 0 sd
0 slj
0 slc
-n 7.686076 2.140216 m 7.500404 2.667498 l 7.416489 2.400883 l 7.152848 2.308047 l ef
-n 7.686076 2.140216 m 7.500404 2.667498 l 7.416489 2.400883 l 7.152848 2.308047 l cp s
+n 5.135285 3.417930 m 4.949608 3.945210 l 4.865695 3.678595 l 4.602055 3.585756 l ef
+n 5.135285 3.417930 m 4.949608 3.945210 l 4.865695 3.678595 l 4.602055 3.585756 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-0.000000 0.000000 0.000000 srgb
-n 7.905600 2.233600 m 11.130797 2.233600 l s
+n 5.435137 3.433600 m 8.660334 3.433600 l s
[] 0 sd
0 slj
0 slc
-n 11.505797 2.233600 m 11.005797 2.483600 l 11.130797 2.233600 l 11.005797 1.983600 l ef
-n 11.505797 2.233600 m 11.005797 2.483600 l 11.130797 2.233600 l 11.005797 1.983600 l cp s
-0.100000 slw
+n 9.035334 3.433600 m 8.535334 3.683600 l 8.660334 3.433600 l 8.535334 3.183600 l ef
+n 9.035334 3.433600 m 8.535334 3.683600 l 8.660334 3.433600 l 8.535334 3.183600 l cp s
+0.200000 slw
[] 0 sd
[] 0 sd
0 slc
-1.000000 0.000000 0.000000 srgb
-n 8.033600 4.601600 m 10.947342 4.546675 l s
+n 5.563137 5.801600 m 8.365137 5.748782 l s
[] 0 sd
0 slj
0 slc
-n 11.322275 4.539607 m 10.827076 4.798986 l 10.947342 4.546675 l 10.817652 4.299075 l ef
-n 11.322275 4.539607 m 10.827076 4.798986 l 10.947342 4.546675 l 10.817652 4.299075 l cp s
+n 8.740070 5.741714 m 8.244871 6.001093 l 8.365137 5.748782 l 8.235448 5.501182 l ef
+n 8.740070 5.741714 m 8.244871 6.001093 l 8.365137 5.748782 l 8.235448 5.501182 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-0.000000 0.000000 0.000000 srgb
-n 8.097600 7.033600 m 11.322270 7.058710 l s
+n 5.627137 8.233600 m 8.851849 8.258710 l s
[] 0 sd
0 slj
0 slc
-n 11.697259 7.061629 m 11.195327 7.307729 l 11.322270 7.058710 l 11.199220 6.807744 l ef
-n 11.697259 7.061629 m 11.195327 7.307729 l 11.322270 7.058710 l 11.199220 6.807744 l cp s
+n 9.226837 8.261629 m 8.724906 8.507729 l 8.851849 8.258710 l 8.728799 8.007744 l ef
+n 9.226837 8.261629 m 8.724906 8.507729 l 8.851849 8.258710 l 8.728799 8.007744 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-n 8.033600 7.033600 m 10.999634 5.125842 l s
+n 5.563137 8.233600 m 8.529212 6.325840 l s
[] 0 sd
0 slj
0 slc
-n 11.315027 4.922981 m 11.029744 5.403724 l 10.999634 5.125842 l 10.759263 4.983201 l ef
-n 11.315027 4.922981 m 11.029744 5.403724 l 10.999634 5.125842 l 10.759263 4.983201 l cp s
+n 8.844605 6.122981 m 8.559320 6.603722 l 8.529212 6.325840 l 8.288841 6.183197 l ef
+n 8.844605 6.122981 m 8.559320 6.603722 l 8.529212 6.325840 l 8.288841 6.183197 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-n 7.905600 2.553600 m 8.001218 3.987875 l s
+n 5.435137 3.753600 m 5.530756 5.187875 l s
[] 0 sd
0 slj
0 slc
-n 8.026163 4.362044 m 7.743457 3.879781 l 8.001218 3.987875 l 8.242350 3.846522 l ef
-n 8.026163 4.362044 m 7.743457 3.879781 l 8.001218 3.987875 l 8.242350 3.846522 l cp s
+n 5.555700 5.562044 m 5.272995 5.079781 l 5.530756 5.187875 l 5.771887 5.046522 l ef
+n 5.555700 5.562044 m 5.272995 5.079781 l 5.530756 5.187875 l 5.771887 5.046522 l cp s
0.100000 slw
[] 0 sd
[] 0 sd
0 slc
-n 5.281600 6.777600 m 7.401265 5.038387 l s
+n 2.811137 7.977600 m 4.930803 6.238387 l s
[] 0 sd
0 slj
0 slc
-n 7.691168 4.800519 m 7.463210 5.310945 l 7.401265 5.038387 l 7.146052 4.924409 l ef
-n 7.691168 4.800519 m 7.463210 5.310945 l 7.401265 5.038387 l 7.146052 4.924409 l cp s
+n 5.220705 6.000519 m 4.992748 6.510945 l 4.930803 6.238387 l 4.675589 6.124409 l ef
+n 5.220705 6.000519 m 4.992748 6.510945 l 4.930803 6.238387 l 4.675589 6.124409 l cp s
showpage
+++ /dev/null
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: Diagram1.dia
-%%Creator: Dia v0.94
-%%CreationDate: Sun Mar 26 18:44:33 2006
-%%For: bernard
-%%Orientation: Portrait
-%%Magnification: 1.0000
-%%BoundingBox: 0 0 539 452
-%%BeginSetup
-%%EndSetup
-%%EndComments
-%%BeginProlog
-[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
-/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-/two /three /four /five /six /seven /eight /nine /colon /semicolon
-/less /equal /greater /question /at /A /B /C /D /E
-/F /G /H /I /J /K /L /M /N /O
-/P /Q /R /S /T /U /V /W /X /Y
-/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
-/d /e /f /g /h /i /j /k /l /m
-/n /o /p /q /r /s /t /u /v /w
-/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
-/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
-/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
-/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
-/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
-/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
-/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
-/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
-/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
-/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
-/cp {closepath} bind def
-/c {curveto} bind def
-/f {fill} bind def
-/a {arc} bind def
-/ef {eofill} bind def
-/ex {exch} bind def
-/gr {grestore} bind def
-/gs {gsave} bind def
-/sa {save} bind def
-/rs {restore} bind def
-/l {lineto} bind def
-/m {moveto} bind def
-/rm {rmoveto} bind def
-/n {newpath} bind def
-/s {stroke} bind def
-/sh {show} bind def
-/slc {setlinecap} bind def
-/slj {setlinejoin} bind def
-/slw {setlinewidth} bind def
-/srgb {setrgbcolor} bind def
-/rot {rotate} bind def
-/sc {scale} bind def
-/sd {setdash} bind def
-/ff {findfont} bind def
-/sf {setfont} bind def
-/scf {scalefont} bind def
-/sw {stringwidth pop} bind def
-/tr {translate} bind def
-
-/ellipsedict 8 dict def
-ellipsedict /mtrx matrix put
-/ellipse
-{ ellipsedict begin
- /endangle exch def
- /startangle exch def
- /yrad exch def
- /xrad exch def
- /y exch def
- /x exch def /savematrix mtrx currentmatrix def
- x y tr xrad yrad sc
- 0 0 1 startangle endangle arc
- savematrix setmatrix
- end
-} def
-
-/mergeprocs {
-dup length
-3 -1 roll
-dup
-length
-dup
-5 1 roll
-3 -1 roll
-add
-array cvx
-dup
-3 -1 roll
-0 exch
-putinterval
-dup
-4 2 roll
-putinterval
-} bind def
-/dpi_x 300 def
-/dpi_y 300 def
-/conicto {
- /to_y exch def
- /to_x exch def
- /conic_cntrl_y exch def
- /conic_cntrl_x exch def
- currentpoint
- /p0_y exch def
- /p0_x exch def
- /p1_x p0_x conic_cntrl_x p0_x sub 2 3 div mul add def
- /p1_y p0_y conic_cntrl_y p0_y sub 2 3 div mul add def
- /p2_x p1_x to_x p0_x sub 1 3 div mul add def
- /p2_y p1_y to_y p0_y sub 1 3 div mul add def
- p1_x p1_y p2_x p2_y to_x to_y curveto
-} bind def
-/start_ol { gsave 1.1 dpi_x div dup scale} bind def
-/end_ol { closepath fill grestore } bind def
-28.346000 -28.346000 scale
--5.000000 -16.723001 translate
-%%EndProlog
-
-
-1.000000 1.000000 1.000000 srgb
-n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 9.362500 4.500000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 12.962500 4.500000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 12.962500 4.500000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 16.362500 4.600000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 16.362500 4.600000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 20.016500 4.568000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 20.016500 4.568000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 5.587500 4.400000 0.462500 0.450000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 23.497500 4.760000 0.450000 0.450000 0 360 ellipse cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 6.050000 4.400000 m 8.875918 4.485311 l s
-[] 0 sd
-0 slj
-0 slc
-n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l ef
-n 9.250748 4.496626 m 8.743431 4.731425 l 8.875918 4.485311 l 8.758519 4.231653 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 9.697600 4.601600 m 12.365524 2.397546 l s
-[] 0 sd
-0 slj
-0 slc
-n 12.654628 2.158708 m 12.428381 2.669895 l 12.365524 2.397546 l 12.109931 2.284422 l ef
-n 12.654628 2.158708 m 12.428381 2.669895 l 12.365524 2.397546 l 12.109931 2.284422 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 12.833600 2.233600 m 16.005083 4.434923 l s
-[] 0 sd
-0 slj
-0 slc
-n 16.313146 4.648749 m 15.759844 4.569023 l 16.005083 4.434923 l 16.044946 4.158271 l ef
-n 16.313146 4.648749 m 15.759844 4.569023 l 16.005083 4.434923 l 16.044946 4.158271 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 16.673600 4.665600 m 19.706797 4.665600 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.081797 4.665600 m 19.581797 4.915600 l 19.706797 4.665600 l 19.581797 4.415600 l ef
-n 20.081797 4.665600 m 19.581797 4.915600 l 19.706797 4.665600 l 19.581797 4.415600 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 20.513600 4.729600 m 22.560732 4.754160 l s
-[] 0 sd
-0 slj
-0 slc
-n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l ef
-n 22.935705 4.758659 m 22.432742 5.002643 l 22.560732 4.754160 l 22.438740 4.502679 l cp s
-gsave 5.000000 6.562500 translate 0.035278 -0.035278 scale
-start_ol
-5729 6016 moveto
-5533 5056 lineto
-5124 5280 4670 5392 conicto
-4216 5504 3734 5504 conicto
-2921 5504 2452 5229 conicto
-1984 4954 1984 4482 conicto
-1984 3933 3088 3639 conicto
-3172 3617 3213 3606 conicto
-3548 3506 lineto
-4567 3221 4907 2908 conicto
-5248 2595 5248 2053 conicto
-5248 1059 4456 433 conicto
-3665 -192 2384 -192 conicto
-1886 -192 1338 -98 conicto
-790 -5 130 192 conicto
-331 1280 lineto
-896 997 1444 850 conicto
-1992 704 2496 704 conicto
-3263 704 3743 1023 conicto
-4224 1343 4224 1833 conicto
-4224 2361 2963 2686 conicto
-2854 2714 lineto
-2496 2802 lineto
-1700 3010 1330 3349 conicto
-960 3689 960 4217 conicto
-960 5221 1716 5810 conicto
-2472 6400 3771 6400 conicto
-4283 6400 4769 6304 conicto
-5256 6208 5729 6016 conicto
-end_ol grestore
-gsave 23.440000 6.827500 translate 0.035278 -0.035278 scale
-start_ol
-4867 6272 moveto
-4711 5440 lineto
-2658 5440 lineto
-1992 2036 lineto
-1958 1846 1941 1717 conicto
-1925 1589 1925 1516 conicto
-1925 1157 2140 994 conicto
-2356 832 2831 832 conicto
-3872 832 lineto
-3698 0 lineto
-2714 0 lineto
-1796 0 1346 353 conicto
-896 706 896 1423 conicto
-896 1551 912 1702 conicto
-929 1854 963 2036 conicto
-1628 5440 lineto
-752 5440 lineto
-918 6272 lineto
-1774 6272 lineto
-2121 8064 lineto
-3150 8064 lineto
-2809 6272 lineto
-4867 6272 lineto
-end_ol grestore
-1.000000 1.000000 1.000000 srgb
-n 9.362500 12.891001 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 9.362500 12.891001 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 12.962500 12.891001 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 12.962500 12.891001 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 16.362500 12.991001 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 16.362500 12.991001 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 20.080500 13.023001 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 20.080500 13.023001 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 5.587500 12.791001 0.462500 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 5.587500 12.791001 0.462500 0.450000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 23.497500 13.151001 0.450000 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 23.497500 13.151001 0.450000 0.450000 0 360 ellipse cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 6.050000 12.791001 m 8.875918 12.876311 l s
-[] 0 sd
-0 slj
-0 slc
-n 9.250748 12.887627 m 8.743431 13.122426 l 8.875918 12.876311 l 8.758519 12.622653 l ef
-n 9.250748 12.887627 m 8.743431 13.122426 l 8.875918 12.876311 l 8.758519 12.622653 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 9.697600 12.992601 m 12.365524 10.788547 l s
-[] 0 sd
-0 slj
-0 slc
-n 12.654628 10.549708 m 12.428381 11.060896 l 12.365524 10.788547 l 12.109931 10.675423 l ef
-n 12.654628 10.549708 m 12.428381 11.060896 l 12.365524 10.788547 l 12.109931 10.675423 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 16.545600 13.056601 m 19.593719 13.027628 l s
-[] 0 sd
-0 slj
-0 slc
-n 19.968702 13.024063 m 19.471100 13.278804 l 19.593719 13.027628 l 19.466348 12.778827 l ef
-n 19.968702 13.024063 m 19.471100 13.278804 l 19.593719 13.027628 l 19.466348 12.778827 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 20.513600 13.120601 m 22.560732 13.145161 l s
-[] 0 sd
-0 slj
-0 slc
-n 22.935705 13.149659 m 22.432742 13.393643 l 22.560732 13.145161 l 22.438740 12.893679 l ef
-n 22.935705 13.149659 m 22.432742 13.393643 l 22.560732 13.145161 l 22.438740 12.893679 l cp s
-gsave 5.000000 14.953501 translate 0.035278 -0.035278 scale
-start_ol
-5729 6016 moveto
-5533 5056 lineto
-5124 5280 4670 5392 conicto
-4216 5504 3734 5504 conicto
-2921 5504 2452 5229 conicto
-1984 4954 1984 4482 conicto
-1984 3933 3088 3639 conicto
-3172 3617 3213 3606 conicto
-3548 3506 lineto
-4567 3221 4907 2908 conicto
-5248 2595 5248 2053 conicto
-5248 1059 4456 433 conicto
-3665 -192 2384 -192 conicto
-1886 -192 1338 -98 conicto
-790 -5 130 192 conicto
-331 1280 lineto
-896 997 1444 850 conicto
-1992 704 2496 704 conicto
-3263 704 3743 1023 conicto
-4224 1343 4224 1833 conicto
-4224 2361 2963 2686 conicto
-2854 2714 lineto
-2496 2802 lineto
-1700 3010 1330 3349 conicto
-960 3689 960 4217 conicto
-960 5221 1716 5810 conicto
-2472 6400 3771 6400 conicto
-4283 6400 4769 6304 conicto
-5256 6208 5729 6016 conicto
-end_ol grestore
-gsave 23.440000 15.218501 translate 0.035278 -0.035278 scale
-start_ol
-4867 6272 moveto
-4711 5440 lineto
-2658 5440 lineto
-1992 2036 lineto
-1958 1846 1941 1717 conicto
-1925 1589 1925 1516 conicto
-1925 1157 2140 994 conicto
-2356 832 2831 832 conicto
-3872 832 lineto
-3698 0 lineto
-2714 0 lineto
-1796 0 1346 353 conicto
-896 706 896 1423 conicto
-896 1551 912 1702 conicto
-929 1854 963 2036 conicto
-1628 5440 lineto
-752 5440 lineto
-918 6272 lineto
-1774 6272 lineto
-2121 8064 lineto
-3150 8064 lineto
-2809 6272 lineto
-4867 6272 lineto
-end_ol grestore
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.975875 0.112764 0.032090 srgb
-n 16.163919 9.649882 3.439993 3.439993 87.657866 147.036577 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 13.132801 11.175720 m 13.556586 11.540284 l 13.277703 11.521594 l 13.095421 11.733486 l ef
-n 13.132801 11.175720 m 13.556586 11.540284 l 13.277703 11.521594 l 13.095421 11.733486 l cp s
-showpage