Ver código fonte

Fix label correction pseudocode

Martin Thoma 9 anos atrás
pai
commit
f9cdad4e4f

BIN
source-code/Pseudocode/label-correction/label-correction.png


+ 6 - 6
source-code/Pseudocode/label-correction/label-correction.tex

@@ -20,12 +20,12 @@
         \begin{algorithmic}
         \Require
         \Statex Graph $G = (V, E)$
-        \Statex Weight from node $i$ to node $j$: $g_{ij}$
+        \Statex Weight from node $i$ to node $j$: $g_{ij} \in \mathbb{R}_0^+$
         \Statex Starting node $s \in V$
         \Statex End node $t \in V$
         \Statex Lower bound to get from node $j$ to $t$: $h_j$ (default: $h_j = 0$)
         \Statex Upper bound to get from node $j$ to $t$: $m_j$ (default: $m_j = \infty$)
-        \Procedure{LabelCorrection}{$G$, $s$, $t$, $h_j$}
+        \Procedure{LabelCorrection}{$G$, $s$, $t$, $h$, $m$}
             \State $d_s \gets 0$
             \State $d_i \gets \infty \quad \forall i \neq s$ \Comment{Distance of node $i$ from $s$}
             \State $u \gets \infty$ \Comment{Distance from $s$ to $t$}
@@ -33,10 +33,7 @@
             \While{$K$ is not empty}
                 \State $v \gets K.pop()$
                 \For{child $c$ of $v$}
-                    \If{$d_c + m_j < u$}
-                        \State $u \gets d_j + m_j$
-                    \EndIf
-                    \If{$d_v + g_{vc} + h_j < \min(d_c, u)$}
+                    \If{$d_v + g_{vc} + h_c < \min(d_c, u)$}
                         \State $d_c \gets d_v + g_{vc}$
                         \State $c.parent \gets v$
                         \If{$c \neq t$ and $c \notin K$}
@@ -46,6 +43,9 @@
                             \State $u \gets d_v + g_{vt}$
                         \EndIf
                     \EndIf
+                    \If{$d_c + m_c < u$}
+                        \State $u \gets d_c + m_c$
+                    \EndIf
                 \EndFor
             \EndWhile
         \EndProcedure