3.3 Machine Learning Methods for Decoder Design 103

Figure 3.5 : Voronoi diagram (or Dirichlet tessellation): the partitioning of a plane with n

points into convex polygons such that each polygon contains exactly one generating point

**and** every point in a given polygon is closer to its generating point than to any other.

code). Hence, we know theoretically the optimal classifier, which corresponds to implement

a K-dimensional Voronoi partition of the Euclidean space GF(2) N with codewords

as cell centroids, as sketched on figure 3.5. However, implementing this partitioning is

intractable in practice for long **codes**, **and** corresponds exactly to implement maximumlikelihood

(ML) **decoding**. That is why this classification problem is usually solved with

a BP decoder, which actually only implements an approximation of the Voronoi tessellation

frontiers, i.e., of ML **decoding**. Many previous works [19, 20] have characterized

the phenomenon which arises when BP decoder is used on loopy graphs, **and** which emphasizes

the difference between ML **decoding** **and** BP **decoding**. ML **decoding** is always

able to find the codeword closest to the observation (even though it makes errors because

this closest codeword is not the one which has been sent), whereas BP **decoding**

may converge to fixed points which are not codewords. These points are usually called

pseudo-codewords, **and** it has been shown [19] that they are of first importance in the loss

of performance of BP **decoding** compared to maximum-likelihood **decoding**.

To try to improve the BP **decoding**, we focus on pseudo-codewords, but indirectly. Indeed,

we make the assumption that pseudo-codewords are the indicators that the frontiers

of the classifier implemented by the BP decoder are not the frontiers of ML **decoding**.

Hence, we are going to try to find a correction to BP **decoding** by considering it as a

classifier.