diff --git a/latex/presentations/final/presentation.tex b/latex/presentations/final/presentation.tex index eed86be..b1a23ac 100644 --- a/latex/presentations/final/presentation.tex +++ b/latex/presentations/final/presentation.tex @@ -180,32 +180,92 @@ } -\DeclareCaptionLabelFormat{algocaption}{Algorithm} % defines a new caption label as Algorithm x.y -\lstnewenvironment{algorithm}[1][] %defines the algorithm listing environment +% +% Generic algorithm environment allowing for pseudocode and mathematical expressions +% Source: https://tex.stackexchange.com/a/218450 (taken from source and modified) +% + +% defines algorithm counter for chapter-level +\newcounter{genericAlgorithmCounter} +\let\OldSection\section +\renewcommand{\section}{\setcounter{genericAlgorithmCounter}{1}\OldSection} +%defines appearance of the algorithm counter +\renewcommand{\thegenericAlgorithmCounter}{\thechapter .\arabic{genericAlgorithmCounter}} +% defines a new caption label as Algorithm x.y +\DeclareCaptionLabelFormat{algocaption}{Algorithm \thegenericAlgorithmCounter} + +\lstnewenvironment{algorithm}[1][] { - \captionsetup{labelformat=algocaption,labelsep=colon} % defines the caption setup for: - % it ises label format as the declared - % caption label above and makes label - % and caption text to be separated - % by a ':' - \lstset{ %this is the stype + \captionsetup{labelformat=algocaption,labelsep=colon} + \lstset{ mathescape=true, - frame=tB, + escapeinside=||, + frame=TB, numbers=left, numberstyle=\tiny, basicstyle=\normalfont, columns=fullflexible, keywordstyle=\color{black}\bfseries, - keywords={a, for, end, do, return, if, b} % add the keywords you want, or load - % a language as Rubens explains in his comment above. + keywords={,for, while, end, do, nd, or, return, if,} numbers=left, xleftmargin=.04\textwidth, - #1 % this is to add specific settings to an usage of this - % environment (for instnce, the caption and referable label) + captionpos=b, + belowskip=1.5em, + aboveskip=1.5em, + #1 % This is to add custom settings } } -{} +{\addtocounter{genericAlgorithmCounter}{1}} + +% +% Allows for pausing and resuming the numbering in an lstlisting environment +% Taken from https://tex.stackexchange.com/q/215697 +% + +\let\origthelstnumber\thelstnumber +\makeatletter +\newcommand*\Suppressnumber{% + \lst@AddToHook{OnNewLine}{% + \let\thelstnumber\relax% + \advance\c@lstnumber-\@ne\relax% + }% +} +\newcommand*\Reactivatenumber{% + \lst@AddToHook{OnNewLine}{% + \let\thelstnumber\origthelstnumber% + \advance\c@lstnumber\@ne\relax}% +} +\makeatother + + + +%\DeclareCaptionLabelFormat{algocaption}{Algorithm} % defines a new caption label as Algorithm x.y +% +%\lstnewenvironment{algorithm}[1][] %defines the algorithm listing environment +%{ +% \captionsetup{labelformat=algocaption,labelsep=colon} % defines the caption setup for: +% % it ises label format as the declared +% % caption label above and makes label +% % and caption text to be separated +% % by a ':' +% \lstset{ %this is the stype +% mathescape=true, +% frame=tB, +% numbers=left, +% numberstyle=\tiny, +% basicstyle=\normalfont, +% columns=fullflexible, +% keywordstyle=\color{black}\bfseries, +% keywords={a, for, end, do, return, if, b} % add the keywords you want, or load +% % a language as Rubens explains in his comment above. +% numbers=left, +% xleftmargin=.04\textwidth, +% #1 % this is to add specific settings to an usage of this +% % environment (for instnce, the caption and referable label) +% } +%} +%{} \setbeamertemplate{frametitle continuation}{} diff --git a/latex/presentations/final/sections/decoding_algorithms.tex b/latex/presentations/final/sections/decoding_algorithms.tex index afdee11..327d2e0 100644 --- a/latex/presentations/final/sections/decoding_algorithms.tex +++ b/latex/presentations/final/sections/decoding_algorithms.tex @@ -837,6 +837,70 @@ return $\boldsymbol{\hat{c}}$ \end{itemize} \end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[t, fragile] + \frametitle{Comparison of Proximal Decoding and \\LP Decoding using ADMM} + + \vspace*{-0.75cm} + + \begin{itemize} + \item Both algorithms can be understood as message passing algorithms + \end{itemize} + + \vspace*{-0.25cm} + + \begin{figure}[h] + \centering + + \begin{subfigure}{0.48\textwidth} + \centering + + \begin{algorithm}[caption={}, label={},] +Initialize $\boldsymbol{r}, \boldsymbol{s}, \omega, \gamma$ +while stopping critierion unfulfilled do + for j in $\mathcal{J}$ do + $p_j \leftarrow \prod_{i\in N_c\left( j \right) } r_i $ + $\textcolor{KITblue}{M_{j\to} \leftarrow p_j^2 - p_j}$|\Suppressnumber| +|\vspace{0.7mm}\Reactivatenumber| + end for + for i in $\mathcal{I}$ do + $s_i \leftarrow s_i + \gamma \left[ 4\left( s_i^2 - 1 \right)s_i + \phantom{\frac{4}{s_i}}\right.$|\Suppressnumber| + |\Reactivatenumber|$\left.+ \frac{4}{s_i}\sum_{j\in N_v\left( i \right) } + M_{j\to} \right] $ + $r_i \leftarrow r_i + \omega \left( s_i - y_i \right)$ + end for +end while + \end{algorithm} + \end{subfigure}% + \hfill + \begin{subfigure}{0.48\textwidth} + \centering + + \begin{algorithm}[caption={}, label={},] +Initialize $\tilde{\boldsymbol{c}}, \boldsymbol{z}, \boldsymbol{u}, \boldsymbol{\gamma}, \rho$ +while stopping criterion unfulfilled do + for j in $\mathcal{J}$ do + $\boldsymbol{z}_j \leftarrow \Pi_{P_{d_j}}\left( + \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$ + $\textcolor{KITblue}{M_{j\to i} \leftarrow \left( z_j \right)_i - \left( u_j \right)_i, + \hspace{3mm} \forall i \in N_c\left( j \right)}$ + end for + for i in $\mathcal{I}$ do + $\tilde{c}_i \leftarrow \frac{1}{d_i} + \left(\sum_{j\in N_v\left( i \right) } M_{j\to i} + - \frac{\gamma_i}{\mu} \right)$|\Suppressnumber| +|\vspace{7mm}\Reactivatenumber| + end for +end while + \end{algorithm} + \end{subfigure}% + \end{figure}% +\end{frame} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{frame}[t] % \frametitle{LP Relaxation}