The main problem in recovery process in CS is to find the sparsest possible solution to the following under-determined system of linear equations
A
x
=
y
{\displaystyle Ax=y}
where
A
{\displaystyle A}
is the measurement matrix,
x
{\displaystyle x}
is the original signal to be recovered and
y
{\displaystyle y}
is the compresses known signal. When the matrix
A
{\displaystyle A}
is sparse, one can represent this matrix by a bipartite graph
G
=
(
V
l
∪
V
r
,
E
)
{\displaystyle G=(V_{l}\cup V_{r},E)}
for better understanding.
V
l
{\displaystyle V_{l}}
is the set of variable nodes in
G
{\displaystyle G}
which represents the set of elements of
x
{\displaystyle x}
and also
V
r
{\displaystyle V_{r}}
is the set of check nodes corresponding to the set of elements of
y
{\displaystyle y}
. Besides, there is an edge
e
=
(
u
,
v
)
{\displaystyle e=(u,v)}
between
u
∈
V
l
{\displaystyle u\in V_{l}}
and
v
∈
V
r
{\displaystyle v\in V_{r}}
if the corresponding elements in
A
{\displaystyle A}
is non-zero, i.e.
A
v
,
u
≠
0
{\displaystyle A_{v,u}\neq 0}
. Moreover, the weight of the edge
w
(
e
)
=
A
v
,
u
{\displaystyle w(e)=A_{v,u}}
. Here is an example of a binary sparse measurement matrix where the weights of the edges are either zero or one.
A
=
[
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
0
0
0
1
0
0
]
{\displaystyle A=\left[{\begin{array}{c c c c c c c c c c c c}0&0&1&0&0&0&0&0&1&0&1&0\\0&0&0&1&0&1&0&1&0&0&0&0\\1&0&0&0&0&1&0&0&0&0&1&0\\1&1&1&0&0&0&0&0&0&0&0&0\\0&0&0&1&0&0&1&0&0&0&0&1\\0&0&0&0&1&0&1&0&0&0&0&1\\0&0&0&0&0&0&0&1&1&1&0&0\\0&1&0&0&1&0&0&0&0&1&0&0\end{array}}\right]}
The basic idea behind message passing algorithms in CS is to transmit appropriate messages between variable nodes and check nodes in an iterative manner in order to efficiently find signal
x
{\displaystyle x}
. These messages are different for variable nodes and check nodes. However, the basic nature of the messages for all variable node and check nodes are the same in all of the verification based message passing algorithms. The messages
μ
v
(
v
i
)
:
V
l
↦
R
×
{
0
,
1
}
{\displaystyle \mu ^{v}(v_{i}):~V_{l}\mapsto \mathbb {R} \times \{0,1\}}
emanating from variable node
v
i
{\displaystyle v_{i}}
contains the value of the check node and an indicator which shows if the variable node is verified or not. Moreover, the messages
μ
c
(
c
i
)
:
V
r
↦
R
×
Z
+
{\displaystyle \mu ^{c}(c_{i}):~V_{r}\mapsto \mathbb {R} \times \mathbb {Z} ^{+}}
emanating from check node
c
i
{\displaystyle c_{i}}
contains the value of the check node and the remaining degree of the check node in the graph.
In each iteration, every variable node and check node produce a new message to be transmitted to all of its neighbors based on the messages that they have received from their own neighbors. This local property of the message passing algorithms enables them to be implemented as parallel processing algorithms and makes the time complexity of these algorithm so efficient.
The common rule between all verification based message passing algorithms is the fact that once a variable node become verified then this variable node can be removed from the graph and the algorithm can be executed to solve the rest of the graph. Different verification bases message passing algorithms use different combinations of verification rules.
The message passing rules given above are the basic and only rules that should be used in any verification based message passing algorithm. It is shown that these simple rules can efficiently recover the original signal provided that certain conditions are satisfied.
There are four algorithms known as VB-MPA's, namely Genie, LM, XH, and SBB. All of these algorithms use the same strategy for recovery of the original signal; however, they use different combination of the message passing rules to verify variable nodes.
Since Genie only wants to find the value of the non-zero elements of the signal it is not necessary to employ rules that are responsible for zero valued variable node in this algorithm. Therefore, Genie only uses D1CN as the verification rule.
This algorithm unlike the Genie algorithm does not have any knowledge about the support set of signal, and it uses D1CN and ZCN together to solve the recovery process in CS. In fact, ZCN is the rule that attempts to verify the zero valued variable nodes and D1CN is responsible for non-zero valued variable nodes. This usage of this algorithm is when one does not have non-binary matrix. In such cases, employing the third rule violated the locality nature of the algorithms. This issue will be considered in SBB algorithm.
This algorithm is the same as LM, but it only uses ECN instead of D1CN for the verification of the non-zero variable nodes. If the non-zero elements of the measurement matrix are binary, then this algorithm cannot be implemented efficiently and the locality of the algorithm will be violated.
The most powerful practical algorithm among all of the verification message passing algorithms is the SBB algorithm that employs all of the verification rules for the recovery of the original signal. In this algorithm, D1CN and ECN are responsible for the verification of the non-zero elements of the signal and ZCN and ECN will verify zero variable nodes.
In all of the algorithms the messages emanating from check nodes are the same; however, since the verification rules are different for different algorithms the messages produced by variable nodes will be different in each algorithm. The algorithm given above works for all of the VB-MPA's, and different algorithms use different rules in half round 2 of round 1 and 2. For instance, Genie algorithm uses D1CN rule in Half round 2 of round 1, and in fact the half round 2 of round 2 which uses ZCN rule is useless in Genie algorithm. LM algorithm uses D1CN in Half round 2 of round 1 and XH algorithm uses ECN rule in this stage instead of D1CN. SBB algorithm also uses both D1CN and ECN rule in the second half round of round 1. All of these rules can be efficiently implemented in update_rule function in the second half round of round 1.
Although there is no guarantee that these algorithms succeed in all of the cases but we can guarantee that if some of the variable nodes become verified during these algorithms then the values of those variable nodes are correct almost surely. In order to show that it is enough to show that all of the verification rules work perfectly and without false verification.
D1CN says that if a variable node is the only unknown variable in an equation then the value of that variable equals the right hand side of that equation. In fact, an equation with just one unknown variable is a check node with degree one, i.e. a check node with just one unverified variable node in its neighborhood.
This rule has two parts, the first part deals with non-zero elements of the signal while the second one is responsible for the zero elements of the original signal. For the first part, it says that if we have two or more equations with the same right hand side, and if we only have one single unknown variable
v
{\displaystyle v}
common in all of those equations then the value of this common variable should be the value of the right hand side of those equations. Besides, it says that all other variables in those equations should be zero. Suppose that one of those variables
v
′
{\displaystyle v'}
is not zero, then the right hand side of the equation which contains both
v
,
v
′
{\displaystyle v,v'}
should be
x
(
v
′
)
+
x
(
v
)
{\displaystyle x(v')+x(v)}
(For simplicity assume that the edge weights are all 1 or zero). Besides, since we know that
v
{\displaystyle v}
is the only unique variable in all of these equations then there should be one equation
c
{\displaystyle c}
in which
v
{\displaystyle v}
exists and
v
′
{\displaystyle v'}
does not exist. On the other hand, we know that the right hand side of these equations are the same; therefore, the right hand side of equation
c
{\displaystyle c}
should also be
x
(
v
)
+
x
(
v
′
)
{\displaystyle x(v)+x(v')}
. If we remove
v
′
{\displaystyle v'}
from this equation we should have the summation of some unknown variables to be a non-zero value
x
(
v
′
)
{\displaystyle x(v')}
. Since the non-zero elements of
x
{\displaystyle x}
are chosen randomly from a continuous distribution the probability that this summation equals exactly
x
(
v
′
)
{\displaystyle x(v')}
is zero. Therefore, almost surely the value of
v
{\displaystyle v}
is zero and all other variables in these equations have value zero.
There is just one scenario remained for the second part of the ECN rule as most of it has been covered in the first part. This scenario is the one that we have some equations with the same right hand side but there is two or more variable node common in all of those equations. In this case, we can say nothing about those common variable nodes; however, we can say that all the other variable nodes in those equations are zero. The proof of this claim can be achieved by a change of variable in those equations. Suppose that
v
1
,
v
2
,
.
.
.
,
v
q
{\displaystyle v_{1},v_{2},...,v_{q}}
are the common variable nodes in those equations. If we set
v
′
=
v
1
+
v
2
+
.
.
.
+
v
q
{\displaystyle v'=v_{1}+v_{2}+...+v_{q}}
then the problem will be changed to the first part where we only have one common variable node in all of those equations. Therefore, with the same reasoning as in the first part we can see that all other variable nodes that are not common in all of those equations can be verified with value zero almost surely.
D. L. Donoho, A. Javanmard, and A. Montanari, “Information-theoretically optimal compressed sensing via spatial coupling and approximate message passing,” in Information Theory Proceedings (ISIT), 2012 IEEE International Symposium on, 2012, pp. 1231–1235.
D. L. Donoho, A. Javanmard, and A. Montanari, “Information-theoretically optimal compressed sensing via spatial coupling and approximate message passing,” in Information Theory Proceedings (ISIT), 2012 IEEE International Symposium on, 2012, pp. 1231–1235.
Chandar, Venkat, Devavrat Shah, and Gregory W. Wornell. "A simple message-passing algorithm for compressed sensing." Information Theory Proceedings (ISIT), 2010 IEEE International Symposium on. IEEE, 2010.
Chandar, Venkat, Devavrat Shah, and Gregory W. Wornell. "A simple message-passing algorithm for compressed sensing." Information Theory Proceedings (ISIT), 2010 IEEE International Symposium on. IEEE, 2010.
Indyk, Piotr. "Explicit constructions for compressed sensing of sparse signals." Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms. Society for Industrial and Applied Mathematics, 2008. /wiki/Piotr_Indyk
Gilbert, Anna C., et al. "One sketch for all: fast algorithms for compressed sensing." Proceedings of the thirty-ninth annual ACM symposium on Theory of computing. ACM, 2007. /wiki/Anna_C._Gilbert
Sarvotham, Shriram, Dror Baron, and Richard G. Baraniuk. "Sudocodes-Fast Measurement and Reconstruction of Sparse Signals." Information Theory, 2006 IEEE International Symposium on. IEEE, 2006.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Farhangdoust, Seyed Mohammad Ebrhiam. "Message Passing Algorithms" (PDF). http://people.scs.carleton.ca/~maheshwa/courses/5703COMP/14Seminars/Message-Passing/submitted/MPA.pdf
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Luby, Michael G., and Michael Mitzenmacher. "Verification-based decoding for packet-based low-density parity-check codes." IEEE Transactions on Information Theory 51.1 (2005): 120-127.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Luby, Michael G., and Michael Mitzenmacher. "Verification-based decoding for packet-based low-density parity-check codes." IEEE Transactions on Information Theory 51.1 (2005): 120-127.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Luby, Michael G., and Michael Mitzenmacher. "Verification-based decoding for packet-based low-density parity-check codes." IEEE Transactions on Information Theory 51.1 (2005): 120-127.
Farhangdoust, Seyed Mohammad Ebrhiam. "Message Passing Algorithms" (PDF). http://people.scs.carleton.ca/~maheshwa/courses/5703COMP/14Seminars/Message-Passing/submitted/MPA.pdf
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Farhangdoust, Seyed Mohammad Ebrhiam. "Message Passing Algorithms" (PDF). http://people.scs.carleton.ca/~maheshwa/courses/5703COMP/14Seminars/Message-Passing/submitted/MPA.pdf
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
F. Zhang and H. D. Pfister, “On the iterative decoding of high-rate LDPC codes with applications in compressed sensing,” arXiv preprint arXiv:0903.2232, 2009. https://arxiv.org/abs/0903.2232
Farhangdoust, Seyed Mohammad Ebrhiam. "Message Passing Algorithms" (PDF). http://people.scs.carleton.ca/~maheshwa/courses/5703COMP/14Seminars/Message-Passing/submitted/MPA.pdf
Y. Eftekhari, A. Heidarzadeh, A. H. Banihashemi, and I. Lambadaris, “Density evolution analysis of node-based verification-based algorithms in compressed sensing,” Information Theory, IEEE Transactions on, vol. 58, no. 10, pp. 6616–6645, 2012.
Farhangdoust, Seyed Mohammad Ebrhiam. "Message Passing Algorithms" (PDF). http://people.scs.carleton.ca/~maheshwa/courses/5703COMP/14Seminars/Message-Passing/submitted/MPA.pdf