]> mj.ucw.cz Git - ga.git/commitdiff
Konverze obrázků: krok 2
authorMartin Mares <mj@ucw.cz>
Wed, 6 Jun 2018 14:00:08 +0000 (16:00 +0200)
committerMartin Mares <mj@ucw.cz>
Wed, 6 Jun 2018 14:00:08 +0000 (16:00 +0200)
1-toky/1-toky.tex
10-suffix/10-suffix.tex
11-planar/11-planar.tex
2-dinic/2-dinic.tex
4-ght/4-ght.tex
5-mst/5-mst.tex
8-qheap/8-qheap.tex
9-decomp/9-decomp.tex

index 53ec7a81d6a68d88d151a62b4a477b843f1c10ca..2a32dc06acafd880a55062031ba71088c61c168c 100644 (file)
@@ -200,7 +200,7 @@ a přidáme novou hranu z~$v^+$ do~$v^-$. Všechny hrany budou mít jednotkové
 Toky nyní odpovídají vrcholově disjunktním cestám, řezy v~síti separátorům.
 \qed
 
-\figure{vertex-split.epdf}{Rozdělení vrcholu}{\epsfxsize}
+\figure{vertex-split.epdf}{Rozdělení vrcholu}{}
 
 Podobně dostaneme neorientované lokální věty (neorientovanou hranu nahradíme
 orientovanými v~obou směrech) a z~nich pak i globální varianty popisující
@@ -226,7 +226,7 @@ a navíc dva nové vrcholy $s$ a~$t$, dále pak všechny původní hrany oriento
 nové hrany z~$s$ do~všech vrcholů partity~$A$ a ze~všech vrcholů partity~$B$ do~$t$.
 Kapacity všech hran nastavíme na jedničky:
 
-\fig{bipartitni.epdf}{0.4\hsize}
+\fig{bipartitni.epdf}{width 0.4\hsize}
 
 Nyní si všimneme, že párování v~původním grafu odpovídají celočíselným tokům v~této síti
 a že velikost toku je rovna velikosti párování. Stačí tedy nalézt maximální celočíselný
index fe2689373195eb50cbc61b39b8bafaffc2129a6a..a596cc083e78d80b558876c0ca1182fdfa9bb59c 100644 (file)
@@ -58,7 +58,7 @@ a žádný z~nich nemůže být vnořený. Takový suffixový strom budeme znač
 
 \s{Příklad:}
 
-\figure{baraba.epdf}{Suffixy slova \uv{baraba}: trie, suffixový strom, ST s~dolarem}{\epsfxsize}
+\figure{baraba.epdf}{Suffixy slova \uv{baraba}: trie, suffixový strom, ST s~dolarem}{}
 
 \>Nyní jak je to s~konstrukcí suffixových stromů:
 
index 34573ecb75a3762d02b4f4abbe086c42b46bb99f..e993bb49c0a4d4200a6f1705bf38d8dbd3a4099e 100644 (file)
@@ -100,8 +100,8 @@ rovinnost.
 
 \finalfix{
 \smallskip
-\figure{planar1.epdf}{Před nakreslením zpětných hran \dots}{\epsfxsize}
-\figure{planar2.epdf}{\dots\ po něm (čtverečky jsou externí vrcholy)}{\epsfxsize}
+\figure{planar1.epdf}{Před nakreslením zpětných hran \dots}{}
+\figure{planar2.epdf}{\dots\ po něm (čtverečky jsou externí vrcholy)}{}
 }
 
 Všimněme si, že pokud vede z~nějakého už nakresleného vrcholu ještě nenakreslená hrana,
@@ -120,8 +120,8 @@ po~okraji bloku touto hranou (tím vytvoří novou stěnu) a také může
 sloučit několik bloků do~jednoho, jak je vidět z~obrázků.
 
 \separatefix{
-\figure{planar1.epdf}{Před nakreslením zpětných hran \dots}{\epsfxsize}
-\figure{planar2.epdf}{\dots\ po něm (čtverečky jsou externí vrcholy)}{\epsfxsize}
+\figure{planar1.epdf}{Před nakreslením zpětných hran \dots}{}
+\figure{planar2.epdf}{\dots\ po něm (čtverečky jsou externí vrcholy)}{}
 }
 
 Bude se nám hodit, že čas potřebný na~tuto operaci je přímo úměrný počtu
index 58d7936fef656a5a4a6c6de3e769637cdd27213f..552f84ee511bdd27cbc2da8146c895ccede87532 100644 (file)
@@ -38,7 +38,7 @@ Dále budeme pracovat s~ní.
 \endalgo
 
 \finalfix{\vskip-3pt}
-\figure{dinic-cistasit.epdf}{Pročištěná síť rozdělená do vrstev}{0.4\hsize}
+\figure{dinic-cistasit.epdf}{Pročištěná síť rozdělená do vrstev}{width 0.4\hsize}
 \finalfix{\vskip-6pt}
 
 \s{Složitost algoritmu:}
@@ -94,12 +94,12 @@ o~vrstvu zpět a nikdy nemůže skočit o~více než jednu vrstvu dopředu, a~pr
 délka alespoň $l+2$. Tím je věta dokázána. \qed
 
 % posunut dále, aby vyšla sazba
-\figure{dinic-neprocistenasit.epdf}{Nepročištěná síť. Obsahuje zpětné hrany, hrany uvnitř vrstvy a slepé uličky.}{0.45\hsize}
+\figure{dinic-neprocistenasit.epdf}{Nepročištěná síť. Obsahuje zpětné hrany, hrany uvnitř vrstvy a slepé uličky.}{width 0.45\hsize}
 
 % HACK
 \vskip -10pt
 
-\figure{dinic-cestashranouzpet.epdf}{Cesta užívající novou zpětnou hranu}{0.4\hsize}
+\figure{dinic-cestashranouzpet.epdf}{Cesta užívající novou zpětnou hranu}{width 0.4\hsize}
 
 \h{Poznámky}
 
@@ -169,7 +169,7 @@ Tím jsme dokázali, že celková složitost Dinicova algoritmu pro jednotkové
 kapacity je $\O(m^{3/2})$. Tím jsme si pomohli pro řídké grafy.
 
 \vbox{
-\inlinefig{dinic-vrcholrez.epdf}{0.2\hsize}
+\inlinefig{dinic-vrcholrez.epdf}{width 0.2\hsize}
 \s{Jednotkové kapacity a jeden ze stupňů roven 1:}
 Úlohu hledání maximálního párování v~bipartitním grafu, případně hledání
 vrcholově disjunktních cest v~obecném grafu lze převést (viz předchozí kapitola)
@@ -235,7 +235,7 @@ Jeho základní myšlenka je podobná, jako u~třídění čísel postupně po 
 radix-sortu neboli přihrádkového třídění. Pro jistotu si ho připomeňme. Algoritmus nejprve setřídí čísla podle poslední
 (nejméně významné) cifry, poté podle předposlední, předpředposlední a tak dále.
 
-%\figure{dinic-sort.epdf}{Kroky postupného třídění podle řádů}{0.4\hsize}
+%\figure{dinic-sort.epdf}{Kroky postupného třídění podle řádů}{width 0.4\hsize}
 
 V našem případě budeme postupně budovat sítě čím dál podobnější zadané
 síti a v~nich počítat toky, až nakonec získáme tok pro ni.
@@ -245,14 +245,14 @@ budeme zvětšovat kapacity bit po bitu v~binárním zápisu až k~jejich skute
 Přitom po~každém posunu zavoláme Dinicův algoritmus, aby dopočítal maximální tok.
 Pomocí předchozího odhadu ukážeme, že jeden takový krok nebude příliš drahý.
 
-\figure{dinic-scaling-original.epdf}{Původní síť, na hranách jsou jejich kapacity v binárním zápisu}{0.3\hsize}
+\figure{dinic-scaling-original.epdf}{Původní síť, na hranách jsou jejich kapacity v binárním zápisu}{width 0.3\hsize}
 
 Označme $k$ index nejvyššího bitu v~zápisu kapacit v~zadané síti ($k = \lfloor \log_2C \rfloor$).
 Postupně budeme budovat sítě $G_i$ s~kapacitami $c_i(e) = \lfloor {c(e) / 2^{k-i}} \rfloor$.
 $G_0$ je nejořezanější síť, kde každá hrana má kapacitu rovnou nejvyššímu bitu v~binárním zápisu
 její skutečné kapacity, až $G_k$ je původní síť $G$.
 
-\figure{dinic-scaling-g.epdf}{Sítě $G_0$, $G_1$ a $G_2$, jak vyjdou pro síť z~předchozího obrázku}{0.9\hsize}
+\figure{dinic-scaling-g.epdf}{Sítě $G_0$, $G_1$ a $G_2$, jak vyjdou pro síť z~předchozího obrázku}{width 0.9\hsize}
 
 \>Přitom pro kapacity v~jednotlivých sítích platí:
 
index 55748161ff84bf3688b707c431b88345dc5b9fa5..db4d9fb2382be0c4f45b2f3b021290293f7594c0 100644 (file)
@@ -50,7 +50,7 @@ $$r(x,z) \ge \min(r(x,y),r(y,z)).$$
 
 \proof Buď $W$ minimální $xz$-řez.
 
-\fig{4-ght-rez.epdf}{\epsfxsize}
+\fig{4-ght-rez.epdf}{}
 
 \noindent Vrchol $y$ musí být v~jedné z~komponent, Pokud je v~komponentě s~$x$, pak $r(y,z) \le d(W)$,
 protože $\d(W)$ je také $yz$-řez. Pokud v~té druhé, analogicky platí $r(x,y) \le d(W)$.
@@ -87,7 +87,7 @@ Nejprve však budeme potřebovat jedno užitečné lemma s~hnusně technickým d
 vrcholy z~$U$. Pak existuje množina vrcholů $W \subseteq U$ taková, že $\d(W)$ je minimální $uv$-řez.
 \foot{To důležité a netriviální je, že celá $W$ leží v~$U$.}
 
-\fig{4-ght-htl.epdf}{\epsfxsize}
+\fig{4-ght-htl.epdf}{}
 
 \proof Nechť je $\d(X)$ minimální $uv$-řez.
 BÚNO můžeme předpokládat, že $s\in U$ a $t\not\in U$, $u\in X$ a $v\not\in X$ a $s\in X$.
@@ -180,8 +180,8 @@ hrany, které mají ve $W$ jeden konec. Tím {\I zajímavé} myslíme to, že z~
 do $v_1$ \<nejlevnější> hrana, která z~něj vedla do množiny $V\setminus W$, případně žádná, pokud
 do této množiny žádná hrana nevedla.}
 
-\fig{4-ght-g1g2-before.epdf}{0.45\hsize}
-\fig{4-ght-g1g2-after.epdf}{0.9\hsize}
+\fig{4-ght-g1g2-before.epdf}{width 0.45\hsize}
+\fig{4-ght-g1g2-after.epdf}{width 0.9\hsize}
 \finalfix{\bigskip}
 
 Dále vytvoříme množiny vrcholů $R_1=R \cap \overline W$ a $R_2=R \cap W$. Dle indukčního
@@ -230,7 +230,7 @@ Protože $\d(W)$ je minimální \st-řez a $\d(X)$ má menší kapacitu, $\d(X)$
 $s$ a $t$. Přitom ale separuje $r_1$ a $r_2$, takže musí separovat buď $s$ a $r_1$, nebo $t$ a $r_2$.
 BÚNO nechť $X$ separuje $s$ a $r_1$.
 
-\fig{4-ght-rezx.epdf}{12cm}
+\fig{4-ght-rezx.epdf}{width 12cm}
 
 Podívejme se nyní na \PGHT{} $T_1$ (víme, že ten je korektní) a nalezněme v~něm nejlevnější hranu $e$ na cestě spojující $s$ a $r_1$.
 Tato hrana definuje řez $\d(U)$, což je minimální $sr_1$-řez, podle HTL i v~celém~$G$. Protože $\d(X)$ je $sr_1$-řez,
index f9a8073a69ffbb02614e9c19eb958c972b060a97..e77eb0201196ca81c138a1de07cadc64f125e6d9 100644 (file)
@@ -50,9 +50,9 @@ Pokud $e^\prime \not\in T$ a $e\in T[e^\prime]$, je $\<swap>(T,e,e^\prime)$ opě
 Stačí si uvědomit, že přidáním $e^\prime$ do~$T$ vznikne kružnice (konkrétně $T[e^\prime] + e^\prime$)
 a vynecháním libovolné hrany z~této kružnice získáme opět kostru.
 
-\figure{mst2.epdf}{Kostra $T$, cesta $T[e]$ a výsledek operace $\<swap>(T,e',e)$}{\epsfxsize}
+\figure{mst2.epdf}{Kostra $T$, cesta $T[e]$ a výsledek operace $\<swap>(T,e',e)$}{}
 
-\figure{mst1.epdf}{Jeden krok důkazu swapovacího lemmatu}{\epsfxsize}
+\figure{mst1.epdf}{Jeden krok důkazu swapovacího lemmatu}{}
 
 \s{Lemma o~swapování:}
 Máme-li libovolné kostry $T$ a $T'$, pak lze z~$T$ dostat $T'$ konečným počtem operací \<swap>.
@@ -151,7 +151,7 @@ hranu~$e'$ řezu~$C$. Jenže $e'$ je těžší než~$e$, takže operací $\<swap
 získáme ještě lehčí kostru, což není možné.
 \qed
 
-\figure{mst-rb.epdf}{Situace v~důkazu Modrého a Červeného lemmatu}{\epsfxsize}
+\figure{mst-rb.epdf}{Situace v~důkazu Modrého a Červeného lemmatu}{}
 
 \s{Červené lemma:} Je-li libovolná hrana~$e$ algoritmem kdykoliv obarvena na~červeno,
 pak $e\not\in \Tmin$.
@@ -175,7 +175,7 @@ do~nichž se lze z~$x$ dostat po~modrých hranách. Nyní mohou nastat dvě mož
 neexistují žádné lehké hrany, takže hrana $e$ je nejdražší na~cyklu tvořeném modrou cestou a~touto hranou
 a mohu na ni použít červené pravidlo.
 
-\figure{mst-bez.epdf}{Situace v~důkazu Bezbarvého lemmatu}{\epsfxsize}
+\figure{mst-bez.epdf}{Situace v~důkazu Bezbarvého lemmatu}{}
 
 \:$y \notin M$: Tehdy řez $\delta(M)$ neobsahuje žádné modré hrany, takže na~tento řez
 můžeme použít modré pravidlo.
index 2054177b996fe9cee434efb969f496e065c9b9f4..012c9b719b95dccf4b0eb82988a89353b954bc3a 100644 (file)
@@ -95,7 +95,7 @@ prvku a z~ranků už odvodíme i ostatní operace.
 
 \s{Příklad:} Trie pro zadanou množinu čísel. Ohodnocení hran je pouze pro názornost, není
 součástí struktury.
-\fig{trie.epdf}{\hsize}
+\fig{trie.epdf}{width \hsize}
 
 \s{Lemma R:} $\rank_X(x)$ je určen jednoznačně kombinací:
 \numlist\pnromanp
index 7c0c5a49304081ce457349ddef50a531de32f83f..4645d52df24279efc1455e7375410ae1c5c8fa8e 100644 (file)
@@ -191,7 +191,7 @@ ji nahradíme hranou, která bude vložena právě tehdy, když budou přítomny
 hrany komprimovaných cest tučně.
 
 \medskip
-\fig{mima.epdf}{\epsfxsize}
+\fig{mima.epdf}{}
 
 \s{Algoritmus pro cesty:} Cestu délky~$l$ rozdělíme na~úseky délky $\log n$, pro něž si uložíme
 množiny již přítomných hran (po~bitech jako čísla). Pak si ještě pamatujeme zkomprimovanou cestu (hrany