diff --git a/latex/thesis/chapters/decoding_techniques.tex b/latex/thesis/chapters/decoding_techniques.tex index 1536a99..164767d 100644 --- a/latex/thesis/chapters/decoding_techniques.tex +++ b/latex/thesis/chapters/decoding_techniques.tex @@ -800,6 +800,25 @@ The same is true for $\left( \boldsymbol{\lambda}_j \right)_i$.} It should be noted that all of the $\boldsymbol{z}_j$-updates can be computed simultaneously, as they are independent of one another. The same is true for the updates of the individual components of $\tilde{\boldsymbol{c}}$. +This representation can be slightly simplified by substituting +$\boldsymbol{\lambda}_j = \mu \cdot \boldsymbol{u}_j \,\forall\,j\in\mathcal{J}$:% +% +\begin{alignat*}{3} + \tilde{c}_i &\leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left( + \sum_{j\in N_v\left( i \right) } \Big( \left( \boldsymbol{z}_j \right)_i + - \left( \boldsymbol{u}_j \right)_i \Big) + - \gamma_i \right) + \hspace{3mm} && \forall i\in\mathcal{I} \\ + \boldsymbol{z}_j &\leftarrow \Pi_{\mathcal{P}_{d_j}}\left( + \boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j \right) + \hspace{3mm} && \forall j\in\mathcal{J} \\ + \boldsymbol{u}_j &\leftarrow \boldsymbol{u}_j + + \boldsymbol{T}_j\tilde{\boldsymbol{c}} + - \boldsymbol{z}_j + \hspace{3mm} && \forall j\in\mathcal{J} +.\end{alignat*} +% + The reason \ac{ADMM} is able to perform so well is due to the relocation of the constraints $\boldsymbol{T}_j\tilde{\boldsymbol{c}}_j\in\mathcal{P}_{d_j}\,\forall\, j\in\mathcal{J}$ @@ -819,19 +838,19 @@ as is shown in figure \ref{fig:lp:message_passing}.% \begin{genericAlgorithm}[caption={}, label={}, basicstyle=\fontsize{11}{16}\selectfont ] -Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}$ and $\boldsymbol{\lambda}_{[1:m]}$ +Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}_{[1:m]}$ and $\boldsymbol{u}_{[1:m]}$ while $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{pri}}$ or $\sum_{j\in\mathcal{J}} \lVert \boldsymbol{z}^\prime_j - \boldsymbol{z}_j \rVert_2 \ge \epsilon_{\text{dual}}$ do - for all $j$ in $\mathcal{J}$ do + for $j$ in $\mathcal{J}$ do $\boldsymbol{z}_j \leftarrow \Pi_{\mathcal{P}_{d_j}}\left( - \boldsymbol{T}_j\tilde{\boldsymbol{c}} + \frac{\boldsymbol{\lambda}_j}{\mu} \right)$ - $\boldsymbol{\lambda}_j \leftarrow \boldsymbol{\lambda}_j - + \mu\left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - - \boldsymbol{z}_j \right)$ + \boldsymbol{T}_j\tilde{\boldsymbol{c}} + \boldsymbol{u}_j \right)$ + $\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j + + \boldsymbol{T}_j\tilde{\boldsymbol{c}} + - \boldsymbol{z}_j$ end for - for all $i$ in $\mathcal{I}$ do + for $i$ in $\mathcal{I}$ do $\tilde{c}_i \leftarrow \frac{1}{\left| N_v\left( i \right) \right|} \left( \sum_{j\in N_v\left( i \right) } \Big( - \left( \boldsymbol{z}_j \right)_i - \frac{1}{\mu} \left( \boldsymbol{\lambda}_j + \left( \boldsymbol{z}_j \right)_i - \left( \boldsymbol{u}_j \right)_i \Big) - \frac{\gamma_i}{\mu} \right)$ end for