Added constraint definition for relaxed LP

This commit is contained in:
Andreas Tsouchlos 2023-02-19 10:00:38 +01:00
parent a14ad6d9e5
commit da7162e0c9

View File

@ -232,20 +232,40 @@ decoding, redefining the constraints in terms of the \text{codeword polytope}
,\end{align*} % ,\end{align*} %
% %
which represents the \textit{convex hull} of all possible codewords, which represents the \textit{convex hull} of all possible codewords,
i.e. the set of convex linear combinations of all codewords. i.e. the convex set of linear combinations of all codewords.
However, since the number of constraints needed to characterize the codeword However, since the number of constraints needed to characterize the codeword
polytope is exponential in the code length, this formulation is relaxed futher. polytope is exponential in the code length, this formulation is relaxed futher.
By observing that each check-node defines its own local single parity-check By observing that each check node defines its own local single parity-check
code, and thus its own \textit{local codeword polytope}, code, and thus its own \textit{local codeword polytope},
the \textit{relaxed codeword polytope} $\overline{Q}$ is defined as the intersection of all the \textit{relaxed codeword polytope} $\overline{Q}$ is defined as the intersection of all
local codeword polytopes. local codeword polytopes.
This consideration leads to the following constraints:% This consideration leads to constraints, that can be described as follows
\cite[Sec. II, A]{efficient_lp_dec_admm}:%
% %
\begin{align*} \begin{align*}
\ldots \boldsymbol{T}_j \boldsymbol{c} \in \mathcal{P}_{d_j}
.\end{align*} \hspace{5mm}\forall j\in \mathcal{J}
,\end{align*}%
where $\boldsymbol{T}_j$ is the \textit{transfer matrix}, which selects the
neighboring variable nodes
of check node $j$%
\footnote{For example, if the $j$th row of the parity-check matrix
$\boldsymbol{H}$ was $\boldsymbol{h}_j =
\begin{bmatrix} 0 & 1 & 0 & 1 & 0 & 1 & 0 \end{bmatrix}$,
the transfer matrix would be $\boldsymbol{T}_j =
\begin{bmatrix}
0 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 0 \\
\end{bmatrix} $ (example taken from \cite[Sec. II, A]{efficient_lp_dec_admm})}%
(i.e. the relevant components of $\boldsymbol{c}$ for parity-check $j$)
and $\mathcal{P}_{d}$ is the \textit{check polytope}, the convex hull of all
binary vectors of length $d$ with even parity%
\footnote{Essentially $\mathcal{P}_{d_j}$ is the set of vectors that satisfy
parity-check $j$, but extended to continuous domain.}%
.
In figure \ref{fig:dec:poly}, the two relaxations are compared based on an In figure \ref{fig:dec:poly}, the two relaxations are compared for an
example code. example code.
Figure \ref{fig:dec:poly:exact} shows the codeword polytope Figure \ref{fig:dec:poly:exact} shows the codeword polytope
$\text{poly}\left( \mathcal{C} \right) $, i.e. the constraints for the $\text{poly}\left( \mathcal{C} \right) $, i.e. the constraints for the
@ -253,13 +273,13 @@ equivalent linear program to exact \ac{ML} decoding - only valid codewords are
feasible solutions. feasible solutions.
Figures \ref{fig:dec:poly:local1} and \ref{fig:dec:poly:local2} show the local Figures \ref{fig:dec:poly:local1} and \ref{fig:dec:poly:local2} show the local
codeword polytopes of each check node. codeword polytopes of each check node.
Their intersection, the relaxed codeword polytope $\overline{Q}$, is shown in figure Their intersection, the relaxed codeword polytope $\overline{Q}$, is shown in
\ref{fig:dec:poly:relaxed}. figure \ref{fig:dec:poly:relaxed}.
%
% %
% Codeword polytope visualization figure % Codeword polytope visualization figure
% %
%
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -545,9 +565,8 @@ Their intersection, the relaxed codeword polytope $\overline{Q}$, is shown in fi
\caption{Visualization of the codeword polytope and the relaxed codeword \caption{Visualization of the codeword polytope and the relaxed codeword
polytope for an example code} polytope for an example code}
\label{fig:dec:poly} \label{fig:dec:poly}
\end{figure} \end{figure}%
%
\noindent%
It can be seen, that the relaxed codeword polytope $\overline{Q}$ introduces It can be seen, that the relaxed codeword polytope $\overline{Q}$ introduces
vertices with fractional values; vertices with fractional values;
these represent erroneous non-codeword solutions to the linear program and these represent erroneous non-codeword solutions to the linear program and
@ -556,12 +575,12 @@ correspond to the so-called \textit{pseudocodewords} introduced in
However, since for \ac{LDPC} codes $\overline{Q}$ scales linearly with $n$ instead of However, since for \ac{LDPC} codes $\overline{Q}$ scales linearly with $n$ instead of
exponentially, it is a lot more tractable for practical applications. exponentially, it is a lot more tractable for practical applications.
The resulting formulation of the relaxed optimization problem The resulting formulation of the relaxed optimization problem is the following:%
(called \ac{LCLP} by the authors) is the following:%
% %
\begin{align*} \begin{align*}
\text{minimize }\hspace{2mm} &\sum_{i=1}^{n} \gamma_i c_i \\ \text{minimize }\hspace{2mm} &\sum_{i=1}^{n} \gamma_i c_i \\
\text{subject to }\hspace{2mm} &\ldots \text{subject to }\hspace{2mm} &\boldsymbol{T}_j \boldsymbol{c} \in \mathcal{P}_{d_j}
\hspace{5mm}j\in\mathcal{J}
.\end{align*}% .\end{align*}%
% %