diff --git a/source-code/Pseudocode/label-correction/label-correction.png b/source-code/Pseudocode/label-correction/label-correction.png index 5dbc026..5acf862 100644 Binary files a/source-code/Pseudocode/label-correction/label-correction.png and b/source-code/Pseudocode/label-correction/label-correction.png differ diff --git a/source-code/Pseudocode/label-correction/label-correction.tex b/source-code/Pseudocode/label-correction/label-correction.tex index a27e8d8..8c2c86e 100644 --- a/source-code/Pseudocode/label-correction/label-correction.tex +++ b/source-code/Pseudocode/label-correction/label-correction.tex @@ -20,18 +20,24 @@ \begin{algorithmic} \Require \Statex Graph $G = (V, E)$ + \Statex Weight from node $i$ to node $j$: $g_{ij}$ \Statex Starting node $s \in V$ \Statex End node $t \in V$ - \Procedure{LabelCorrection}{$G$, $s$, $t$} + \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$} \State $d_s \gets 0$ - \State $d_i \gets \infty \quad \forall i \neq s$ - \State $u \gets \infty$ + \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$} \State $K \gets \{s\}$ \Comment{Choose some datastructure here} \While{$K$ is not empty} \State $v \gets K.pop()$ \For{child $c$ of $v$} - \If{$d_v + g_{vc} < \min(d_c, u)$} - \State $d_v \gets d_v + g_{vc}$ + \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)$} + \State $d_c \gets d_v + g_{vc}$ \State $c.parent \gets v$ \If{$c \neq t$ and $c \notin K$} \State $K.insert(c)$