From 7ebd34ce35ea12b09d1e58c2b70e7512dcf993eb Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Tue, 20 Dec 2022 14:56:59 +0100 Subject: [PATCH] Added content to LP Relaxation slide --- .../sections/theoretical_background.tex | 92 +++++++++++++++++-- 1 file changed, 84 insertions(+), 8 deletions(-) diff --git a/latex/presentations/midterm/sections/theoretical_background.tex b/latex/presentations/midterm/sections/theoretical_background.tex index f14c92a..03679f5 100644 --- a/latex/presentations/midterm/sections/theoretical_background.tex +++ b/latex/presentations/midterm/sections/theoretical_background.tex @@ -28,7 +28,8 @@ \begin{tikzpicture}[scale=1, transform shape] \node (in) {$c\left[ k \right] $}; \node[mapper, right=0.5cm of in] (bpskmap) {Mapper}; - \node[right=1.5cm of bpskmap, draw, circle, inner sep=0pt, minimum size=0.5cm] (add) {$+$}; + \node[right=1.5cm of bpskmap, + draw, circle, inner sep=0pt, minimum size=0.5cm] (add) {$+$}; \node[right=0.5cm of add] (out) {$y\left[ k \right] $}; \node[below=0.5cm of add] (noise) {$n\left[ k \right] $}; @@ -76,18 +77,19 @@ \begin{align*} \text{poly}\left( \mathcal{C} \right) = \left\{ - \sum_{\boldsymbol{c}\in\mathcal{C}} \lambda_{\boldsymbol{c}} \boldsymbol{c} - : \lambda_{\boldsymbol{c}} \ge 0, + \sum_{\boldsymbol{c}\in\mathcal{C}}\lambda_{\boldsymbol{c}} + \boldsymbol{c} : \lambda_{\boldsymbol{c}} \ge 0, \sum_{\boldsymbol{c}\in\mathcal{C}}\lambda_{\boldsymbol{c}} = 1 \right\}, \hspace{5mm} \lambda_{\boldsymbol{c}} \in \mathbb{R} \end{align*} \item Cost Function: \begin{align*} - \gamma_i = \log\left( \frac{P\left( Y=y_i | C=0 \right) }{P\left( Y=y_i | C=1 \right) } \right), - \hspace{5mm} i = \left\{ 1, \ldots, n \right\} + \sum_{i=1}^{n} \gamma_i c_i, + \hspace{5mm}\gamma_i = \log\left( + \frac{P\left( Y=y_i | C=0 \right) }{P\left( Y=y_i | C=1 \right) } \right) \end{align*} - \item LP Formulation: + \item LP Formulation of ML Decoding: \begin{align*} &\text{minimize } \sum_{i=1}^{n} \gamma_i f_i \\ &\text{subject to } \boldsymbol{f}\in\text{poly}\left( \mathcal{C} \right) @@ -157,7 +159,81 @@ \begin{frame}[t] \frametitle{LP Relaxation} - - \todo{TODO} + + \begin{minipage}[c]{0.6\linewidth} + \begin{itemize} + \item Set of all variable nodes incident to a check node: + \begin{align*} + N\left( j \right) \equiv \left\{ + i | i\in \mathcal{I}, + \boldsymbol{H}_{i,j} = 1 + \right\}, + j \in \mathcal{J} + \end{align*} + \item ``Illegal configurations'' + \begin{align*} + S \subseteq N\left( j \right), \left| S \right| \text{odd} + \end{align*} + \item Relaxed polytope representation: + \begin{align*} + \sum_{i\in \left( N\left( j \right) \setminus S\right) }f_i + \sum_{i\in S} \left( 1 - f_i \right) \ge 1 + \end{align*} + ``$\boldsymbol{f}$ is separated by at least one bitflip from all illegal configurations'' + \end{itemize} + \end{minipage}% + \hfill% + \begin{minipage}[c]{0.4\linewidth} + \begin{figure}[H] + \centering + + \tikzstyle{codeword} = [color=KITblue, fill=KITblue, + draw, circle, inner sep=0pt, minimum size=4pt] + + \tdplotsetmaincoords{60}{245} + \begin{tikzpicture}[scale=1, transform shape, tdplot_main_coords] + % Cube + + \draw[dashed] (0, 0, 0) -- (2, 0, 0); + \draw[dashed] (2, 0, 0) -- (2, 0, 2); + \draw[] (2, 0, 2) -- (0, 0, 2); + \draw[] (0, 0, 2) -- (0, 0, 0); + + \draw[] (0, 2, 0) -- (2, 2, 0); + \draw[] (2, 2, 0) -- (2, 2, 2); + \draw[] (2, 2, 2) -- (0, 2, 2); + \draw[] (0, 2, 2) -- (0, 2, 0); + + \draw[] (0, 0, 0) -- (0, 2, 0); + \draw[dashed] (2, 0, 0) -- (2, 2, 0); + \draw[] (2, 0, 2) -- (2, 2, 2); + \draw[] (0, 0, 2) -- (0, 2, 2); + + % Codeword Polytope + + \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 0, 2); + \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (2, 2, 0); + \draw[line width=1pt, color=KITblue] (0, 0, 0) -- (0, 2, 2); + + \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (2, 2, 0); + \draw[line width=1pt, color=KITblue] (2, 0, 2) -- (0, 2, 2); + + \draw[line width=1pt, color=KITblue] (0, 2, 2) -- (2, 2, 0); + + % Polytope Annotations + + \node[codeword, color=KITred] (c111) at (2, 2, 2) {};% {$\left( 0, 0, 0 \right) $}; + \node[codeword, color=KITred] (c001) at (0, 0, 2) {};% {$\left( 1, 0, 1 \right) $}; + \node[codeword, color=KITred] (c100) at (2, 0, 0) {};% {$\left( 1, 1, 0 \right) $}; + \node[codeword, color=KITred] (c010) at (0, 2, 0) {};% {$\left( 0, 1, 1 \right) $}; + + \node[color=KITred, left=0cm of c111] {$\left( 1, 1, 1 \right) $}; + \node[color=KITred, right=0cm of c001] {$\left( 0, 0, 1 \right) $}; + \node[color=KITred, right=0.35cm of c100] {$\left( 1, 0, 0 \right) $}; + \node[color=KITred, below=0cm of c010] {$\left( 0, 1, 0 \right) $}; + \end{tikzpicture} + \caption{Relaxed polytope for $n=3$} + \end{figure} + \end{minipage} + \todo{How is this a relaxation and not just an alternative formulation?} \end{frame}