This repository includes the codes for the novel randomized scheduling strategy introduced in the paper: [Randomized Scheduling of ADMM-LP Decoding Based on Geometric Priors](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9965857, presented in ITW '22, and part of my masters thesis, Approximate and Randomized ADMM-LP Decoding Using the Geometric Information of the Parity Polytope.
This project is focused on decoding low-density parity-check (LDPC) codes using an alternating direction method of multipliers (ADMM) framework for solving the linear-programming (LP) decoding problem. This algorithm was initially introduced in the paper Decomposition Methods for Large Scale LP Decoding and was significantly improved in the papers the ADMM Penalized Decoder for LDPC Codes and Hardware Based Projection onto the Parity Polytope and Probability Simplex.
ADMM-LP decoding algorithm iteratively applies message passing decoding on the bipartite Tanner graph of LDPC codes, while stroing the residual information in the Lagrange multipliers. The original update schedule of the nodes, dictated by the ADMM formulation in the original paper, first updates the
In this project, inpired by the previous works on layered scheduling of ADMM-LP decoding, we introduce a novel randomized layered scheduling, in order to further boost the convergence of the iterative ADMM-LP decoding algorithm. The general idea of our randomized schedule is to choose nodes to be updated randomly, but wisely at each decoding round, using the state information of the graph. This allows us to focus more on updating the more problematic nodes of the graph, while visiting the more satisfied nodes less frequently. The difference between this randomized layered schedule and the previous greedy layered schedules is that, by using the randomized schedule we do not neglect visiting the satisfied nodes at all, which could eventually be useful to propagate more correct information through the graph, and let the consecutive updates be more accurate.
More formally, assume there are
The sharpness of the PMF can be tuned via changing the hyperparamter