]> mj.ucw.cz Git - ga.git/commitdiff
Floyd: V Seidelove algoritmu opraveno floor na ceil
authorMartin Mares <mj@ucw.cz>
Wed, 18 Jan 2012 14:41:28 +0000 (15:41 +0100)
committerMartin Mares <mj@ucw.cz>
Wed, 18 Jan 2012 14:41:28 +0000 (15:41 +0100)
Tim padem bylo nutne prohodit sudou a lichou variantu o kus nize.

14-floyd/14-floyd.tex

index 42e096a16af7b72b5dea115e00725a708cc6e806..18e64989bddd36a61e5508be12e8bc5821c29cba 100644 (file)
@@ -322,17 +322,17 @@ zadan
 souvislosti zahu¹tìna na~úplný graf, tak¾e matice vzdáleností je rovna matici sousednosti.
 
 Zbývá ukázat, jak z~matice~$D'$ spoèítat matici~$D$. Zvolme pevnì~$i$ a zamìøme
-se na funkce $d(v)=D_{iv}$ a $d'(v)=D'_{iv}$. Jistì platí $d'(v) = \lfloor d(v)/2 \rfloor$,
-proèe¾ $d(v)$ je buï rovno $2d'(v)$ nebo o~1 vy¹¹í. Nauèíme se rozpoznat, jestli
-$d(v)$ má být sudé nebo liché, a~z~toho v¾dy poznáme, jestli je potøeba jednièku pøièíst.
+se na funkce $d(v)=D_{iv}$ a $d'(v)=D'_{iv}$. Jistì platí $d'(v) = \lceil d(v)/2 \rceil$,
+proèe¾ $d(v)$ je buï rovno $2d'(v)$ nebo o~1 ni¾¹í. Nauèíme se rozpoznat, jestli
+$d(v)$ má být sudé nebo liché, a~z~toho v¾dy poznáme, jestli je potøeba jednièku odeèíst.
 
 Jak vypadá funkce~$d$ na sousedech vrcholu~$v\ne i$? Pro alespoò jednoho souseda~$u$ je
 $d(u) = d(v)-1$ (to platí pro sousedy, kteøí le¾í na nìkteré z~nejkrat¹ích cest z~$v$ do~$i$).
 Pro v¹echny ostatní sousedy je $d(u)=d(v)$ nebo $d(u)=d(v)+1$.
 
-Pokud je $d(v)$ liché, vyjde pro sousedy le¾ící na nejkrat¹ích cestách $d'(u)=d'(v)$
+Pokud je $d(v)$ sudé, vyjde pro sousedy le¾ící na nejkrat¹ích cestách $d'(u)=d'(v)$
 a pro ostatní sousedy $d'(u)\ge d'(v)$, tak¾e prùmìr z~$d'(u)$ pøes sousedy je
-alespoò~$d'(v)$. Je-li naopak $d(v)$ sudé, musí být pro sousedy na nejkrat¹ích cestách
+alespoò~$d'(v)$. Je-li naopak $d(v)$ liché, musí být pro sousedy na nejkrat¹ích cestách
 $d'(u) < d(v)$ a pro v¹echny ostatní $d'(u) = d(v)$, tak¾e prùmìr klesne pod~$d'(v)$.
 
 Prùmìry pøes sousedy pøitom mù¾eme spoèítat násobením matic: vynásobíme matici