]> mj.ucw.cz Git - ads2.git/commitdiff
Dinicuv algoritmus: Oziveno z historie
authorMartin Mares <mj@ucw.cz>
Thu, 20 Oct 2011 21:37:15 +0000 (23:37 +0200)
committerMartin Mares <mj@ucw.cz>
Thu, 20 Oct 2011 21:37:15 +0000 (23:37 +0200)
3-dinic/3-dinic.tex [new file with mode: 0644]
3-dinic/Makefile [new file with mode: 0644]
3-dinic/dinic-cestashranouzpet.eps [new file with mode: 0644]
3-dinic/dinic-cistasit.eps [new file with mode: 0644]
3-dinic/dinic-neprocistenasit.eps [new file with mode: 0644]
old/2-dinic/2-dinic.tex [deleted file]
old/2-dinic/Makefile [deleted file]
old/2-dinic/dinic-cestashranouzpet.eps [deleted file]
old/2-dinic/dinic-cistasit.eps [deleted file]
old/2-dinic/dinic-neprocistenasit.eps [deleted file]

diff --git a/3-dinic/3-dinic.tex b/3-dinic/3-dinic.tex
new file mode 100644 (file)
index 0000000..d451f01
--- /dev/null
@@ -0,0 +1,223 @@
+\input lecnotes.tex
+
+\prednaska{3}{Dinicùv algoritmus}{(zapsala Markéta Popelová)}
+
+
+Na~minulé pøedná¹ce jsme si~ukázali Fordùv-Fulkersonùv algoritmus. Tento algoritmus hledal maximální tok tak, ¾e zaèal s~tokem nulovým a~postupnì ho zvìt¹oval. Pro~ka¾dé zvìt¹ení potøeboval v~síti najít cestu, na~které mají v¹echny hrany kladnou rezervu (po takovéto cestì mù¾eme poslat více, ne¾ po~ní aktuálnì teèe). Ukázali jsme, ¾e pokud takováto cesta existuje, jde tok vylep¹it (zvìt¹it). Zároveò pokud tok jde vylep¹it, pak takováto cesta existuje. Dokázali jsme, ¾e pro~racionální kapacity je algoritmus koneèný a~najde maximální tok.
+
+Fordùv-Fulkersonùv algoritmus má ov¹em znaèné nevýhody. Funguje pouze pro~racionální kapacity a~je pomìrnì pomalý. Nyní si~uká¾eme jiný algoritmus, který nevylep¹uje tok pomocí cest, ale pomocí tokù\dots Budeme k~tomu potøebovat sí» rezerv.
+
+\s{Definice:} {\I Sí» rezerv} k~toku~$f$ v~síti $S=(V,E,z,s,c)$ je sí» $R=(S,f)=(V,E,z,s,r)$, kde~$r(e)$ je rezerva hrany~$e$ v~toku~$f$.
+
+\s{Konvence:} Pro~hranu~$e$ znaèí~$\overleftarrow{e}$ hranu opaènou. Napø. pokud $e=uv$, tak $\overleftarrow{e}=vu$.
+
+Je dùle¾ité si~uvìdomit, ¾e sí» rezerv je závislá jak na~pùvodní síti~$S$, tak na~nìjakém toku~$f$ v~síti~$S$. Sí» rezerv~$R$ se~pak od sítì~$S$ li¹í pouze kapacitami -- sí»~$R$ má jako kapacitu hrany rezervu hrany v pùvodní síti. Pro~pøipomenutí: rezervu hrany~$e$ v~síti $S=(V,E,z,s,c)$ s~tokem~$f$ jsme si~definovali jako $r(e)=c(e) - f(e) + f(\overleftarrow{e})$.
+
+Ne¾ si~uká¾eme samotný algoritmus, doká¾eme si~následující lemma.
+
+\s{Lemma:} Pro~ka¾dý tok~$f$ v~síti~$S$ a~pro~ka¾dý tok~$g$ v~síti $R=(S,f)$ lze v~èase $\O(m)$ nalézt tok~$f'$ v~síti~$S$ takový, ¾e $\vert f' \vert = \vert f \vert + \vert g \vert$.
+
+\proof
+
+Dùkaz rozdìlíme do~tøí krokù. V~prvním kroku si~uká¾eme, jak budeme tok~$f'$ v~síti~$S$ konstruovat. V~druhém kroku doká¾eme, ¾e takto zkonstruované~$f'$ je opravdu tok. A~nakonec uká¾eme, ¾e splòuje po¾adovanou vlastnost, tedy ¾e jeho velikost je souèet velikostí tokù~$f$ a~$g$.
+
+\>{\it 1. konstrukce~$f'$}
+
+\noindent
+Pro ka¾dou dvojici hran~$e, \overleftarrow{e}$ urèíme~$f'(e)$ a~$f'(\overleftarrow{e})$ následovnì:
+
+\itemize\ibull
+\:Pokud~$g(e) = g(\overleftarrow{e}) = 0$, pak nastavme:
+       \itemize\ibull
+       \:$f'(e) := f(e)$,
+       \:$f'(\overleftarrow{e}) := f(\overleftarrow{e})$.
+       \endlist
+       
+\:Pokud~$g(e) > 0$ a~$g(\overleftarrow{e}) = 0$, pak polo¾me:
+       \itemize\ibull
+       \:$\varepsilon := \min (g(e), f(\overleftarrow{e}))$,
+       \:$f'(e) := f(e) + g(e) - \varepsilon$,
+       \:$f'(\overleftarrow{e}) := f(\overleftarrow{e}) - \varepsilon$.
+       \endlist
+
+\:Pøípad~$g(e) = 0$ a~$g(\overleftarrow{e}) > 0$ vyøe¹íme obdobnì.
+
+\:Pokud~$g(e) > 0$ a~$g(\overleftarrow{e}) > 0$, pak odeèteme od toku~$g$ cirkulaci po cyklu tvoøeném hranami~$e$ a $\overleftarrow{e}$:
+       \itemize\ibull
+       \:$\delta := \min (g(e),g(\overleftarrow{e}))$,
+       \:$g'(e) := g(e) - \delta$,
+       \:$g'(\overleftarrow{e}) := g(\overleftarrow{e}) - \delta$.     
+       \endlist
+
+       Tok $g'$ nyní spadá pod nìkterý z~pøedchozích pøípadù, které u¾ umíme vyøe¹it.
+       
+\endlist
+
+\>{\it 2. $f'$ je tok}
+
+\numlist{\ndotted}
+
+\:Nejdøíve ovìøme první podmínku: $\forall e \in E: 0 \leq f(e) \leq c(e)$. Vezmìme libovolnou hranu~$e \in E$. Podle toho, co teèe po~hranách~$e$ a~$\overleftarrow{e}$ v~toku~$g$, jsme rozdìlili konstrukci toku na~tøi pøípady:
+
+       \numlist{\ndotted}      
+       
+       \:Pokud po~hranách~$e$ a~$\overleftarrow{e}$ netekl ¾ádný tok~$g$, pak jsme nastavili $f'(e) := f(e)$ a~$f'(\overleftarrow{e}) := f(\overleftarrow{e})$. Tedy pokud~$f$ dodr¾oval kapacity, tak pro~$f'$ musí platit to samé.
+
+
+       \:Pokud po~hranì~$e$ tekl tok~$g$ nenulový a~po opaèné nulový, tak jsme zvolili: $f'(e) := f(e) + g(e) - \varepsilon$. Víme, ¾e jsme si~$\varepsilon$ vybrali tak, ¾e $\varepsilon \leq g(e)$. Proto $f'(e) \geq 0$.
+
+       Teï ovìøme, ¾e $f'(e) \leq c(e)$. V~pøípadì, ¾e $\varepsilon = g(e)$, tak $f'(e) = f(e) \leq c(e)$. V~opaèném pøípadì platí, ¾e $\varepsilon = f(\overleftarrow{e})$. Pak ov¹em
+       $$f'(e) = f(e) + g(e) - f(\overleftarrow{e}) \leq $$
+       $$\leq f(e) + \left[ c(e) - f(e) + f(\overleftarrow{e}) \right] - f(\overleftarrow{e}) = c(e).$$
+       Vyu¾ili jsme, ¾e~$g$ je tok v~síti rezerv, tedy $g(e) \leq  c(e) - f(e) + f(\overleftarrow{e})$.
+
+       Pro tok $f'(\overleftarrow{e})$ platí, ¾e $\varepsilon \leq f(\overleftarrow{e})$. Proto $f'(\overleftarrow{e}) = f(\overleftarrow{e}) - \varepsilon \geq 0$. Zároveò $f'(\overleftarrow{e}) \leq f(\overleftarrow{e}) \leq c(\overleftarrow{e})$.
+
+       Tím jsme dokázali, ¾e~$f'(e)$ i~$f'(\overleftarrow{e})$ dodr¾ují kapacity.
+
+       \:V posledním pøípadì tekl po~obou hranách kladný tok~$g$. Men¹í tok z~$g(e)$ a~$g(\overleftarrow{e})$ jsme vynulovali a~od vìt¹ího odeèetli ten men¹í. Tok~$g'(e)$ a~$g'(\overleftarrow{e})$ tedy zùstal korektní a~tok~$f'$ u¾ konstruujeme podle pøedchozího pøípadu.
+
+       \endlist
+
+\:Teï musíme je¹tì dokázat, ¾e nový tok neporu¹uje Kirchhoffovy zákony: $$\forall v~\in V \setminus \{z,s\}: f'^\Delta(v)=0.$$
+       % neboli $$\forall v~\in V \setminus \{z,s\}: \sum_{u: uv \in E}{f'(uv)}=\sum_{u: vu \in E}{f'(vu)}.$$
+
+       Vezmìme si~libovolnou hranu~$e = uv \in E$. Uvìdomme si, ¾e pøi~pøechodu z~$f(e)$ na~$f'(e)$ a~z~$f(\overleftarrow{e})$ na~$f'(\overleftarrow{e})$ bylo:
+       \itemize\idot
+       \:$f^\Delta(u)$ sní¾eno o~$g(e)$
+       \:$f^\Delta(v)$ zvý¹eno o~$g(e)$.
+       \endlist
+       Seèteme-li úpravy na v¹ech hranách, dostaneme: $$f'^\Delta(v) = f^\Delta(v) + \sum_{u:uv \in E} g(uv) - \sum_{u:vu \in E} g(vu) =$$ $$= f^\Delta(v) + g^+(v) - g^-(v) = f^\Delta(v) + g^\Delta(v).$$
+
+       Jeliko¾~$f$ byl tok, tak $f^\Delta(v) = 0$ a jeliko¾~$g$ byl tok, tak $g^\Delta(v) = 0$. Proto $f'^\Delta(v) = f^\Delta(v) + g^\Delta(v) = 0$.
+       
+\endlist
+
+Tím jsme dokázali, ¾e~$f'$ je tok v~síti~$S$.
+
+\>{\it 3. $\vert f' \vert = \vert f \vert + \vert g \vert$}
+
+Pou¾ijme vztah pro souèet pøebytkù z pøedchozího kroku:
+$$\vert f' \vert = f'^\Delta(s) = f^\Delta(s) + g^\Delta(s) = \vert f \vert + \vert g \vert.$$
+\qed
+
+
+Pro algoritmus budeme potøebovat vybírat kvalitní toky~$g$ v~síti rezerv. Pokud se~nám to bude daøit, bude se~tok~$f'$ rychle zvìt¹ovat, a¾ bychom mohli dojít k~maximálnímu toku. Nejlépe by se~nám hodily co nejvìt¹í toky v~síti rezerv. Kdybychom si~dali za cíl najít v¾dy maximální tok v~síti rezerv, výsledek by byl sice krásný (dostali bychom tak rovnou i~maximální tok v~pùvodní síti), ale problém hledání maximálního toku bychom pouze pøenesli na~jinou sí». Na¹e po¾adavky na~tento tok budou tedy takové, aby byl dostateènì velký, ale abychom bìhem jeho hledání nestrávili moc èasu. Podívejme se, jak se~s~tímto problémem vyrovná {\I Dinicùv algoritmus}. Nejdøíve si~ale zadefinujme nìkolik pojmù.
+
+\s{Definice:} Tok~$f$ je {\I blokující}, jestli¾e pro~ka¾dou orientovanou cestu~$P$ ze~$z$ do~$s$ existuje hrana~$e \in P$ taková, ¾e $f(e) = c(e)$.
+
+\s{Definice:} Sí» je {\I vrstevnatá (proèi¹tìná)}, kdy¾ v¹echny vrcholy a~hrany le¾í na~nejkrat¹ích cestách ze~$z$ do~$s$.
+
+Dinicùv algoritmus zaèíná s~nulovým tokem. Potom v¾dy podle toku~$f$ sestrojí sí» rezerv a~v~ní vyma¾e hrany s~nulovou rezervou. Pokud v~této promazané síti rezerv neexistuje cesta ze~zdroje do~stoku, tak skonèí a~prohlásí tok~$f$ za maximální. Jinak proèistí sí» rezerv tak, aby se~z ní stala vrstevnatá sí» (rozdìlí vrcholy do~vrstev podle vzdálenosti od zdroje a~odstraní pøebyteèné hrany). Ve~vrstevnaté síti najde blokující tok, pomocí nìho¾ zlep¹í tok~$f$. Pak opìt pokraèuje sestrojením sítì rezerv na~tomto vylep¹eném toku~$f$ atd.
+
+\figure{dinic-cistasit.eps}{Proèi¹tìná sí» rozdìlená do~vrstev}{0.4\hsize}
+
+\s{Algoritmus (Dinicùv)}
+
+\algo
+\:$f \leftarrow$ nulový tok.
+\:Sestrojíme sí» rezerv~$R$ a~sma¾eme $e: r(e) = 0$.
+\:$l \leftarrow$ délka nejkrat¹í cesty ze~$z$ do~$s$ v~$R$.
+\:Pokud $l = \infty$, zastavíme se~a vrátíme~$f$.
+\:Proèistíme sí» $R \rightarrow$ sí»~$C$.
+\:$g \leftarrow$ blokující tok v~$C$.
+\:Zlep¹íme tok~$f$ pomocí~$g$.
+\:GOTO 2.
+\endalgo
+
+\s{Pozorování:} Pokud se~algoritmus zastaví, vydá maximální tok.
+
+\proof
+Víme, ¾e~$f$ je stále korektní tok (jediné, jak ho mìníme je pøièítání toku~$g$, co¾ je, jak jsme si~dokázali, \uv{ne¹kodná operace}). Jakmile neexistuje cesta ze~$z$ do~$s$ v~$R$, tak je $f$ maximální tok, nebo» v~tuto dobu by se~zastavil (a vydal maximální tok) i~Fordùv-Fulkersonùv algoritmus, který je korektní.
+\qed
+
+A teï je¹tì musíme ujasnit, jak budeme èistit sí» rezerv a~vybírat blokující tok~$g$.
+
+\s{Algoritmus proèi¹tìní sítì rezerv}
+
+\algo
+\:Rozdìlíme vrcholy do~vrstev podle vzdálenosti od~$z$.
+\:Odstraníme vrstvy za~$s$ (tedy vrcholy, které jsou od~$z$ vzdálenìj¹í ne¾~$s$), hrany do~minulých vrstev a~hrany uvnitø vrstev.
+\:Odstraníme \uv{slepé ulièky}, tedy vrcholy s~$\deg^{out}(v) = 0$, a~to opakovanì pomocí fronty. (Nejdøíve zaøadíme do~fronty v¹echny vrcholy s~ $\deg^{out}(v) = 0$. Pak dokud není fronta prázdná, v¾dy vybereme vrchol~$v$ z~fronty, odstraníme~$v$ a~v¹echny hrany~$uv$. Pro~ka¾dý takový vrchol~$u$ zkontrolujeme, zda se~tím nesní¾il výstupní stupeò vrcholu~$u$ na~nulu ($\deg^{out}(u) = 0$). Pokud sní¾il, tak ho zaøadíme do~fronty.)
+\endalgo
+
+\figure{dinic-neprocistenasit.eps}{Neproèi¹tìná sí». Obsahuje zpìtné hrany, hrany uvnitø vrstvy a~slepé ulièky.}{0.45\hsize}
+
+Hledání blokujícího toku zaèneme s~tokem nulovým. Pak vezmeme v¾dy orientovanou cestu ze~zdroje do~stoku v~síti~$C$. V~této cestì najdeme hranu s~nejni¾¹í hodnotou výrazu $r(e) - g(e)$ (neboli $c(e) - f(e)$ v~pùvodní síti). Tuto hodnotu oznaèíme~$\varepsilon$. Pak ke~ v¹em hranám na~této cestì pøièteme~$\varepsilon$. Pokud tok~$g$ na~nìjaké hranì dosáhne kapacity hrany, co¾ je zde~$r(e)$, tak hranu vyma¾eme. Následnì sí» doèistíme, aby splòovala podmínky vrstevnaté sítì. A~pokud je¹tì existuje nìjaká orientovaná cesta ze~zdroje do~stoku, tak opìt pokraèujeme s~touto cestou.
+
+\s{Algoritmus hledání blokujícího toku}
+
+\algo
+\:$g \leftarrow$ nulový tok.
+\:Dokud existuje orientovaná cesta~$P$ ze~$z$ do~$s$ v~$C$, opakuj:
+\::$\varepsilon \leftarrow \min_{e \in P} (r(e) - g(e))$.
+\::Pro~$\forall e \in P: g(e) \leftarrow g(e) + \varepsilon$.
+\:::Pokud $g(e) = r(e)$, sma¾eme~$e$ z~$C$.
+\::Doèistíme sí» zase pomocí fronty.
+\endalgo
+
+\s{Èasová slo¾itost} Rozeberme si~jednotlivé kroky algoritmu.
+
+\numlist{\ndotted}
+\:Inicializace toku~$f$ \dots $\O(m)$.
+\:Sestrojení sítì rezerv a~smazání hran s~nulovou rezervou \dots $\O(m + n)$.
+\:Najití nejkrat¹í cesty (prohledáváním do~¹íøky) \dots $\O(m + n)$.
+\:Zkontrolování délky nejkrat¹í cesty \dots $\O(1)$.
+\:Proèi¹tìní sítì \dots $\O(m + n)$.
+       \numlist{\ndotted}
+       \:Rozdìlení vrcholù do~vrstev -- provedlo ji¾ prohledávání do~¹íøky \dots $\O(1)$.
+       \:Odstranìní nìkterých hran \dots $\O(m + n)$.
+       \:Odstranìní \uv{slepých ulièek} pomocí fronty -- ka¾dou hranu odstraníme nejvý¹e jedenkrát, ka¾dý vrchol se~dostane do~fronty nejvý¹e jedenkrát \dots $\O(m + n)$.
+       \endlist
+\:Najití blokujícího toku~$g$ \dots $\O(m \cdot n)$.
+       \numlist{\ndotted}
+       \:Inicializace toku~$g$ \dots $\O(m)$.
+       \:Najití orientované cesty v~proèi¹tìné síti rezerv (staèí vzít libovolnou cestu ze~zdroje, nebo» ka¾dá z~nich v~této síti vede do~stoku) \dots $\O(n)$.
+       \:Výbìr minima z~výrazu $r(e) - g(e)$ pøes v¹echny hrany cesty -- ta mù¾e být dlouhá nejvý¹e~$n$ \dots $\O(n)$.
+       \:Pøepoèítání v¹ech hran cesty \dots $\O(n)$.
+       \:Smazání hran cesty, jejich¾ tok~$g(e)$ se~zvý¹il na~hodnotu~$r(e)$ \dots $\O(n)$.
+       \:Doèi¹»ování vyøe¹me zvlá¹».
+       \endlist
+       
+       Vnitøní cyklus (kroky 2 a¾ 6) provedeme nejvý¹e~$m$ krát, nebo» pøi~ka¾dém prùchodu vyma¾eme alespoò jednu hranu (tak jsme si~volili~$\varepsilon$).
+       
+       Èi¹tìní bìhem celého hledání blokujícího toku~$g$ v~proèi¹tìné síti rezerv trvá dohromady $\O(m + n)$, nebo» ka¾dou hranu a~vrchol sma¾eme nejvý¹e jedenkrát.
+       
+       Najití blokujícího toku bude tedy trvat $\O(m \cdot n + (m + n)) = \O(m \cdot n)$.
+       
+\:Zlep¹ení toku~$f$ pomocí toku~$g$ \dots $\O(m)$.
+\:Skok na~2. krok \dots $\O(1)$.
+\endlist
+
+Zbývá nám jen urèit, kolikrát projdeme vnìj¹ím cyklem (fází). Doká¾eme si~lemma, ¾e hodnota~$l$ vzroste mezi prùchody vnìj¹ím cyklem (fázemi) alespoò o~1. Z~toho plyne, ¾e vnìj¹ím cyklem mù¾eme projít nejvý¹e $n$-krát, nebo» cesta v síti na~$n$ vrcholech mù¾e být dlouhá nejvý¹e $n$.
+
+Uvìdomme si, ¾e uvnitø vnìj¹ího cyklu pøevládá èlen $\O(m \cdot n)$, tak¾e celková èasová slo¾itost bude $\O(n^2 \cdot m)$.
+
+\s{Lemma:} Hodnota~$l$ (délka nejkrat¹í cesty ze~$z$ do~$s$ v~proèi¹tìné síti) vzroste mezi fázemi alespoò o~1.
+
+\proof
+
+Podíváme se~na~prùbìh jednoho prùchodu vnìj¹ím cyklem. Délku aktuálnì nejkrat¹í cesty ze~zdroje do~stoku oznaème~$l$. V¹echny pùvodní cesty délky~$l$ se~bìhem prùchodu zaruèenì nasytí, proto¾e tok~$g$ 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, tak v~protismìru z~dosud nulové rezervy vyrobíme nenulovou. Rozmysleme si~tedy, jaké hrany mohou pøibývat.
+
+Hrany mohou pøibývat jen tehdy, kdy¾ jsme po~opaèné hranì nìco poslali. Ale my nìco posíláme po~hranách pouze z~vrstvy do~té následující. Hrany tedy pøibývají do~minulé vrstvy.
+
+Vznikem nových hran by proto mohly vzniknout nové cesty ze~zdroje do~stoku, které pou¾ívají zpìtné hrany. Jen¾e cesta ze~zdroje do~stoku, 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í délka alespoò $l+2$. Pokud cesta novou zpìtnou hranu nepou¾ije, má buï délku~$> l$, co¾ je v~poøádku, nebo má délku~$= l$, pak je zablokovaná.
+
+Tím je lemma dokázáno.
+\qed
+
+\figure{dinic-cestashranouzpet.eps}{Cesta u¾ívající novou zpìtnou hranu}{0.4\hsize}
+
+V¹echna dokázaná tvrzení mù¾eme shrnout do~následující vìty:
+
+\s{Vìta:} Dinicùv algoritmus najde maximální tok v~èase $\O(n^2\cdot m)$.
+
+\s{Poznámka:} Algoritmus se~chová hezky na~sítích s~malými celoèíselnými kapacitami, ale kupodivu i~na~rùzných jiných sítích. Èasto se~pou¾ívá, nebo» se~chová efektivnì. A~je mnoho zpùsobù, jak ho je¹tì vylep¹ovat, èi odhadovat ni¾¹í slo¾itost na~speciálních sítích.
+
+\s{Poznámka:} Algoritmus nevy¾aduje racionální kapacity! Dal¹í z~dùvodù, proè maximální tok existuje i~v~síti s~iracionálními kapacitami.
+
+
+%k,s,v,na,do,ke,pro,pøi,a,u,i,po,
+
+\bye
diff --git a/3-dinic/Makefile b/3-dinic/Makefile
new file mode 100644 (file)
index 0000000..fc07c0a
--- /dev/null
@@ -0,0 +1,3 @@
+P=3-dinic
+
+include ../Makerules
diff --git a/3-dinic/dinic-cestashranouzpet.eps b/3-dinic/dinic-cestashranouzpet.eps
new file mode 100644 (file)
index 0000000..5633e61
--- /dev/null
@@ -0,0 +1,472 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
+%%Creator: Dia v0.96.1
+%%CreationDate: Tue Feb  9 16:36:37 2010
+%%For: mj
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 546 219
+%%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
+/Times-Roman-latin1
+    /Times-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Italic-latin1
+    /Times-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Bold-latin1
+    /Times-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-BoldItalic-latin1
+    /Times-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Book-latin1
+    /AvantGarde-Book findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-BookOblique-latin1
+    /AvantGarde-BookOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Demi-latin1
+    /AvantGarde-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-DemiOblique-latin1
+    /AvantGarde-DemiOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Light-latin1
+    /Bookman-Light findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-LightItalic-latin1
+    /Bookman-LightItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Demi-latin1
+    /Bookman-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-DemiItalic-latin1
+    /Bookman-DemiItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-latin1
+    /Courier findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Oblique-latin1
+    /Courier-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Bold-latin1
+    /Courier-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-BoldOblique-latin1
+    /Courier-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-latin1
+    /Helvetica findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Oblique-latin1
+    /Helvetica-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Bold-latin1
+    /Helvetica-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-BoldOblique-latin1
+    /Helvetica-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-latin1
+    /Helvetica-Narrow findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Oblique-latin1
+    /Helvetica-Narrow-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Bold-latin1
+    /Helvetica-Narrow-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-BoldOblique-latin1
+    /Helvetica-Narrow-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Roman-latin1
+    /NewCenturySchoolbook-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Italic-latin1
+    /NewCenturySchoolbook-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Bold-latin1
+    /NewCenturySchoolbook-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-BoldItalic-latin1
+    /NewCenturySchoolbook-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Roman-latin1
+    /Palatino-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Italic-latin1
+    /Palatino-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Bold-latin1
+    /Palatino-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-BoldItalic-latin1
+    /Palatino-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Symbol-latin1
+    /Symbol findfont
+definefont pop
+/ZapfChancery-MediumItalic-latin1
+    /ZapfChancery-MediumItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/ZapfDingbats-latin1
+    /ZapfDingbats findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+28.346000 -28.346000 scale
+-7.290000 -11.178600 translate
+%%EndProlog
+
+
+1.000000 1.000000 1.000000 srgb
+n 11.652500 7.185000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 11.652500 7.185000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 15.252460 7.249000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 15.252460 7.249000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 18.771560 7.478600 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 18.771560 7.478600 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 22.370460 7.317000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 22.370460 7.317000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 7.877500 7.085000 0.462500 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 7.877500 7.085000 0.462500 0.450000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 25.787460 7.445000 0.450000 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 25.787460 7.445000 0.450000 0.450000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 8.340000 7.085000 m 11.040795 7.118892 l s
+[] 0 sd
+0 slj
+0 slc
+n 11.415765 7.123597 m 10.912668 7.367304 l 11.040795 7.118892 l 10.918942 6.867343 l ef
+n 11.415765 7.123597 m 10.912668 7.367304 l 11.040795 7.118892 l 10.918942 6.867343 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 11.987560 7.286600 m 15.086792 9.089790 l s
+[] 0 sd
+0 slj
+0 slc
+n 15.410923 9.278375 m 14.853025 9.243015 l 15.086792 9.089790 l 15.104472 8.810841 l ef
+n 15.410923 9.278375 m 14.853025 9.243015 l 15.086792 9.089790 l 15.104472 8.810841 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 18.771560 4.982600 m 21.845998 7.007260 l s
+[] 0 sd
+0 slj
+0 slc
+n 22.159185 7.213509 m 21.604103 7.147302 l 21.845998 7.007260 l 21.879101 6.729719 l ef
+n 22.159185 7.213509 m 21.604103 7.147302 l 21.845998 7.007260 l 21.879101 6.729719 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 22.803560 7.414600 m 24.850692 7.439160 l s
+[] 0 sd
+0 slj
+0 slc
+n 25.225665 7.443659 m 24.722702 7.687643 l 24.850692 7.439160 l 24.728700 7.187679 l ef
+n 25.225665 7.443659 m 24.722702 7.687643 l 24.850692 7.439160 l 24.728700 7.187679 l cp s
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(z) 7.290000 8.902500 m 
+dup sw 0.765000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(s) 25.729960 9.167500 m 
+dup sw 0.760000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0.972549 0.109804 0.031373 srgb
+n 18.414886 4.094968 3.290935 3.290935 86.872036 148.854720 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 15.422761 5.469720 m 15.846546 5.834283 l 15.567663 5.815593 l 15.385381 6.027485 l ef
+n 15.422761 5.469720 m 15.846546 5.834283 l 15.567663 5.815593 l 15.385381 6.027485 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0.000000 0.000000 0.000000 srgb
+n 15.678360 9.377300 m 18.225607 7.856185 l s
+[] 0 sd
+0 slj
+0 slc
+n 18.547569 7.663922 m 18.246462 8.134914 l 18.225607 7.856185 l 17.990111 7.705631 l ef
+n 18.547569 7.663922 m 18.246462 8.134914 l 18.225607 7.856185 l 17.990111 7.705631 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 15.315560 5.110600 m 18.092757 5.110600 l s
+[] 0 sd
+0 slj
+0 slc
+n 18.467757 5.110600 m 17.967757 5.360600 l 18.092757 5.110600 l 17.967757 4.860600 l ef
+n 18.467757 5.110600 m 17.967757 5.360600 l 18.092757 5.110600 l 17.967757 4.860600 l cp s
+showpage
diff --git a/3-dinic/dinic-cistasit.eps b/3-dinic/dinic-cistasit.eps
new file mode 100644 (file)
index 0000000..6b49ffb
--- /dev/null
@@ -0,0 +1,560 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
+%%Creator: Dia v0.96.1
+%%CreationDate: Tue Feb  9 16:33:50 2010
+%%For: mj
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 545 213
+%%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
+/Times-Roman-latin1
+    /Times-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Italic-latin1
+    /Times-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Bold-latin1
+    /Times-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-BoldItalic-latin1
+    /Times-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Book-latin1
+    /AvantGarde-Book findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-BookOblique-latin1
+    /AvantGarde-BookOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Demi-latin1
+    /AvantGarde-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-DemiOblique-latin1
+    /AvantGarde-DemiOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Light-latin1
+    /Bookman-Light findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-LightItalic-latin1
+    /Bookman-LightItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Demi-latin1
+    /Bookman-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-DemiItalic-latin1
+    /Bookman-DemiItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-latin1
+    /Courier findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Oblique-latin1
+    /Courier-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Bold-latin1
+    /Courier-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-BoldOblique-latin1
+    /Courier-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-latin1
+    /Helvetica findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Oblique-latin1
+    /Helvetica-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Bold-latin1
+    /Helvetica-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-BoldOblique-latin1
+    /Helvetica-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-latin1
+    /Helvetica-Narrow findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Oblique-latin1
+    /Helvetica-Narrow-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Bold-latin1
+    /Helvetica-Narrow-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-BoldOblique-latin1
+    /Helvetica-Narrow-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Roman-latin1
+    /NewCenturySchoolbook-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Italic-latin1
+    /NewCenturySchoolbook-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Bold-latin1
+    /NewCenturySchoolbook-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-BoldItalic-latin1
+    /NewCenturySchoolbook-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Roman-latin1
+    /Palatino-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Italic-latin1
+    /Palatino-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Bold-latin1
+    /Palatino-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-BoldItalic-latin1
+    /Palatino-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Symbol-latin1
+    /Symbol findfont
+definefont pop
+/ZapfChancery-MediumItalic-latin1
+    /ZapfChancery-MediumItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/ZapfDingbats-latin1
+    /ZapfDingbats findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+28.346000 -28.346000 scale
+-2.575000 -8.985000 translate
+%%EndProlog
+
+
+1.000000 1.000000 1.000000 srgb
+n 6.937500 5.185000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 6.937500 5.185000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 10.601500 5.185000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 10.601500 5.185000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 13.937500 5.285000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 13.937500 5.285000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 17.847500 5.253000 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 17.847500 5.253000 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 3.162500 5.085000 0.462500 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 3.162500 5.085000 0.462500 0.450000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 21.072500 5.253000 0.450000 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 21.072500 5.253000 0.450000 0.450000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 3.489540 4.766800 m 6.396661 3.113188 l s
+[] 0 sd
+0 slj
+0 slc
+n 6.722618 2.927778 m 6.411614 3.392296 l 6.396661 3.113188 l 6.164402 2.957686 l ef
+n 6.722618 2.927778 m 6.411614 3.392296 l 6.396661 3.113188 l 6.164402 2.957686 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 3.489540 5.403200 m 6.168927 6.886701 l s
+[] 0 sd
+0 slj
+0 slc
+n 6.496998 7.068344 m 5.938474 7.044867 l 6.168927 6.886701 l 6.180666 6.607439 l ef
+n 6.496998 7.068344 m 5.938474 7.044867 l 6.168927 6.886701 l 6.180666 6.607439 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 3.625000 5.085000 m 6.350756 5.042576 l s
+[] 0 sd
+0 slj
+0 slc
+n 6.725710 5.036740 m 6.229661 5.294491 l 6.350756 5.042576 l 6.221880 4.794551 l ef
+n 6.725710 5.036740 m 6.229661 5.294491 l 6.350756 5.042576 l 6.221880 4.794551 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.609300 2.604060 m 10.247491 7.175862 l s
+[] 0 sd
+0 slj
+0 slc
+n 10.434920 7.500663 m 9.968481 7.192548 l 10.247491 7.175862 l 10.401549 6.942643 l ef
+n 10.434920 7.500663 m 9.968481 7.192548 l 10.247491 7.175862 l 10.401549 6.942643 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.887500 5.185000 m 9.970456 3.115597 l s
+[] 0 sd
+0 slj
+0 slc
+n 10.236485 2.851298 m 10.057979 3.381049 l 9.970456 3.115597 l 9.705581 3.026343 l ef
+n 10.236485 2.851298 m 10.057979 3.381049 l 9.970456 3.115597 l 9.705581 3.026343 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 7.590800 7.722500 m 10.136041 5.330852 l s
+[] 0 sd
+0 slj
+0 slc
+n 10.409323 5.074060 m 10.216141 5.598637 l 10.136041 5.330852 l 9.873752 5.234260 l ef
+n 10.409323 5.074060 m 10.216141 5.598637 l 10.136041 5.330852 l 9.873752 5.234260 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 11.273300 2.604060 m 13.641249 5.047893 l s
+[] 0 sd
+0 slj
+0 slc
+n 13.902200 5.317206 m 13.374723 5.132089 l 13.641249 5.047893 l 13.733807 4.784155 l ef
+n 13.902200 5.317206 m 13.374723 5.132089 l 13.641249 5.047893 l 13.733807 4.784155 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 11.273300 7.765900 m 13.385798 7.771264 l s
+[] 0 sd
+0 slj
+0 slc
+n 13.760797 7.772216 m 13.260164 8.020946 l 13.385798 7.771264 l 13.261433 7.520947 l ef
+n 13.760797 7.772216 m 13.260164 8.020946 l 13.385798 7.771264 l 13.261433 7.520947 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 11.551500 5.185000 m 13.559606 3.190546 l s
+[] 0 sd
+0 slj
+0 slc
+n 13.825674 2.926287 m 13.647089 3.456011 l 13.559606 3.190546 l 13.294744 3.101254 l ef
+n 13.825674 2.926287 m 13.647089 3.456011 l 13.559606 3.190546 l 13.294744 3.101254 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 14.609300 2.704060 m 17.260798 2.698518 l s
+[] 0 sd
+0 slj
+0 slc
+n 17.635797 2.697734 m 17.136321 2.948778 l 17.260798 2.698518 l 17.135275 2.448779 l ef
+n 17.635797 2.697734 m 17.136321 2.948778 l 17.260798 2.698518 l 17.135275 2.448779 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 14.887500 5.285000 m 17.085844 5.315702 l s
+[] 0 sd
+0 slj
+0 slc
+n 17.460808 5.320939 m 16.957365 5.563932 l 17.085844 5.315702 l 16.964347 5.063981 l ef
+n 17.460808 5.320939 m 16.957365 5.563932 l 17.085844 5.315702 l 16.964347 5.063981 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 14.609300 7.865900 m 17.460804 7.850183 l s
+[] 0 sd
+0 slj
+0 slc
+n 17.835798 7.848116 m 17.337184 8.100868 l 17.460804 7.850183 l 17.334428 7.600876 l ef
+n 17.835798 7.848116 m 17.337184 8.100868 l 17.460804 7.850183 l 17.334428 7.600876 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 18.519300 2.672060 m 20.412208 4.588462 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.675732 4.855257 m 20.146502 4.675213 l 20.412208 4.588462 l 20.502230 4.323847 l ef
+n 20.675732 4.855257 m 20.146502 4.675213 l 20.412208 4.588462 l 20.502230 4.323847 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 18.797500 5.253000 m 20.135697 5.253000 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.510697 5.253000 m 20.010697 5.503000 l 20.135697 5.253000 l 20.010697 5.003000 l ef
+n 20.510697 5.253000 m 20.010697 5.503000 l 20.135697 5.253000 l 20.010697 5.003000 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 18.519300 7.833900 m 20.412204 5.917535 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.675731 5.650742 m 20.502224 6.182151 l 20.412204 5.917535 l 20.146500 5.830782 l ef
+n 20.675731 5.650742 m 20.502224 6.182151 l 20.412204 5.917535 l 20.146500 5.830782 l cp s
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(z) 2.575000 6.902500 m 
+dup sw 0.765000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(s) 21.015000 7.167500 m 
+dup sw 0.760000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 14.609300 7.865900 m 17.159091 5.940822 l s
+[] 0 sd
+0 slj
+0 slc
+n 17.458372 5.714867 m 17.209967 6.215662 l 17.159091 5.940822 l 16.908693 5.816620 l ef
+n 17.458372 5.714867 m 17.209967 6.215662 l 17.159091 5.940822 l 16.908693 5.816620 l cp s
+showpage
diff --git a/3-dinic/dinic-neprocistenasit.eps b/3-dinic/dinic-neprocistenasit.eps
new file mode 100644 (file)
index 0000000..c36618f
--- /dev/null
@@ -0,0 +1,664 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
+%%Creator: Dia v0.96.1
+%%CreationDate: Tue Feb  9 16:35:33 2010
+%%For: mj
+%%Orientation: Portrait
+%%Magnification: 1.0000
+%%BoundingBox: 0 0 645 410
+%%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
+/Times-Roman-latin1
+    /Times-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Italic-latin1
+    /Times-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-Bold-latin1
+    /Times-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Times-BoldItalic-latin1
+    /Times-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Book-latin1
+    /AvantGarde-Book findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-BookOblique-latin1
+    /AvantGarde-BookOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-Demi-latin1
+    /AvantGarde-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/AvantGarde-DemiOblique-latin1
+    /AvantGarde-DemiOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Light-latin1
+    /Bookman-Light findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-LightItalic-latin1
+    /Bookman-LightItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-Demi-latin1
+    /Bookman-Demi findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Bookman-DemiItalic-latin1
+    /Bookman-DemiItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-latin1
+    /Courier findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Oblique-latin1
+    /Courier-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-Bold-latin1
+    /Courier-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Courier-BoldOblique-latin1
+    /Courier-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-latin1
+    /Helvetica findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Oblique-latin1
+    /Helvetica-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Bold-latin1
+    /Helvetica-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-BoldOblique-latin1
+    /Helvetica-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-latin1
+    /Helvetica-Narrow findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Oblique-latin1
+    /Helvetica-Narrow-Oblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-Bold-latin1
+    /Helvetica-Narrow-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Helvetica-Narrow-BoldOblique-latin1
+    /Helvetica-Narrow-BoldOblique findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Roman-latin1
+    /NewCenturySchoolbook-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Italic-latin1
+    /NewCenturySchoolbook-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-Bold-latin1
+    /NewCenturySchoolbook-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/NewCenturySchoolbook-BoldItalic-latin1
+    /NewCenturySchoolbook-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Roman-latin1
+    /Palatino-Roman findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Italic-latin1
+    /Palatino-Italic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-Bold-latin1
+    /Palatino-Bold findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Palatino-BoldItalic-latin1
+    /Palatino-BoldItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/Symbol-latin1
+    /Symbol findfont
+definefont pop
+/ZapfChancery-MediumItalic-latin1
+    /ZapfChancery-MediumItalic findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+/ZapfDingbats-latin1
+    /ZapfDingbats findfont
+    dup length dict begin
+       {1 index /FID ne {def} {pop pop} ifelse} forall
+       /Encoding isolatin1encoding def
+    currentdict end
+definefont pop
+28.346000 -28.346000 scale
+-5.150000 -17.404488 translate
+%%EndProlog
+
+
+1.000000 1.000000 1.000000 srgb
+n 9.512500 8.242302 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 9.512500 8.242302 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 13.112500 8.242302 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 13.112500 8.242302 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 16.512500 8.342302 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 16.512500 8.342302 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 20.358500 8.438302 0.950000 3.650000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 20.358500 8.438302 0.950000 3.650000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 5.737500 8.142302 0.462500 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 5.737500 8.142302 0.462500 0.450000 0 360 ellipse cp s
+1.000000 1.000000 1.000000 srgb
+n 23.647500 8.438302 0.450000 0.450000 0 360 ellipse f
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0.000000 0.000000 0.000000 srgb
+n 23.647500 8.438302 0.450000 0.450000 0 360 ellipse cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 6.064540 7.824102 m 8.971670 6.170489 l s
+[] 0 sd
+0 slj
+0 slc
+n 9.297628 5.985080 m 8.986624 6.449598 l 8.971670 6.170489 l 8.739412 6.014987 l ef
+n 9.297628 5.985080 m 8.986624 6.449598 l 8.971670 6.170489 l 8.739412 6.014987 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 6.064540 8.460502 m 8.743927 9.944003 l s
+[] 0 sd
+0 slj
+0 slc
+n 9.071998 10.125647 m 8.513474 10.102169 l 8.743927 9.944003 l 8.755666 9.664741 l ef
+n 9.071998 10.125647 m 8.513474 10.102169 l 8.743927 9.944003 l 8.755666 9.664741 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 6.200000 8.142302 m 8.788224 8.169824 l s
+[] 0 sd
+0 slj
+0 slc
+n 9.163203 8.173811 m 8.660573 8.418481 l 8.788224 8.169824 l 8.665889 7.918509 l ef
+n 9.163203 8.173811 m 8.660573 8.418481 l 8.788224 8.169824 l 8.665889 7.918509 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 10.184300 5.661402 m 12.822490 10.233165 l s
+[] 0 sd
+0 slj
+0 slc
+n 13.009919 10.557966 m 12.543480 10.249852 l 12.822490 10.233165 l 12.976546 9.999946 l ef
+n 13.009919 10.557966 m 12.543480 10.249852 l 12.822490 10.233165 l 12.976546 9.999946 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 10.462500 8.242302 m 12.545456 6.172899 l s
+[] 0 sd
+0 slj
+0 slc
+n 12.811485 5.908601 m 12.632979 6.438351 l 12.545456 6.172899 l 12.280581 6.083645 l ef
+n 12.811485 5.908601 m 12.632979 6.438351 l 12.545456 6.172899 l 12.280581 6.083645 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 10.184300 10.823202 m 12.714758 8.392066 l s
+[] 0 sd
+0 slj
+0 slc
+n 12.985177 8.132261 m 12.797821 8.658947 l 12.714758 8.392066 l 12.451415 8.298388 l ef
+n 12.985177 8.132261 m 12.797821 8.658947 l 12.714758 8.392066 l 12.451415 8.298388 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 13.784300 5.661402 m 16.077366 7.909225 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.345159 8.171735 m 15.813094 8.000250 l 16.077366 7.909225 l 16.163108 7.643192 l ef
+n 16.345159 8.171735 m 15.813094 8.000250 l 16.077366 7.909225 l 16.163108 7.643192 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 13.784300 10.823202 m 15.960798 10.828596 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.335797 10.829525 m 15.835179 11.078285 l 15.960798 10.828596 l 15.836418 10.578287 l ef
+n 16.335797 10.829525 m 15.835179 11.078285 l 15.960798 10.828596 l 15.836418 10.578287 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 14.062500 8.242302 m 16.130036 6.243185 l s
+[] 0 sd
+0 slj
+0 slc
+n 16.399624 5.982518 m 16.213951 6.509799 l 16.130036 6.243185 l 15.866396 6.150349 l ef
+n 16.399624 5.982518 m 16.213951 6.509799 l 16.130036 6.243185 l 15.866396 6.150349 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 17.184300 5.761402 m 19.835798 5.755826 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.210797 5.755037 m 19.711324 6.006088 l 19.835798 5.755826 l 19.710272 5.506089 l ef
+n 20.210797 5.755037 m 19.711324 6.006088 l 19.835798 5.755826 l 19.710272 5.506089 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 17.462500 8.342302 m 19.660844 8.373004 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.035808 8.378241 m 19.532365 8.621234 l 19.660844 8.373004 l 19.539347 8.121283 l ef
+n 20.035808 8.378241 m 19.532365 8.621234 l 19.660844 8.373004 l 19.539347 8.121283 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 17.184300 10.923202 m 20.035804 10.907485 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.410798 10.905418 m 19.912184 11.158170 l 20.035804 10.907485 l 19.909428 10.658178 l ef
+n 20.410798 10.905418 m 19.912184 11.158170 l 20.035804 10.907485 l 19.909428 10.658178 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 21.030300 5.857402 m 22.982350 7.778630 l s
+[] 0 sd
+0 slj
+0 slc
+n 23.249616 8.041677 m 22.717897 7.869126 l 22.982350 7.778630 l 23.068625 7.512770 l ef
+n 23.249616 8.041677 m 22.717897 7.869126 l 22.982350 7.778630 l 23.068625 7.512770 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 21.308500 8.438302 m 22.710697 8.438302 l s
+[] 0 sd
+0 slj
+0 slc
+n 23.085697 8.438302 m 22.585697 8.688302 l 22.710697 8.438302 l 22.585697 8.188302 l ef
+n 23.085697 8.438302 m 22.585697 8.688302 l 22.710697 8.438302 l 22.585697 8.188302 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 21.030300 11.019202 m 22.982350 9.097974 l s
+[] 0 sd
+0 slj
+0 slc
+n 23.249616 8.834928 m 23.068625 9.363834 l 22.982350 9.097974 l 22.717897 9.007479 l ef
+n 23.249616 8.834928 m 23.068625 9.363834 l 22.982350 9.097974 l 22.717897 9.007479 l cp s
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(z) 5.150000 9.959802 m 
+dup sw 0.765000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+/Helvetica-Oblique-latin1 ff 1.400000 scf sf
+(s) 23.590000 10.224802 m 
+dup sw 0.760000 exch sub 
+1 div exch 0.0 exch 
+ gs 1 -1 sc ashow gr
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 17.184300 10.923202 m 19.734091 8.998125 l s
+[] 0 sd
+0 slj
+0 slc
+n 20.033372 8.772169 m 19.784967 9.272964 l 19.734091 8.998125 l 19.483693 8.873922 l ef
+n 20.033372 8.772169 m 19.784967 9.272964 l 19.734091 8.998125 l 19.483693 8.873922 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+1.000000 0.000000 0.000000 srgb
+n 11.539858 6.316175 2.333440 2.333440 217.422911 312.373346 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 9.484547 5.205707 m 9.475511 4.646763 l 9.646808 4.867630 l 9.926280 4.863112 l ef
+n 9.484547 5.205707 m 9.475511 4.646763 l 9.646808 4.867630 l 9.926280 4.863112 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0.972549 0.109804 0.031373 srgb
+n 17.005378 7.083310 4.063310 4.063310 207.841522 325.610736 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 13.252285 5.522132 m 13.198168 4.965740 l 13.386732 5.172062 l 13.664928 5.145004 l ef
+n 13.252285 5.522132 m 13.198168 4.965740 l 13.386732 5.172062 l 13.664928 5.145004 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 13.256279 9.100346 4.355042 4.355042 41.609332 148.656298 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 9.355359 11.039859 m 9.793037 11.387620 l 9.513638 11.379819 l 9.339757 11.598658 l ef
+n 9.355359 11.039859 m 9.793037 11.387620 l 9.513638 11.379819 l 9.339757 11.598658 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+0.000000 0.000000 1.000000 srgb
+n 11.763949 8.334560 5.357216 5.357216 343.224324 23.730619 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 16.774024 6.434188 m 17.192915 6.804364 l 16.914306 6.781961 l 16.729218 6.991407 l ef
+n 16.774024 6.434188 m 17.192915 6.804364 l 16.914306 6.781961 l 16.729218 6.991407 l cp s
+0.100000 slw
+[] 0 sd
+[] 0 sd
+0 slc
+n 13.138491 7.971628 7.626180 7.626180 345.098560 14.618392 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 20.415251 10.256335 m 20.334609 9.703165 l 20.532817 9.900241 l 20.809402 9.859920 l ef
+n 20.415251 10.256335 m 20.334609 9.703165 l 20.532817 9.900241 l 20.809402 9.859920 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+1.000000 0.000000 0.000000 srgb
+n 20.703467 8.975611 5.020448 5.020448 75.445526 143.491284 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 22.323201 13.728911 m 21.939518 14.135466 l 21.971025 13.857739 l 21.767747 13.665898 l ef
+n 22.323201 13.728911 m 21.939518 14.135466 l 21.971025 13.857739 l 21.767747 13.665898 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 23.188848 18.352655 4.578076 4.578076 262.056833 336.148005 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 27.514055 16.848040 m 27.123298 16.448279 l 27.399529 16.490957 l 27.599410 16.295578 l ef
+n 27.514055 16.848040 m 27.123298 16.448279 l 27.399529 16.490957 l 27.599410 16.295578 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 25.490713 14.655810 3.089205 3.089205 198.208619 307.778616 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 27.663571 12.457090 m 27.138832 12.264348 l 27.406550 12.184023 l 27.502921 11.921654 l ef
+n 27.663571 12.457090 m 27.138832 12.264348 l 27.406550 12.184023 l 27.502921 11.921654 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 23.268127 9.217889 5.299733 5.299733 236.700611 292.751852 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 25.657483 4.486014 m 25.098642 4.472015 l 25.326378 4.309962 l 25.333377 4.030541 l ef
+n 25.657483 4.486014 m 25.098642 4.472015 l 25.326378 4.309962 l 25.333377 4.030541 l cp s
+0.100000 slw
+[0.200000] 0 sd
+[0.200000] 0 sd
+0 slc
+n 22.849330 -18.031552 23.958110 23.958110 83.114410 94.354399 ellipse s
+[] 0 sd
+0 slj
+0 slc
+n 26.093498 5.706158 m 25.633432 6.023710 l 25.722193 5.758670 l 25.563417 5.528637 l ef
+n 26.093498 5.706158 m 25.633432 6.023710 l 25.722193 5.758670 l 25.563417 5.528637 l cp s
+showpage
diff --git a/old/2-dinic/2-dinic.tex b/old/2-dinic/2-dinic.tex
deleted file mode 100644 (file)
index 244427c..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-\input lecnotes.tex
-
-\prednaska{2}{Dinicùv algoritmus}{(zapsala Markéta Popelová)}
-
-
-Na~minulé pøedná¹ce jsme si~ukázali Fordùv-Fulkersonùv algoritmus. Tento algoritmus hledal maximální tok tak, ¾e zaèal s~tokem nulovým a~postupnì ho zvìt¹oval. Pro~ka¾dé zvìt¹ení potøeboval v~síti najít cestu, na~které mají v¹echny hrany kladnou rezervu (po takovéto cestì mù¾eme poslat více, ne¾ po~ní aktuálnì teèe). Ukázali jsme, ¾e pokud takováto cesta existuje, jde tok vylep¹it (zvìt¹it). Zároveò pokud tok jde vylep¹it, pak takováto cesta existuje. Dokázali jsme, ¾e pro~racionální kapacity je algoritmus koneèný a~najde maximální tok.
-
-Fordùv-Fulkersonùv algoritmus má ov¹em znaèné nevýhody. Funguje pouze pro~racionální kapacity a~je pomìrnì pomalý. Nyní si~uká¾eme jiný algoritmus, který nevylep¹uje tok pomocí cest, ale pomocí tokù\dots Budeme k~tomu potøebovat sí» rezerv.
-
-\s{Definice:} {\I Sí» rezerv} k~toku~$f$ v~síti $S=(V,E,z,s,c)$ je sí» $R=(S,f)=(V,E,z,s,r)$, kde~$r(e)$ je rezerva hrany~$e$ v~toku~$f$.
-
-\s{Konvence:} Pro~hranu~$e$ znaèí~$\overleftarrow{e}$ hranu opaènou. Napø. pokud $e=uv$, tak $\overleftarrow{e}=vu$.
-
-Je dùle¾ité si~uvìdomit, ¾e sí» rezerv je závislá jak na~pùvodní síti~$S$, tak na~nìjakém toku~$f$ v~síti~$S$. Sí» rezerv~$R$ se~pak od sítì~$S$ li¹í pouze kapacitami -- sí»~$R$ má jako kapacitu hrany rezervu hrany v pùvodní síti. Pro~pøipomenutí: rezervu hrany~$e$ v~síti $S=(V,E,z,s,c)$ s~tokem~$f$ jsme si~definovali jako $r(e)=c(e) - f(e) + f(\overleftarrow{e})$.
-
-Ne¾ si~uká¾eme samotný algoritmus, doká¾eme si~následující lemma.
-
-\s{Lemma:} Pro~ka¾dý tok~$f$ v~síti~$S$ a~pro~ka¾dý tok~$g$ v~síti $R=(S,f)$ lze v~èase $\O(m)$ nalézt tok~$f'$ v~síti~$S$ takový, ¾e $\vert f' \vert = \vert f \vert + \vert g \vert$.
-
-\proof
-
-Dùkaz rozdìlíme do~tøí krokù. V~prvním kroku si~uká¾eme, jak budeme tok~$f'$ v~síti~$S$ konstruovat. V~druhém kroku doká¾eme, ¾e takto zkonstruované~$f'$ je opravdu tok. A~nakonec uká¾eme, ¾e splòuje po¾adovanou vlastnost, tedy ¾e jeho velikost je souèet velikostí tokù~$f$ a~$g$.
-
-\>{\it 1. konstrukce~$f'$}
-
-\noindent
-Pro ka¾dou dvojici hran~$e, \overleftarrow{e}$ urèíme~$f'(e)$ a~$f'(\overleftarrow{e})$ následovnì:
-
-\itemize\ibull
-\:Pokud~$g(e) = g(\overleftarrow{e}) = 0$, pak nastavme:
-       \itemize\ibull
-       \:$f'(e) := f(e)$,
-       \:$f'(\overleftarrow{e}) := f(\overleftarrow{e})$.
-       \endlist
-       
-\:Pokud~$g(e) > 0$ a~$g(\overleftarrow{e}) = 0$, pak polo¾me:
-       \itemize\ibull
-       \:$\varepsilon := \min (g(e), f(\overleftarrow{e}))$,
-       \:$f'(e) := f(e) + g(e) - \varepsilon$,
-       \:$f'(\overleftarrow{e}) := f(\overleftarrow{e}) - \varepsilon$.
-       \endlist
-
-\:Pøípad~$g(e) = 0$ a~$g(\overleftarrow{e}) > 0$ vyøe¹íme obdobnì.
-
-\:Pokud~$g(e) > 0$ a~$g(\overleftarrow{e}) > 0$, pak odeèteme od toku~$g$ cirkulaci po cyklu tvoøeném hranami~$e$ a $\overleftarrow{e}$:
-       \itemize\ibull
-       \:$\delta := \min (g(e),g(\overleftarrow{e}))$,
-       \:$g'(e) := g(e) - \delta$,
-       \:$g'(\overleftarrow{e}) := g(\overleftarrow{e}) - \delta$.     
-       \endlist
-
-       Tok $g'$ nyní spadá pod nìkterý z~pøedchozích pøípadù, které u¾ umíme vyøe¹it.
-       
-\endlist
-
-\>{\it 2. $f'$ je tok}
-
-\numlist{\ndotted}
-
-\:Nejdøíve ovìøme první podmínku: $\forall e \in E: 0 \leq f(e) \leq c(e)$. Vezmìme libovolnou hranu~$e \in E$. Podle toho, co teèe po~hranách~$e$ a~$\overleftarrow{e}$ v~toku~$g$, jsme rozdìlili konstrukci toku na~tøi pøípady:
-
-       \numlist{\ndotted}      
-       
-       \:Pokud po~hranách~$e$ a~$\overleftarrow{e}$ netekl ¾ádný tok~$g$, pak jsme nastavili $f'(e) := f(e)$ a~$f'(\overleftarrow{e}) := f(\overleftarrow{e})$. Tedy pokud~$f$ dodr¾oval kapacity, tak pro~$f'$ musí platit to samé.
-
-
-       \:Pokud po~hranì~$e$ tekl tok~$g$ nenulový a~po opaèné nulový, tak jsme zvolili: $f'(e) := f(e) + g(e) - \varepsilon$. Víme, ¾e jsme si~$\varepsilon$ vybrali tak, ¾e $\varepsilon \leq g(e)$. Proto $f'(e) \geq 0$.
-
-       Teï ovìøme, ¾e $f'(e) \leq c(e)$. V~pøípadì, ¾e $\varepsilon = g(e)$, tak $f'(e) = f(e) \leq c(e)$. V~opaèném pøípadì platí, ¾e $\varepsilon = f(\overleftarrow{e})$. Pak ov¹em
-       $$f'(e) = f(e) + g(e) - f(\overleftarrow{e}) \leq $$
-       $$\leq f(e) + \left[ c(e) - f(e) + f(\overleftarrow{e}) \right] - f(\overleftarrow{e}) = c(e).$$
-       Vyu¾ili jsme, ¾e~$g$ je tok v~síti rezerv, tedy $g(e) \leq  c(e) - f(e) + f(\overleftarrow{e})$.
-
-       Pro tok $f'(\overleftarrow{e})$ platí, ¾e $\varepsilon \leq f(\overleftarrow{e})$. Proto $f'(\overleftarrow{e}) = f(\overleftarrow{e}) - \varepsilon \geq 0$. Zároveò $f'(\overleftarrow{e}) \leq f(\overleftarrow{e}) \leq c(\overleftarrow{e})$.
-
-       Tím jsme dokázali, ¾e~$f'(e)$ i~$f'(\overleftarrow{e})$ dodr¾ují kapacity.
-
-       \:V posledním pøípadì tekl po~obou hranách kladný tok~$g$. Men¹í tok z~$g(e)$ a~$g(\overleftarrow{e})$ jsme vynulovali a~od vìt¹ího odeèetli ten men¹í. Tok~$g'(e)$ a~$g'(\overleftarrow{e})$ tedy zùstal korektní a~tok~$f'$ u¾ konstruujeme podle pøedchozího pøípadu.
-
-       \endlist
-
-\:Teï musíme je¹tì dokázat, ¾e nový tok neporu¹uje Kirchhoffovy zákony: $$\forall v~\in V \setminus \{z,s\}: f'^\Delta(v)=0.$$
-       % neboli $$\forall v~\in V \setminus \{z,s\}: \sum_{u: uv \in E}{f'(uv)}=\sum_{u: vu \in E}{f'(vu)}.$$
-
-       Vezmìme si~libovolnou hranu~$e = uv \in E$. Uvìdomme si, ¾e pøi~pøechodu z~$f(e)$ na~$f'(e)$ a~z~$f(\overleftarrow{e})$ na~$f'(\overleftarrow{e})$ bylo:
-       \itemize\idot
-       \:$f^\Delta(u)$ sní¾eno o~$g(e)$
-       \:$f^\Delta(v)$ zvý¹eno o~$g(e)$.
-       \endlist
-       Seèteme-li úpravy na v¹ech hranách, dostaneme: $$f'^\Delta(v) = f^\Delta(v) + \sum_{u:uv \in E} g(uv) - \sum_{u:vu \in E} g(vu) =$$ $$= f^\Delta(v) + g^+(v) - g^-(v) = f^\Delta(v) + g^\Delta(v).$$
-
-       Jeliko¾~$f$ byl tok, tak $f^\Delta(v) = 0$ a jeliko¾~$g$ byl tok, tak $g^\Delta(v) = 0$. Proto $f'^\Delta(v) = f^\Delta(v) + g^\Delta(v) = 0$.
-       
-\endlist
-
-Tím jsme dokázali, ¾e~$f'$ je tok v~síti~$S$.
-
-\>{\it 3. $\vert f' \vert = \vert f \vert + \vert g \vert$}
-
-Pou¾ijme vztah pro souèet pøebytkù z pøedchozího kroku:
-$$\vert f' \vert = f'^\Delta(s) = f^\Delta(s) + g^\Delta(s) = \vert f \vert + \vert g \vert.$$
-\qed
-
-
-Pro algoritmus budeme potøebovat vybírat kvalitní toky~$g$ v~síti rezerv. Pokud se~nám to bude daøit, bude se~tok~$f'$ rychle zvìt¹ovat, a¾ bychom mohli dojít k~maximálnímu toku. Nejlépe by se~nám hodily co nejvìt¹í toky v~síti rezerv. Kdybychom si~dali za cíl najít v¾dy maximální tok v~síti rezerv, výsledek by byl sice krásný (dostali bychom tak rovnou i~maximální tok v~pùvodní síti), ale problém hledání maximálního toku bychom pouze pøenesli na~jinou sí». Na¹e po¾adavky na~tento tok budou tedy takové, aby byl dostateènì velký, ale abychom bìhem jeho hledání nestrávili moc èasu. Podívejme se, jak se~s~tímto problémem vyrovná {\I Dinicùv algoritmus}. Nejdøíve si~ale zadefinujme nìkolik pojmù.
-
-\s{Definice:} Tok~$f$ je {\I blokující}, jestli¾e pro~ka¾dou orientovanou cestu~$P$ ze~$z$ do~$s$ existuje hrana~$e \in P$ taková, ¾e $f(e) = c(e)$.
-
-\s{Definice:} Sí» je {\I vrstevnatá (proèi¹tìná)}, kdy¾ v¹echny vrcholy a~hrany le¾í na~nejkrat¹ích cestách ze~$z$ do~$s$.
-
-Dinicùv algoritmus zaèíná s~nulovým tokem. Potom v¾dy podle toku~$f$ sestrojí sí» rezerv a~v~ní vyma¾e hrany s~nulovou rezervou. Pokud v~této promazané síti rezerv neexistuje cesta ze~zdroje do~stoku, tak skonèí a~prohlásí tok~$f$ za maximální. Jinak proèistí sí» rezerv tak, aby se~z ní stala vrstevnatá sí» (rozdìlí vrcholy do~vrstev podle vzdálenosti od zdroje a~odstraní pøebyteèné hrany). Ve~vrstevnaté síti najde blokující tok, pomocí nìho¾ zlep¹í tok~$f$. Pak opìt pokraèuje sestrojením sítì rezerv na~tomto vylep¹eném toku~$f$ atd.
-
-\figure{dinic-cistasit.eps}{Proèi¹tìná sí» rozdìlená do~vrstev}{0.4\hsize}
-
-\s{Algoritmus (Dinicùv)}
-
-\algo
-\:$f \leftarrow$ nulový tok.
-\:Sestrojíme sí» rezerv~$R$ a~sma¾eme $e: r(e) = 0$.
-\:$l \leftarrow$ délka nejkrat¹í cesty ze~$z$ do~$s$ v~$R$.
-\:Pokud $l = \infty$, zastavíme se~a vrátíme~$f$.
-\:Proèistíme sí» $R \rightarrow$ sí»~$C$.
-\:$g \leftarrow$ blokující tok v~$C$.
-\:Zlep¹íme tok~$f$ pomocí~$g$.
-\:GOTO 2.
-\endalgo
-
-\s{Pozorování:} Pokud se~algoritmus zastaví, vydá maximální tok.
-
-\proof
-Víme, ¾e~$f$ je stále korektní tok (jediné, jak ho mìníme je pøièítání toku~$g$, co¾ je, jak jsme si~dokázali, \uv{ne¹kodná operace}). Jakmile neexistuje cesta ze~$z$ do~$s$ v~$R$, tak je $f$ maximální tok, nebo» v~tuto dobu by se~zastavil (a vydal maximální tok) i~Fordùv-Fulkersonùv algoritmus, který je korektní.
-\qed
-
-A teï je¹tì musíme ujasnit, jak budeme èistit sí» rezerv a~vybírat blokující tok~$g$.
-
-\s{Algoritmus proèi¹tìní sítì rezerv}
-
-\algo
-\:Rozdìlíme vrcholy do~vrstev podle vzdálenosti od~$z$.
-\:Odstraníme vrstvy za~$s$ (tedy vrcholy, které jsou od~$z$ vzdálenìj¹í ne¾~$s$), hrany do~minulých vrstev a~hrany uvnitø vrstev.
-\:Odstraníme \uv{slepé ulièky}, tedy vrcholy s~$\deg^{out}(v) = 0$, a~to opakovanì pomocí fronty. (Nejdøíve zaøadíme do~fronty v¹echny vrcholy s~ $\deg^{out}(v) = 0$. Pak dokud není fronta prázdná, v¾dy vybereme vrchol~$v$ z~fronty, odstraníme~$v$ a~v¹echny hrany~$uv$. Pro~ka¾dý takový vrchol~$u$ zkontrolujeme, zda se~tím nesní¾il výstupní stupeò vrcholu~$u$ na~nulu ($\deg^{out}(u) = 0$). Pokud sní¾il, tak ho zaøadíme do~fronty.)
-\endalgo
-
-\figure{dinic-neprocistenasit.eps}{Neproèi¹tìná sí». Obsahuje zpìtné hrany, hrany uvnitø vrstvy a~slepé ulièky.}{0.45\hsize}
-
-Hledání blokujícího toku zaèneme s~tokem nulovým. Pak vezmeme v¾dy orientovanou cestu ze~zdroje do~stoku v~síti~$C$. V~této cestì najdeme hranu s~nejni¾¹í hodnotou výrazu $r(e) - g(e)$ (neboli $c(e) - f(e)$ v~pùvodní síti). Tuto hodnotu oznaèíme~$\varepsilon$. Pak ke~ v¹em hranám na~této cestì pøièteme~$\varepsilon$. Pokud tok~$g$ na~nìjaké hranì dosáhne kapacity hrany, co¾ je zde~$r(e)$, tak hranu vyma¾eme. Následnì sí» doèistíme, aby splòovala podmínky vrstevnaté sítì. A~pokud je¹tì existuje nìjaká orientovaná cesta ze~zdroje do~stoku, tak opìt pokraèujeme s~touto cestou.
-
-\s{Algoritmus hledání blokujícího toku}
-
-\algo
-\:$g \leftarrow$ nulový tok.
-\:Dokud existuje orientovaná cesta~$P$ ze~$z$ do~$s$ v~$C$, opakuj:
-\::$\varepsilon \leftarrow \min_{e \in P} (r(e) - g(e))$.
-\::Pro~$\forall e \in P: g(e) \leftarrow g(e) + \varepsilon$.
-\:::Pokud $g(e) = r(e)$, sma¾eme~$e$ z~$C$.
-\::Doèistíme sí» zase pomocí fronty.
-\endalgo
-
-\s{Èasová slo¾itost} Rozeberme si~jednotlivé kroky algoritmu.
-
-\numlist{\ndotted}
-\:Inicializace toku~$f$ \dots $\O(m)$.
-\:Sestrojení sítì rezerv a~smazání hran s~nulovou rezervou \dots $\O(m + n)$.
-\:Najití nejkrat¹í cesty (prohledáváním do~¹íøky) \dots $\O(m + n)$.
-\:Zkontrolování délky nejkrat¹í cesty \dots $\O(1)$.
-\:Proèi¹tìní sítì \dots $\O(m + n)$.
-       \numlist{\ndotted}
-       \:Rozdìlení vrcholù do~vrstev -- provedlo ji¾ prohledávání do~¹íøky \dots $\O(1)$.
-       \:Odstranìní nìkterých hran \dots $\O(m + n)$.
-       \:Odstranìní \uv{slepých ulièek} pomocí fronty -- ka¾dou hranu odstraníme nejvý¹e jedenkrát, ka¾dý vrchol se~dostane do~fronty nejvý¹e jedenkrát \dots $\O(m + n)$.
-       \endlist
-\:Najití blokujícího toku~$g$ \dots $\O(m \cdot n)$.
-       \numlist{\ndotted}
-       \:Inicializace toku~$g$ \dots $\O(m)$.
-       \:Najití orientované cesty v~proèi¹tìné síti rezerv (staèí vzít libovolnou cestu ze~zdroje, nebo» ka¾dá z~nich v~této síti vede do~stoku) \dots $\O(n)$.
-       \:Výbìr minima z~výrazu $r(e) - g(e)$ pøes v¹echny hrany cesty -- ta mù¾e být dlouhá nejvý¹e~$n$ \dots $\O(n)$.
-       \:Pøepoèítání v¹ech hran cesty \dots $\O(n)$.
-       \:Smazání hran cesty, jejich¾ tok~$g(e)$ se~zvý¹il na~hodnotu~$r(e)$ \dots $\O(n)$.
-       \:Doèi¹»ování vyøe¹me zvlá¹».
-       \endlist
-       
-       Vnitøní cyklus (kroky 2 a¾ 6) provedeme nejvý¹e~$m$ krát, nebo» pøi~ka¾dém prùchodu vyma¾eme alespoò jednu hranu (tak jsme si~volili~$\varepsilon$).
-       
-       Èi¹tìní bìhem celého hledání blokujícího toku~$g$ v~proèi¹tìné síti rezerv trvá dohromady $\O(m + n)$, nebo» ka¾dou hranu a~vrchol sma¾eme nejvý¹e jedenkrát.
-       
-       Najití blokujícího toku bude tedy trvat $\O(m \cdot n + (m + n)) = \O(m \cdot n)$.
-       
-\:Zlep¹ení toku~$f$ pomocí toku~$g$ \dots $\O(m)$.
-\:Skok na~2. krok \dots $\O(1)$.
-\endlist
-
-Zbývá nám jen urèit, kolikrát projdeme vnìj¹ím cyklem (fází). Doká¾eme si~lemma, ¾e hodnota~$l$ vzroste mezi prùchody vnìj¹ím cyklem (fázemi) alespoò o~1. Z~toho plyne, ¾e vnìj¹ím cyklem mù¾eme projít nejvý¹e $n$-krát, nebo» cesta v síti na~$n$ vrcholech mù¾e být dlouhá nejvý¹e $n$.
-
-Uvìdomme si, ¾e uvnitø vnìj¹ího cyklu pøevládá èlen $\O(m \cdot n)$, tak¾e celková èasová slo¾itost bude $\O(n^2 \cdot m)$.
-
-\s{Lemma:} Hodnota~$l$ (délka nejkrat¹í cesty ze~$z$ do~$s$ v~proèi¹tìné síti) vzroste mezi fázemi alespoò o~1.
-
-\proof
-
-Podíváme se~na~prùbìh jednoho prùchodu vnìj¹ím cyklem. Délku aktuálnì nejkrat¹í cesty ze~zdroje do~stoku oznaème~$l$. V¹echny pùvodní cesty délky~$l$ se~bìhem prùchodu zaruèenì nasytí, proto¾e tok~$g$ 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, tak v~protismìru z~dosud nulové rezervy vyrobíme nenulovou. Rozmysleme si~tedy, jaké hrany mohou pøibývat.
-
-Hrany mohou pøibývat jen tehdy, kdy¾ jsme po~opaèné hranì nìco poslali. Ale my nìco posíláme po~hranách pouze z~vrstvy do~té následující. Hrany tedy pøibývají do~minulé vrstvy.
-
-Vznikem nových hran by proto mohly vzniknout nové cesty ze~zdroje do~stoku, které pou¾ívají zpìtné hrany. Jen¾e cesta ze~zdroje do~stoku, 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í délka alespoò $l+2$. Pokud cesta novou zpìtnou hranu nepou¾ije, má buï délku~$> l$, co¾ je v~poøádku, nebo má délku~$= l$, pak je zablokovaná.
-
-Tím je lemma dokázáno.
-\qed
-
-\figure{dinic-cestashranouzpet.eps}{Cesta u¾ívající novou zpìtnou hranu}{0.4\hsize}
-
-V¹echna dokázaná tvrzení mù¾eme shrnout do~následující vìty:
-
-\s{Vìta:} Dinicùv algoritmus najde maximální tok v~èase $\O(n^2\cdot m)$.
-
-\s{Poznámka:} Algoritmus se~chová hezky na~sítích s~malými celoèíselnými kapacitami, ale kupodivu i~na~rùzných jiných sítích. Èasto se~pou¾ívá, nebo» se~chová efektivnì. A~je mnoho zpùsobù, jak ho je¹tì vylep¹ovat, èi odhadovat ni¾¹í slo¾itost na~speciálních sítích.
-
-\s{Poznámka:} Algoritmus nevy¾aduje racionální kapacity! Dal¹í z~dùvodù, proè maximální tok existuje i~v~síti s~iracionálními kapacitami.
-
-
-%k,s,v,na,do,ke,pro,pøi,a,u,i,po,
-
-\bye
diff --git a/old/2-dinic/Makefile b/old/2-dinic/Makefile
deleted file mode 100644 (file)
index c183fb0..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-P=2-dinic
-
-include ../Makerules
diff --git a/old/2-dinic/dinic-cestashranouzpet.eps b/old/2-dinic/dinic-cestashranouzpet.eps
deleted file mode 100644 (file)
index 5633e61..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
-%%Creator: Dia v0.96.1
-%%CreationDate: Tue Feb  9 16:36:37 2010
-%%For: mj
-%%Orientation: Portrait
-%%Magnification: 1.0000
-%%BoundingBox: 0 0 546 219
-%%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
-/Times-Roman-latin1
-    /Times-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Italic-latin1
-    /Times-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Bold-latin1
-    /Times-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-BoldItalic-latin1
-    /Times-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Book-latin1
-    /AvantGarde-Book findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-BookOblique-latin1
-    /AvantGarde-BookOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Demi-latin1
-    /AvantGarde-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-DemiOblique-latin1
-    /AvantGarde-DemiOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Light-latin1
-    /Bookman-Light findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-LightItalic-latin1
-    /Bookman-LightItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Demi-latin1
-    /Bookman-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-DemiItalic-latin1
-    /Bookman-DemiItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-latin1
-    /Courier findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Oblique-latin1
-    /Courier-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Bold-latin1
-    /Courier-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-BoldOblique-latin1
-    /Courier-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-latin1
-    /Helvetica findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Oblique-latin1
-    /Helvetica-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Bold-latin1
-    /Helvetica-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-BoldOblique-latin1
-    /Helvetica-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-latin1
-    /Helvetica-Narrow findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Oblique-latin1
-    /Helvetica-Narrow-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Bold-latin1
-    /Helvetica-Narrow-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-BoldOblique-latin1
-    /Helvetica-Narrow-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Roman-latin1
-    /NewCenturySchoolbook-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Italic-latin1
-    /NewCenturySchoolbook-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Bold-latin1
-    /NewCenturySchoolbook-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-BoldItalic-latin1
-    /NewCenturySchoolbook-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Roman-latin1
-    /Palatino-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Italic-latin1
-    /Palatino-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Bold-latin1
-    /Palatino-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-BoldItalic-latin1
-    /Palatino-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Symbol-latin1
-    /Symbol findfont
-definefont pop
-/ZapfChancery-MediumItalic-latin1
-    /ZapfChancery-MediumItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/ZapfDingbats-latin1
-    /ZapfDingbats findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-28.346000 -28.346000 scale
--7.290000 -11.178600 translate
-%%EndProlog
-
-
-1.000000 1.000000 1.000000 srgb
-n 11.652500 7.185000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 11.652500 7.185000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 15.252460 7.249000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 15.252460 7.249000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 18.771560 7.478600 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 18.771560 7.478600 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 22.370460 7.317000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 22.370460 7.317000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 7.877500 7.085000 0.462500 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 7.877500 7.085000 0.462500 0.450000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 25.787460 7.445000 0.450000 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 25.787460 7.445000 0.450000 0.450000 0 360 ellipse cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 8.340000 7.085000 m 11.040795 7.118892 l s
-[] 0 sd
-0 slj
-0 slc
-n 11.415765 7.123597 m 10.912668 7.367304 l 11.040795 7.118892 l 10.918942 6.867343 l ef
-n 11.415765 7.123597 m 10.912668 7.367304 l 11.040795 7.118892 l 10.918942 6.867343 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 11.987560 7.286600 m 15.086792 9.089790 l s
-[] 0 sd
-0 slj
-0 slc
-n 15.410923 9.278375 m 14.853025 9.243015 l 15.086792 9.089790 l 15.104472 8.810841 l ef
-n 15.410923 9.278375 m 14.853025 9.243015 l 15.086792 9.089790 l 15.104472 8.810841 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 18.771560 4.982600 m 21.845998 7.007260 l s
-[] 0 sd
-0 slj
-0 slc
-n 22.159185 7.213509 m 21.604103 7.147302 l 21.845998 7.007260 l 21.879101 6.729719 l ef
-n 22.159185 7.213509 m 21.604103 7.147302 l 21.845998 7.007260 l 21.879101 6.729719 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 22.803560 7.414600 m 24.850692 7.439160 l s
-[] 0 sd
-0 slj
-0 slc
-n 25.225665 7.443659 m 24.722702 7.687643 l 24.850692 7.439160 l 24.728700 7.187679 l ef
-n 25.225665 7.443659 m 24.722702 7.687643 l 24.850692 7.439160 l 24.728700 7.187679 l cp s
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(z) 7.290000 8.902500 m 
-dup sw 0.765000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(s) 25.729960 9.167500 m 
-dup sw 0.760000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.972549 0.109804 0.031373 srgb
-n 18.414886 4.094968 3.290935 3.290935 86.872036 148.854720 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 15.422761 5.469720 m 15.846546 5.834283 l 15.567663 5.815593 l 15.385381 6.027485 l ef
-n 15.422761 5.469720 m 15.846546 5.834283 l 15.567663 5.815593 l 15.385381 6.027485 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 0.000000 srgb
-n 15.678360 9.377300 m 18.225607 7.856185 l s
-[] 0 sd
-0 slj
-0 slc
-n 18.547569 7.663922 m 18.246462 8.134914 l 18.225607 7.856185 l 17.990111 7.705631 l ef
-n 18.547569 7.663922 m 18.246462 8.134914 l 18.225607 7.856185 l 17.990111 7.705631 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 15.315560 5.110600 m 18.092757 5.110600 l s
-[] 0 sd
-0 slj
-0 slc
-n 18.467757 5.110600 m 17.967757 5.360600 l 18.092757 5.110600 l 17.967757 4.860600 l ef
-n 18.467757 5.110600 m 17.967757 5.360600 l 18.092757 5.110600 l 17.967757 4.860600 l cp s
-showpage
diff --git a/old/2-dinic/dinic-cistasit.eps b/old/2-dinic/dinic-cistasit.eps
deleted file mode 100644 (file)
index 6b49ffb..0000000
+++ /dev/null
@@ -1,560 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
-%%Creator: Dia v0.96.1
-%%CreationDate: Tue Feb  9 16:33:50 2010
-%%For: mj
-%%Orientation: Portrait
-%%Magnification: 1.0000
-%%BoundingBox: 0 0 545 213
-%%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
-/Times-Roman-latin1
-    /Times-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Italic-latin1
-    /Times-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Bold-latin1
-    /Times-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-BoldItalic-latin1
-    /Times-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Book-latin1
-    /AvantGarde-Book findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-BookOblique-latin1
-    /AvantGarde-BookOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Demi-latin1
-    /AvantGarde-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-DemiOblique-latin1
-    /AvantGarde-DemiOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Light-latin1
-    /Bookman-Light findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-LightItalic-latin1
-    /Bookman-LightItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Demi-latin1
-    /Bookman-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-DemiItalic-latin1
-    /Bookman-DemiItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-latin1
-    /Courier findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Oblique-latin1
-    /Courier-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Bold-latin1
-    /Courier-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-BoldOblique-latin1
-    /Courier-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-latin1
-    /Helvetica findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Oblique-latin1
-    /Helvetica-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Bold-latin1
-    /Helvetica-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-BoldOblique-latin1
-    /Helvetica-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-latin1
-    /Helvetica-Narrow findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Oblique-latin1
-    /Helvetica-Narrow-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Bold-latin1
-    /Helvetica-Narrow-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-BoldOblique-latin1
-    /Helvetica-Narrow-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Roman-latin1
-    /NewCenturySchoolbook-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Italic-latin1
-    /NewCenturySchoolbook-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Bold-latin1
-    /NewCenturySchoolbook-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-BoldItalic-latin1
-    /NewCenturySchoolbook-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Roman-latin1
-    /Palatino-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Italic-latin1
-    /Palatino-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Bold-latin1
-    /Palatino-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-BoldItalic-latin1
-    /Palatino-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Symbol-latin1
-    /Symbol findfont
-definefont pop
-/ZapfChancery-MediumItalic-latin1
-    /ZapfChancery-MediumItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/ZapfDingbats-latin1
-    /ZapfDingbats findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-28.346000 -28.346000 scale
--2.575000 -8.985000 translate
-%%EndProlog
-
-
-1.000000 1.000000 1.000000 srgb
-n 6.937500 5.185000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 6.937500 5.185000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 10.601500 5.185000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 10.601500 5.185000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 13.937500 5.285000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 13.937500 5.285000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 17.847500 5.253000 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 17.847500 5.253000 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 3.162500 5.085000 0.462500 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 3.162500 5.085000 0.462500 0.450000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 21.072500 5.253000 0.450000 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 21.072500 5.253000 0.450000 0.450000 0 360 ellipse cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 3.489540 4.766800 m 6.396661 3.113188 l s
-[] 0 sd
-0 slj
-0 slc
-n 6.722618 2.927778 m 6.411614 3.392296 l 6.396661 3.113188 l 6.164402 2.957686 l ef
-n 6.722618 2.927778 m 6.411614 3.392296 l 6.396661 3.113188 l 6.164402 2.957686 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 3.489540 5.403200 m 6.168927 6.886701 l s
-[] 0 sd
-0 slj
-0 slc
-n 6.496998 7.068344 m 5.938474 7.044867 l 6.168927 6.886701 l 6.180666 6.607439 l ef
-n 6.496998 7.068344 m 5.938474 7.044867 l 6.168927 6.886701 l 6.180666 6.607439 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 3.625000 5.085000 m 6.350756 5.042576 l s
-[] 0 sd
-0 slj
-0 slc
-n 6.725710 5.036740 m 6.229661 5.294491 l 6.350756 5.042576 l 6.221880 4.794551 l ef
-n 6.725710 5.036740 m 6.229661 5.294491 l 6.350756 5.042576 l 6.221880 4.794551 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 7.609300 2.604060 m 10.247491 7.175862 l s
-[] 0 sd
-0 slj
-0 slc
-n 10.434920 7.500663 m 9.968481 7.192548 l 10.247491 7.175862 l 10.401549 6.942643 l ef
-n 10.434920 7.500663 m 9.968481 7.192548 l 10.247491 7.175862 l 10.401549 6.942643 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 7.887500 5.185000 m 9.970456 3.115597 l s
-[] 0 sd
-0 slj
-0 slc
-n 10.236485 2.851298 m 10.057979 3.381049 l 9.970456 3.115597 l 9.705581 3.026343 l ef
-n 10.236485 2.851298 m 10.057979 3.381049 l 9.970456 3.115597 l 9.705581 3.026343 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 7.590800 7.722500 m 10.136041 5.330852 l s
-[] 0 sd
-0 slj
-0 slc
-n 10.409323 5.074060 m 10.216141 5.598637 l 10.136041 5.330852 l 9.873752 5.234260 l ef
-n 10.409323 5.074060 m 10.216141 5.598637 l 10.136041 5.330852 l 9.873752 5.234260 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 11.273300 2.604060 m 13.641249 5.047893 l s
-[] 0 sd
-0 slj
-0 slc
-n 13.902200 5.317206 m 13.374723 5.132089 l 13.641249 5.047893 l 13.733807 4.784155 l ef
-n 13.902200 5.317206 m 13.374723 5.132089 l 13.641249 5.047893 l 13.733807 4.784155 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 11.273300 7.765900 m 13.385798 7.771264 l s
-[] 0 sd
-0 slj
-0 slc
-n 13.760797 7.772216 m 13.260164 8.020946 l 13.385798 7.771264 l 13.261433 7.520947 l ef
-n 13.760797 7.772216 m 13.260164 8.020946 l 13.385798 7.771264 l 13.261433 7.520947 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 11.551500 5.185000 m 13.559606 3.190546 l s
-[] 0 sd
-0 slj
-0 slc
-n 13.825674 2.926287 m 13.647089 3.456011 l 13.559606 3.190546 l 13.294744 3.101254 l ef
-n 13.825674 2.926287 m 13.647089 3.456011 l 13.559606 3.190546 l 13.294744 3.101254 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 14.609300 2.704060 m 17.260798 2.698518 l s
-[] 0 sd
-0 slj
-0 slc
-n 17.635797 2.697734 m 17.136321 2.948778 l 17.260798 2.698518 l 17.135275 2.448779 l ef
-n 17.635797 2.697734 m 17.136321 2.948778 l 17.260798 2.698518 l 17.135275 2.448779 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 14.887500 5.285000 m 17.085844 5.315702 l s
-[] 0 sd
-0 slj
-0 slc
-n 17.460808 5.320939 m 16.957365 5.563932 l 17.085844 5.315702 l 16.964347 5.063981 l ef
-n 17.460808 5.320939 m 16.957365 5.563932 l 17.085844 5.315702 l 16.964347 5.063981 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 14.609300 7.865900 m 17.460804 7.850183 l s
-[] 0 sd
-0 slj
-0 slc
-n 17.835798 7.848116 m 17.337184 8.100868 l 17.460804 7.850183 l 17.334428 7.600876 l ef
-n 17.835798 7.848116 m 17.337184 8.100868 l 17.460804 7.850183 l 17.334428 7.600876 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 18.519300 2.672060 m 20.412208 4.588462 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.675732 4.855257 m 20.146502 4.675213 l 20.412208 4.588462 l 20.502230 4.323847 l ef
-n 20.675732 4.855257 m 20.146502 4.675213 l 20.412208 4.588462 l 20.502230 4.323847 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 18.797500 5.253000 m 20.135697 5.253000 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.510697 5.253000 m 20.010697 5.503000 l 20.135697 5.253000 l 20.010697 5.003000 l ef
-n 20.510697 5.253000 m 20.010697 5.503000 l 20.135697 5.253000 l 20.010697 5.003000 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 18.519300 7.833900 m 20.412204 5.917535 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.675731 5.650742 m 20.502224 6.182151 l 20.412204 5.917535 l 20.146500 5.830782 l ef
-n 20.675731 5.650742 m 20.502224 6.182151 l 20.412204 5.917535 l 20.146500 5.830782 l cp s
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(z) 2.575000 6.902500 m 
-dup sw 0.765000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(s) 21.015000 7.167500 m 
-dup sw 0.760000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 14.609300 7.865900 m 17.159091 5.940822 l s
-[] 0 sd
-0 slj
-0 slc
-n 17.458372 5.714867 m 17.209967 6.215662 l 17.159091 5.940822 l 16.908693 5.816620 l ef
-n 17.458372 5.714867 m 17.209967 6.215662 l 17.159091 5.940822 l 16.908693 5.816620 l cp s
-showpage
diff --git a/old/2-dinic/dinic-neprocistenasit.eps b/old/2-dinic/dinic-neprocistenasit.eps
deleted file mode 100644 (file)
index c36618f..0000000
+++ /dev/null
@@ -1,664 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Title: /home/mj/texts/ga/2-dinic/Diagram1.dia
-%%Creator: Dia v0.96.1
-%%CreationDate: Tue Feb  9 16:35:33 2010
-%%For: mj
-%%Orientation: Portrait
-%%Magnification: 1.0000
-%%BoundingBox: 0 0 645 410
-%%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
-/Times-Roman-latin1
-    /Times-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Italic-latin1
-    /Times-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-Bold-latin1
-    /Times-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Times-BoldItalic-latin1
-    /Times-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Book-latin1
-    /AvantGarde-Book findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-BookOblique-latin1
-    /AvantGarde-BookOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-Demi-latin1
-    /AvantGarde-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/AvantGarde-DemiOblique-latin1
-    /AvantGarde-DemiOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Light-latin1
-    /Bookman-Light findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-LightItalic-latin1
-    /Bookman-LightItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-Demi-latin1
-    /Bookman-Demi findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Bookman-DemiItalic-latin1
-    /Bookman-DemiItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-latin1
-    /Courier findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Oblique-latin1
-    /Courier-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-Bold-latin1
-    /Courier-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Courier-BoldOblique-latin1
-    /Courier-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-latin1
-    /Helvetica findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Oblique-latin1
-    /Helvetica-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Bold-latin1
-    /Helvetica-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-BoldOblique-latin1
-    /Helvetica-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-latin1
-    /Helvetica-Narrow findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Oblique-latin1
-    /Helvetica-Narrow-Oblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-Bold-latin1
-    /Helvetica-Narrow-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Helvetica-Narrow-BoldOblique-latin1
-    /Helvetica-Narrow-BoldOblique findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Roman-latin1
-    /NewCenturySchoolbook-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Italic-latin1
-    /NewCenturySchoolbook-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-Bold-latin1
-    /NewCenturySchoolbook-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/NewCenturySchoolbook-BoldItalic-latin1
-    /NewCenturySchoolbook-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Roman-latin1
-    /Palatino-Roman findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Italic-latin1
-    /Palatino-Italic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-Bold-latin1
-    /Palatino-Bold findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Palatino-BoldItalic-latin1
-    /Palatino-BoldItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/Symbol-latin1
-    /Symbol findfont
-definefont pop
-/ZapfChancery-MediumItalic-latin1
-    /ZapfChancery-MediumItalic findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-/ZapfDingbats-latin1
-    /ZapfDingbats findfont
-    dup length dict begin
-       {1 index /FID ne {def} {pop pop} ifelse} forall
-       /Encoding isolatin1encoding def
-    currentdict end
-definefont pop
-28.346000 -28.346000 scale
--5.150000 -17.404488 translate
-%%EndProlog
-
-
-1.000000 1.000000 1.000000 srgb
-n 9.512500 8.242302 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 9.512500 8.242302 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 13.112500 8.242302 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 13.112500 8.242302 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 16.512500 8.342302 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 16.512500 8.342302 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 20.358500 8.438302 0.950000 3.650000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 20.358500 8.438302 0.950000 3.650000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 5.737500 8.142302 0.462500 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 5.737500 8.142302 0.462500 0.450000 0 360 ellipse cp s
-1.000000 1.000000 1.000000 srgb
-n 23.647500 8.438302 0.450000 0.450000 0 360 ellipse f
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0.000000 0.000000 0.000000 srgb
-n 23.647500 8.438302 0.450000 0.450000 0 360 ellipse cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 6.064540 7.824102 m 8.971670 6.170489 l s
-[] 0 sd
-0 slj
-0 slc
-n 9.297628 5.985080 m 8.986624 6.449598 l 8.971670 6.170489 l 8.739412 6.014987 l ef
-n 9.297628 5.985080 m 8.986624 6.449598 l 8.971670 6.170489 l 8.739412 6.014987 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 6.064540 8.460502 m 8.743927 9.944003 l s
-[] 0 sd
-0 slj
-0 slc
-n 9.071998 10.125647 m 8.513474 10.102169 l 8.743927 9.944003 l 8.755666 9.664741 l ef
-n 9.071998 10.125647 m 8.513474 10.102169 l 8.743927 9.944003 l 8.755666 9.664741 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 6.200000 8.142302 m 8.788224 8.169824 l s
-[] 0 sd
-0 slj
-0 slc
-n 9.163203 8.173811 m 8.660573 8.418481 l 8.788224 8.169824 l 8.665889 7.918509 l ef
-n 9.163203 8.173811 m 8.660573 8.418481 l 8.788224 8.169824 l 8.665889 7.918509 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 10.184300 5.661402 m 12.822490 10.233165 l s
-[] 0 sd
-0 slj
-0 slc
-n 13.009919 10.557966 m 12.543480 10.249852 l 12.822490 10.233165 l 12.976546 9.999946 l ef
-n 13.009919 10.557966 m 12.543480 10.249852 l 12.822490 10.233165 l 12.976546 9.999946 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 10.462500 8.242302 m 12.545456 6.172899 l s
-[] 0 sd
-0 slj
-0 slc
-n 12.811485 5.908601 m 12.632979 6.438351 l 12.545456 6.172899 l 12.280581 6.083645 l ef
-n 12.811485 5.908601 m 12.632979 6.438351 l 12.545456 6.172899 l 12.280581 6.083645 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 10.184300 10.823202 m 12.714758 8.392066 l s
-[] 0 sd
-0 slj
-0 slc
-n 12.985177 8.132261 m 12.797821 8.658947 l 12.714758 8.392066 l 12.451415 8.298388 l ef
-n 12.985177 8.132261 m 12.797821 8.658947 l 12.714758 8.392066 l 12.451415 8.298388 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 13.784300 5.661402 m 16.077366 7.909225 l s
-[] 0 sd
-0 slj
-0 slc
-n 16.345159 8.171735 m 15.813094 8.000250 l 16.077366 7.909225 l 16.163108 7.643192 l ef
-n 16.345159 8.171735 m 15.813094 8.000250 l 16.077366 7.909225 l 16.163108 7.643192 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 13.784300 10.823202 m 15.960798 10.828596 l s
-[] 0 sd
-0 slj
-0 slc
-n 16.335797 10.829525 m 15.835179 11.078285 l 15.960798 10.828596 l 15.836418 10.578287 l ef
-n 16.335797 10.829525 m 15.835179 11.078285 l 15.960798 10.828596 l 15.836418 10.578287 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 14.062500 8.242302 m 16.130036 6.243185 l s
-[] 0 sd
-0 slj
-0 slc
-n 16.399624 5.982518 m 16.213951 6.509799 l 16.130036 6.243185 l 15.866396 6.150349 l ef
-n 16.399624 5.982518 m 16.213951 6.509799 l 16.130036 6.243185 l 15.866396 6.150349 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 17.184300 5.761402 m 19.835798 5.755826 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.210797 5.755037 m 19.711324 6.006088 l 19.835798 5.755826 l 19.710272 5.506089 l ef
-n 20.210797 5.755037 m 19.711324 6.006088 l 19.835798 5.755826 l 19.710272 5.506089 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 17.462500 8.342302 m 19.660844 8.373004 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.035808 8.378241 m 19.532365 8.621234 l 19.660844 8.373004 l 19.539347 8.121283 l ef
-n 20.035808 8.378241 m 19.532365 8.621234 l 19.660844 8.373004 l 19.539347 8.121283 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 17.184300 10.923202 m 20.035804 10.907485 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.410798 10.905418 m 19.912184 11.158170 l 20.035804 10.907485 l 19.909428 10.658178 l ef
-n 20.410798 10.905418 m 19.912184 11.158170 l 20.035804 10.907485 l 19.909428 10.658178 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 21.030300 5.857402 m 22.982350 7.778630 l s
-[] 0 sd
-0 slj
-0 slc
-n 23.249616 8.041677 m 22.717897 7.869126 l 22.982350 7.778630 l 23.068625 7.512770 l ef
-n 23.249616 8.041677 m 22.717897 7.869126 l 22.982350 7.778630 l 23.068625 7.512770 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 21.308500 8.438302 m 22.710697 8.438302 l s
-[] 0 sd
-0 slj
-0 slc
-n 23.085697 8.438302 m 22.585697 8.688302 l 22.710697 8.438302 l 22.585697 8.188302 l ef
-n 23.085697 8.438302 m 22.585697 8.688302 l 22.710697 8.438302 l 22.585697 8.188302 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 21.030300 11.019202 m 22.982350 9.097974 l s
-[] 0 sd
-0 slj
-0 slc
-n 23.249616 8.834928 m 23.068625 9.363834 l 22.982350 9.097974 l 22.717897 9.007479 l ef
-n 23.249616 8.834928 m 23.068625 9.363834 l 22.982350 9.097974 l 22.717897 9.007479 l cp s
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(z) 5.150000 9.959802 m 
-dup sw 0.765000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-/Helvetica-Oblique-latin1 ff 1.400000 scf sf
-(s) 23.590000 10.224802 m 
-dup sw 0.760000 exch sub 
-1 div exch 0.0 exch 
- gs 1 -1 sc ashow gr
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 17.184300 10.923202 m 19.734091 8.998125 l s
-[] 0 sd
-0 slj
-0 slc
-n 20.033372 8.772169 m 19.784967 9.272964 l 19.734091 8.998125 l 19.483693 8.873922 l ef
-n 20.033372 8.772169 m 19.784967 9.272964 l 19.734091 8.998125 l 19.483693 8.873922 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-1.000000 0.000000 0.000000 srgb
-n 11.539858 6.316175 2.333440 2.333440 217.422911 312.373346 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 9.484547 5.205707 m 9.475511 4.646763 l 9.646808 4.867630 l 9.926280 4.863112 l ef
-n 9.484547 5.205707 m 9.475511 4.646763 l 9.646808 4.867630 l 9.926280 4.863112 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.972549 0.109804 0.031373 srgb
-n 17.005378 7.083310 4.063310 4.063310 207.841522 325.610736 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 13.252285 5.522132 m 13.198168 4.965740 l 13.386732 5.172062 l 13.664928 5.145004 l ef
-n 13.252285 5.522132 m 13.198168 4.965740 l 13.386732 5.172062 l 13.664928 5.145004 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 13.256279 9.100346 4.355042 4.355042 41.609332 148.656298 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 9.355359 11.039859 m 9.793037 11.387620 l 9.513638 11.379819 l 9.339757 11.598658 l ef
-n 9.355359 11.039859 m 9.793037 11.387620 l 9.513638 11.379819 l 9.339757 11.598658 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-0.000000 0.000000 1.000000 srgb
-n 11.763949 8.334560 5.357216 5.357216 343.224324 23.730619 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 16.774024 6.434188 m 17.192915 6.804364 l 16.914306 6.781961 l 16.729218 6.991407 l ef
-n 16.774024 6.434188 m 17.192915 6.804364 l 16.914306 6.781961 l 16.729218 6.991407 l cp s
-0.100000 slw
-[] 0 sd
-[] 0 sd
-0 slc
-n 13.138491 7.971628 7.626180 7.626180 345.098560 14.618392 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 20.415251 10.256335 m 20.334609 9.703165 l 20.532817 9.900241 l 20.809402 9.859920 l ef
-n 20.415251 10.256335 m 20.334609 9.703165 l 20.532817 9.900241 l 20.809402 9.859920 l cp s
-0.100000 slw
-[0.200000] 0 sd
-[0.200000] 0 sd
-0 slc
-1.000000 0.000000 0.000000 srgb
-n 20.703467 8.975611 5.020448 5.020448 75.445526 143.491284 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 22.323201 13.728911 m 21.939518 14.135466 l 21.971025 13.857739 l 21.767747 13.665898 l ef
-n 22.323201 13.728911 m 21.939518 14.135466 l 21.971025 13.857739 l 21.767747 13.665898 l cp s
-0.100000 slw
-[0.200000] 0 sd
-[0.200000] 0 sd
-0 slc
-n 23.188848 18.352655 4.578076 4.578076 262.056833 336.148005 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 27.514055 16.848040 m 27.123298 16.448279 l 27.399529 16.490957 l 27.599410 16.295578 l ef
-n 27.514055 16.848040 m 27.123298 16.448279 l 27.399529 16.490957 l 27.599410 16.295578 l cp s
-0.100000 slw
-[0.200000] 0 sd
-[0.200000] 0 sd
-0 slc
-n 25.490713 14.655810 3.089205 3.089205 198.208619 307.778616 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 27.663571 12.457090 m 27.138832 12.264348 l 27.406550 12.184023 l 27.502921 11.921654 l ef
-n 27.663571 12.457090 m 27.138832 12.264348 l 27.406550 12.184023 l 27.502921 11.921654 l cp s
-0.100000 slw
-[0.200000] 0 sd
-[0.200000] 0 sd
-0 slc
-n 23.268127 9.217889 5.299733 5.299733 236.700611 292.751852 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 25.657483 4.486014 m 25.098642 4.472015 l 25.326378 4.309962 l 25.333377 4.030541 l ef
-n 25.657483 4.486014 m 25.098642 4.472015 l 25.326378 4.309962 l 25.333377 4.030541 l cp s
-0.100000 slw
-[0.200000] 0 sd
-[0.200000] 0 sd
-0 slc
-n 22.849330 -18.031552 23.958110 23.958110 83.114410 94.354399 ellipse s
-[] 0 sd
-0 slj
-0 slc
-n 26.093498 5.706158 m 25.633432 6.023710 l 25.722193 5.758670 l 25.563417 5.528637 l ef
-n 26.093498 5.706158 m 25.633432 6.023710 l 25.722193 5.758670 l 25.563417 5.528637 l cp s
-showpage