\prednaska{4}{Aplikace DFS}{}
-\h{Nejdel¹í cesta v DAG-u (v grafu bez orientovaných cyklù):}
+\h{Nejdel¹í cesta v ohodnoceném DAG-u (v grafu bez orientovaných cyklù)}
\s{Definice:} Pro $u,v \in V$ bude $D(u,v)$ délka nejdel¹í cesty z $u$ do $v$.
$D^R(u,v)$ bude délka nejdel¹í cesty v grafu s otoèenými hranami.
-Neexistuje-li cesta z $u$ do $v$, nech» $D(u,v) = -\inf$. Zvolme pak $D(u)$
-jako nejdel¹í cestu zaèínající v $u$. $$D(u) = \max_{v\in V} D(u,v)$$
+Neexistuje-li cesta z $u$ do $v$, nech» $D(u,v) = -\infty$.
+%Zvolme pak $D(u)$ jako nejdel¹í cestu zaèínající v $u$. Pak platí: $$D(u) = \max_{v\in V} D(u,v)$$
\s{Algoritmus:}
\algin Graf $G$, v nìm vrchol $u$.
\:Zvolíme topologické uspoøádání $w_1 \dots w_n$ na $G$. Nech» $w_k=u$.
\:Pøedpoèítáme si ke ka¾dému vrcholu v¹echny jeho pøedchùdce, tedy mno¾inu
-$W_i = \{w_j\mid(w_j,w_i)\in E\}$, v èase i pamìti $\O(n+m)$.
-\:Pro v¹echny vrcholy $w_i$ pøed $u$ ($\forall w_i\mid i<k$) nastavíme délku cesty $D(u,w_i)=-\infty$, pro $u$ pak $D(u,u)=0$.
-\:Postupnì procházíme vrcholy $w_i \in V(G)$ v topologickém poøadí a pro ka¾dý z nich spoèítáme $D(w_i)$.
-$$D(u,w_i)=\max_{w_j \mid (w_j, w_i) \in E} (D(u,w_j)) + e(w_i,w_j)$$
-\:Nalezneme maximum z $D(u,w_i)$ pøes v¹echna $i$ a oznaèíme jej $D(u)$.
-\algout Vrátime $D(u)$.
+$W_i = \{w_j\mid(w_j,w_i)\in E\}$.
+\:Pro v¹echny vrcholy $w_i$ pøed $u$ ($\forall w_i: i<k$) nastavíme délku cesty $D(u,w_i)=-\infty$, pro $u$ pak $D(u,u)=0$.
+\:Postupnì procházíme vrcholy $w_i \in V(G)$ v topologickém poøadí a pro ka¾dý z nich spoèítáme $D(u,w_i)$.
+$$D(u,w_i)=\max_{w_j \mid (w_j, w_i) \in E} (D(u,w_j)+ e(w_i,w_j))$$
+\algout $\left\{\strut D(u,w_i)\right\}$.
\endalgo
\s{Èasová slo¾itost:} Sestrojení topologického uspoøádání a pøedpoèet v $\O(n+m)$. Postupné poèítání $D(u,w)$ také v $\O(n+m)$, celkem $\O(n+m)$.
+\s{Pamì»ová slo¾itost:} Pøedpoèet pøedchùdcù zabere $\O(n+m)$ pamìti.
+
+\h{Hledání kritických hran v ohodnoceném DAG-u}
\s{Definice:} Hrana je kritická právì tehdy, kdy¾ le¾í na nìkteré z nejdel¹ích cest.
+\s{Pozorování:} Hrana $(x,y)$ je kritická právì tehdy, kdy¾ $D(u,x) + e(x,y) = D(u,y)$.
+
+\s{Algoritmus:}
+\algo
+\algin Graf $G$, v nìm vrchol $u$.
+\:Nalezneme v grafu $G$ nejdel¹í cesty z $u$ pøedchozím algoritmem
+\:Vybereme ty hrany, které splòují rovnost $D(u,x) + e(x,y) = D(u,y)$ -- kritické
+\algout Seznam kritických hran.
+\endalgo
+\s{Èasová a pamì»ová slo¾itost:} $\O(n+m)$
+
%\>{\I Pozorování:} $e = (x,y)$ kritická kdy¾ $D(x) + D^R(y) + e(x,y) = D(v)$
% MQ: Toto pozorování mì mate. Co tam má být doopravdy?