From 1beb8c484e67812456a87db9a52d584e5b5f7026 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sun, 2 Apr 2023 01:02:26 +0200 Subject: [PATCH] =?UTF-8?q?=C2=A7Wrote=20ADMM=20in=20proximal=20form?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- latex/thesis/chapters/analysis_of_results.tex | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/latex/thesis/chapters/analysis_of_results.tex b/latex/thesis/chapters/analysis_of_results.tex index ae2ab62..8cb9690 100644 --- a/latex/thesis/chapters/analysis_of_results.tex +++ b/latex/thesis/chapters/analysis_of_results.tex @@ -63,14 +63,14 @@ proximal operator form.% \end{align*} \begin{genericAlgorithm}[caption={}, label={}, - basicstyle=\fontsize{10.5}{15}\selectfont + basicstyle=\fontsize{11}{17}\selectfont ] Initialize variables while stopping critierion not satisfied do $\boldsymbol{r} \leftarrow \boldsymbol{r} + \omega \nabla L\left( \boldsymbol{y} \mid \boldsymbol{s} \right) $ $\boldsymbol{s} \leftarrow - \text{prox}_{\gamma h}\left( \boldsymbol{r} \right) $|\Suppressnumber| + \textbf{prox}_{\scaleto{\gamma h}{7.5pt}}\left( \boldsymbol{r} \right) $|\Suppressnumber| |\Reactivatenumber| end while return $\boldsymbol{s}$ @@ -86,24 +86,28 @@ return $\boldsymbol{s}$ \text{minimize}\hspace{5mm} & \underbrace{\boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}}} _{\text{Likelihood}} - + \underbrace{\text{TODO}}_{\text{Constraints}} \\ -% + \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j -% \left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right) -% + \frac{\mu}{2}\sum_{j\in\mathcal{J}} -% \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert^2_2 \\ - \text{subject to}\hspace{5mm} & \text{TODO} + + \underbrace{\sum_{j\in\mathcal{J}} g_j\left( + \boldsymbol{T}_j\tilde{\boldsymbol{c}} \right) } + _{\text{Constraints}} \\ + \text{subject to}\hspace{5mm} & + \tilde{\boldsymbol{c}} \in \mathbb{R}^n +% \boldsymbol{T}_j\tilde{\boldsymbol{c}} = \boldsymbol{z}_j\hspace{3mm} +% \forall j\in\mathcal{J} \end{align*} \begin{genericAlgorithm}[caption={}, label={}, - basicstyle=\fontsize{10.5}{15}\selectfont + basicstyle=\fontsize{11}{17}\selectfont ] Initialize variables while stopping criterion not satisfied do - $\tilde{\boldsymbol{c}} \leftarrow \text{prox}_{\text{TODO}}\left( \text{TODO} \right) $ - $\boldsymbol{z} \leftarrow \text{prox}_{\text{TODO}}\left( \text{TODO} \right) $ - $\boldsymbol{u}_j \leftarrow \boldsymbol{u}_j - + \boldsymbol{T}_j\tilde{\boldsymbol{c}} - - \boldsymbol{z}_j$ + $\tilde{\boldsymbol{c}} \leftarrow \textbf{prox}_{ + \scaleto{\nu \cdot \boldsymbol{\gamma}^{\text{T}}\tilde{\boldsymbol{c}}}{8.5pt}} + \left( \boldsymbol{z} - \boldsymbol{u} \right) $ + $\boldsymbol{z}_j \leftarrow \textbf{prox}_{\scaleto{g_j}{7pt}} + \left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} + + \boldsymbol{T}_j\boldsymbol{u} \right) \hspace{5mm}\forall j\in\mathcal{J}$ + $\boldsymbol{u} \leftarrow \boldsymbol{u} + + \tilde{\boldsymbol{c}} - \boldsymbol{z}$ end while return $\tilde{\boldsymbol{c}}$ \end{genericAlgorithm} @@ -117,6 +121,16 @@ return $\tilde{\boldsymbol{c}}$ \label{fig:ana:theo_comp_alg} \end{figure}% % +\todo{Show how $\tilde{\boldsymbol{c}} \leftarrow \textbf{prox} + _{1 / \mu \cdot \boldsymbol{\gamma}^{\text{T}}\tilde{\boldsymbol{c}}} + \left( \boldsymbol{z} - \boldsymbol{u} \right) $ +is the same as +$\boldsymbol{\gamma}^\text{T}\tilde{\boldsymbol{c}} + + \sum_{j\in\mathcal{J}} \boldsymbol{\lambda}^\text{T}_j + \left( \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \right) + + \frac{\mu}{2}\sum_{j\in\mathcal{J}} + \lVert \boldsymbol{T}_j\tilde{\boldsymbol{c}} - \boldsymbol{z}_j \rVert^2_2$}% +% \noindent The objective functions of both problems are similar in that they both comprise two parts: one associated to the likelihood that a given codeword was sent and one associated to the constraints the codeword is @@ -124,7 +138,7 @@ subjected to. Their major difference is that the two parts of the objective minimized with proximal decoding are both functions of the same variable $\tilde{\boldsymbol{x}}$, whereas with \ac{ADMM} the two parts are functions -of different variables: $\tilde{\boldsymbol{c}}$ and $\boldsymbol{z}$. +of different variables: $\tilde{\boldsymbol{c}}$ and $\boldsymbol{z}_{[1:m]}$. This difference means that while with proximal decoding the alternating minimization of the two parts of the objective function inevitably leads to oscillatory behaviour (as explained in section (TODO)), this is not the