目标:找到满足校验方程 H ⋅ e = s \mathbf{H·e=s} H⋅e=s的错误图样集合 E \mathbf{E} E中可能性最大的 e = [ e 1 , e 2 , . . . , e n ] \mathbf{e}=[e_1,e_2,...,e_n] e=[e1,e2,...,en]。
目标的数学表达:
e
M
W
↦
A
R
G
M
A
X
e
P
(
e
∣
s
)
\mathbf{e}_{\mathrm{MW}} \mapsto \mathrm{ARGMAX}_{\mathbf{e}} P(\mathbf{e} \mid \mathbf{s})
eMW↦ARGMAXeP(e∣s),其中
e
M
W
\mathbf{e}_{\mathrm{MW}}
eMW表示具有最小权重的错误图样。在假定噪声按位相互独立时,该问题可以分解为
e
i
=
1
e_i=1
ei=1的边缘概率的计算:
P
1
(
e
i
)
=
∑
e
∼
e
i
P
(
e
1
,
e
2
,
e
i
=
1
,
e
3
,
…
,
e
n
∣
s
)
P_{1}\left(e_{i}\right)=\sum_{\mathbf{e} \sim e_{i}} P\left(e_{1}, e_{2}, e_{i}=1, e_{3}, \ldots, e_{n} \mid \mathbf{s}\right)
P1(ei)=∑e∼eiP(e1,e2,ei=1,e3,…,en∣s),之后利用概率进行判决
(
e
M
W
)
i
=
{
1
,
if
P
1
(
e
i
)
⩾
0.5
,
0
,
if
P
1
(
e
i
)
<
0.5
\left(e_{\mathrm{MW}}\right)_{i}= \begin{cases}1, & \text { if } P_{1}\left(e_{i}\right) \geqslant 0.5, \\ 0, & \text { if } P_{1}\left(e_{i}\right)<0.5\end{cases}
(eMW)i={1,0, if P1(ei)⩾0.5, if P1(ei)<0.5
BP译码算法优点:有效计算边缘概率,分解概率分布 P ( e ∣ s ) P(\mathbf{e} \mid \mathbf{s}) P(e∣s)通过减少边缘计算中重复求和次数的方式计算
针对分解概率分布举个例子,假设有四个二值变量 x = [ x 1 , x 2 , x 3 , x 4 ] \mathbf{x}=[x_1,x_2,x_3,x_4] x=[x1,x2,x3,x4],在不知道这几个变量依赖关系的情况下,用一个联合概率 p ( x ) p(\mathbf{x}) p(x)表来记录每一种取值的概率需要 2 4 − 1 2^4-1 24−1个参数,如果存在一个如下图概率图所示的依赖关系:
那么得到简化后的分解结果为: p ( x ) = p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 1 ) p ( x 4 ∣ x 2 , x 3 ) p(\mathbf{x})=p\left(x_{1}\right) p\left(x_{2} \mid x_{1}\right) p\left(x_{3} \mid x_{1}\right) p\left(x_{4} \mid x_{2}, x_{3}\right) p(x)=p(x1)p(x2∣x1)p(x3∣x1)p(x4∣x2,x3)
针对减少边缘计算中重复求和次数的方式:见和积算法
输入:奇偶校验矩阵
H
\mathbf{H}
H和特征值
s
\mathbf{s}
s。
思想:通过因子图的节点之间传递“置信度”集来迭代更新软决策向量
P
1
(
e
)
P_1(\mathbf{e})
P1(e)。每一轮迭代中BP译码会通过
P
1
(
e
)
P_1(\mathbf{e})
P1(e)上的硬判决输出一个
e
B
P
\mathbf{e}_{BP}
eBP,如果满足校验方程
H
⋅
e
B
P
=
s
\mathbf{H}·\mathbf{e}_{BP}=\mathbf{s}
H⋅eBP=s,则BP算法收敛,中止迭代返回该
e
B
P
\mathbf{e}_{BP}
eBP。
具体过程依照这个顺序看下去基本就懂了