A Reduced-Complexity Projection Algorithm for ADMM-based LP Decoding
Florian Gensheimer, Tobias Dietz, Kira Kraft, Stefan Ruzika, Norbert, Wehn

TL;DR
This paper introduces a low-complexity projection algorithm for ADMM-based LP decoding of LDPC codes, significantly reducing computational effort by eliminating sorting and leveraging recursive parity polytope structure.
Contribution
It presents a novel projection algorithm that avoids sorting and reduces arithmetic operations by up to 37%, enhancing efficiency for LP decoding.
Findings
Requires up to 37% fewer arithmetic operations
Eliminates the need for sorting in projection computations
Leverages recursive structure of the parity polytope
Abstract
The Alternating Direction Method of Multipliers has recently been adapted for Linear Programming Decoding of Low-Density Parity-Check codes. The computation of the projection onto the parity polytope is the core of this algorithm and usually involves a sorting operation, which is the main effort of the projection. In this paper, we present an algorithm with low complexity to compute this projection. The algorithm relies on new findings in the recursive structure of the parity polytope and iteratively fixes selected components. It requires up to 37% less arithmetical operations compared to state-of-the-art projections. Additionally, it does not involve a sorting operation, which is needed in all exact state-of-the-art projection algorithms. These two benefits make it appealing for efficient hard- and software implementations.
| input | low-complexity operations | all arith. op. |
|---|---|---|
| -13% | -14% | |
| -31% | -32% | |
| -36% | -37% | |
| -37% | -37% |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
A Reduced-Complexity Projection Algorithm for ADMM-based LP Decoding
Florian Gensheimer, Tobias Dietz, Kira Kraft, ,
Stefan Ruzika, and Norbert Wehn This work was supported by the DFG under project-ID WE 2442/9-3 and RU 1524/2-3.This paper will be presented in parts at the 10th International Symposium on Turbo Codes and Iterative Information Processing. F. Gensheimer is with the Mathematical Institute, University of Koblenz-Landau, 56070 Koblenz, Germany (email: [email protected]).T. Dietz and S. Ruzika are with the Department of Mathematics, Technische Universität Kaiserslautern, 67663 Kaiserslautern, Germany (email: [email protected]; [email protected]).K. Kraft and N. Wehn are with the Department of Electrical and Computer Engineering, Technische Universität Kaiserslautern, 67663 Kaiserslautern, Germany (email: [email protected]; [email protected]).
Abstract
The Alternating Direction Method of Multipliers has recently been adapted for Linear Programming Decoding of Low-Density Parity-Check codes. The computation of the projection onto the parity polytope is the core of this algorithm and usually involves a sorting operation, which is the main effort of the projection.
In this paper, we present an algorithm with low complexity to compute this projection. The algorithm relies on new findings in the recursive structure of the parity polytope and iteratively fixes selected components. It requires up to 37% less arithmetical operations compared to state-of-the-art projections. Additionally, it does not involve a sorting operation, which is needed in all exact state-of-the-art projection algorithms. These two benefits make it appealing for efficient hard- and software implementations.
Index Terms:
ADMM, LP decoding, parity polytope projection
I Introduction
Linear Programming (LP) decoding is a rather new decoding approach, that was established in 2003 by Feldman et al. [1]. The LP decoding problem is a relaxation of the Maximum-Likelihood (ML) decoding problem onto a special polytope. Using redundant parity checks [2], the error-correcting performance of LP decoding is close to the ML decoding performance. Therefore, LP decoding has become an interesting area of research for nearly all relevant code classes.
The major advantage of LP decoding is the reduced complexity compared to ML decoding. While ML decoding is NP hard in general [3], the relaxation onto the special polytope reduces the problem to a linear program, which can be solved in polynomial time. Recently, the Alternating Direction Method of Multipliers (ADMM) [4], an iterative method from convex optimization, was proposed for solving the LP decoding problem. In this context, the main effort of the ADMM is the projection onto the so-called parity polytope (see Section IV). The projection complexity grows with the number of ones in each row of the code’s underlying parity-check matrix, thus, ADMM-based LP decoding is mainly performed for Low-Density Parity-Check (LDPC) codes. This projection is the key of the ADMM algorithm and requires a sorting operation in all exact state-of-the-art implementations. However, sorting can become a major problem, especially for efficient hardware implementations, where it can heavily impact on latency, area, and power consumption.
In this paper, we extend the theory of parity polytopes and reveal their recursive structure. These findings allow us to present a new efficient projection algorithm that does not require sorting operations. The proposed algorithm iteratively fixes selected components of the projection to recursively reduce the problem to a smaller instance. We show that at least one component of the input can be fixed in every step. Therefore, the number of recursions is bounded and the problem size is strictly decreasing in every iteration. Our approach requires up to 37% less arithmetic operations than state-of-the-art projection algorithms, which directly translates to a reduction in computational complexity. In addition, the sorting operation is circumvented completely.
The outline of the paper is as follows: Section II describes the related work in the area of the ADMM-based LP decoding. In Section III, preliminaries and the ADMM method for LP decoding are recapitulated. In Section IV, we define the considered projection problem, recall some essential properties of the (even) parity polytope and derive the analogous results for its odd counterpart. Section V shows the geometrical idea of our new projection algorithm in an example. In Section VI, we prove the main theorem about this projection. It states that in every iteration, there exists at least one component that can be fixed for the rest of the projection. In Section VII, we show that the projection can be formulated as a recursive problem and utilize this fact in our efficient projection algorithm. The whole algorithm is then summarized in Section VIII. Section IX presents numerical results and highlights the benefit of our new projection algorithm. Finally, the paper is concluded in Section X.
II Related Work
The first ADMM method for LP decoding was presented by Barman et al. in [5], where a two-slice representation is used in the projection in order to describe the vectors of the parity polytope. The projection method in [5] needs two sorting operations. A more efficient projection method was presented Zhang and Siegel in [6], which is based on the cut-search algorithm [2] of the same authors. Its main effort is a sorting operation on a vector, which is in worst-case as large as the dimension of the parity polytope. The projections by Wasson and Draper [7] and Zhang et al. [8] reduce the problem to the projection onto a simplex and use the corresponding algorithms of Duchi et al. from [9]. The main effort in [7] is again a sorting operation. In [8], the two main subroutines are partial sorting and a modification of the randomized median finding algorithm from [10]. An iterative method, which does not require sorting operations, is presented by Wei and Banihashemi in [11]. However, it only outputs an approximate projection. A lookup table is used by Jiao et al. in the projection algorithm in [12], where the authors use the symmetric structure of the parity polytope in order to reduce the size of the table. In [13], Jiao et al. further decrease the size by using a non-uniform quantization scheme, which is found by minimizing the mean square error of a sample set.
Apart from the projection onto the parity polytope, many other investigations and improvements of ADMM-based LP decoding are made in the literature. In [14], Liu and Draper improve the error correction rate by introducing penalty terms for the objective function that reward binary decision variables. The behavior of ADMM decoding on trapping sets is studied by the same authors in [15]. In [16], Jiao et al. improve the error-correcting performance of penalized ADMM decoding for irregular LDPC codes by using different penalty parameters for variables with different variable degrees. In [17], Wei et al. reduce the runtime by avoiding projections whenever the change in the input of the projection is sufficiently small. New piecewise penalty terms are introduced by Wang et al. in [18]. In [19], Jiao et al. compare two improving techniques of ADMM in the context of LP decoding, namely over-relaxation [4] and accelerated ADMM [20]. A two-step scheme based on ADMM decoding is presented by Jiao and Mu in [21]. In order to reduce the error floor, the code structure is changed by eliminating codewords with low weight, and a postprocessing step is added after the ADMM LP decoder.
In [22], Wasson et al. propose a hardware architecture for the ADMM LP decoder based on the projection method presented in [7]. The hardware complexity of ADMM LP decoding is also investigated by Debbabi et al. in [23]. A multicore implementation is presented by the same authors in [24]. The schedule of the computations in the ADMM LP decoder are changed by Debbabi et al. [25] and Jiao et al. [26]. These schedules are combined to a new mixed schedule for ADMM LP decoding of LDPC convolutional codes by Thameur et al. in [27]. In [28], Xu et al. propose turbo equalization together with ADMM decoding for communication over the partial response channel.
III ADMM-based LP Decoding
In this paper, we consider binary linear block codes with block length and a parity-check matrix , where denotes the set of check nodes and denotes the degree of check , that is, the number of ones in the corresponding row of the parity-check matrix. The set of variable nodes is given by and describes the set of check nodes that include variable node . The set denotes the set of variable nodes that are considered for check . We consider binary-input memoryless channels. In [29], it is shown that, in this case, maximum-likelihood (ML) decoding can be rewritten as the minimization of a linear function. This means that
[TABLE]
where are the so-called log-likelihood ratios (LLR) and is the received vector. The linear programming relaxation of this problem is called linear programming (LP) decoding [29]. For ADMM-based LP decoding, the following LP formulation with auxiliary variables is used:
[TABLE]
The matrix from [6] selects the variable nodes for all . The ADMM is an iterative method from convex optimization, that combines the strong convergence of the method of multipliers with the decomposability of the dual ascent method [4]. Mathematically, the ADMM is a gradient method, that solves a special dual problem of (1)-(3) which depends on the augmented Lagrangian. For the LP decoding problem, the augmented Lagrangian with scaled dual variables is given by
[TABLE]
In iteration , the variables are updated as follows:
[TABLE]
[TABLE]
[TABLE]
The mapping is defined as the projection onto the parity polytope
[TABLE]
The minimum in the -update (4) can be computed analytically with the formula
[TABLE]
The penalty terms used in [14] and [18] only change this -update. The main computational effort are the -updates which consist of a projection onto the parity polytopes of every parity row .
IV Even and Odd Parity Polytopes
In the following, we recall basic properties of which we call the even parity polytope
[TABLE]
to distinguish it from the odd parity polytope
[TABLE]
Projections on the even parity polytope and on the odd parity polytope both play a crucial role in the projection algorithm presented later.
In [29], Feldman presents the linear programming relaxation
[TABLE]
for the local parity polytope , where is the set of even-sized subsets of . The feasible set of this polyhedron is called in [29] and is the corresponding polyhedron without the auxiliary variables .
can be interpreted as the convex hull of the local parity polytope with parity row . This means that all bit variables participate in this row. Hence, the sum in (7) is not empty and it follows that
[TABLE]
and
[TABLE]
for all . Thus, the constraints (5) are redundant and can be removed, so it holds that
[TABLE]
where the variables can be interpreted as the coefficients in the convex combinations of the incidence vectors to the even-sized subsets . In Theorem 5.15 in [29], Feldman shows that can be described by the polyhedron
[TABLE]
Together with (8), this shows that is completely characterized by the box constraints and the forbidden-set inequalities, i. e. is given by
[TABLE]
In [30], it is shown, that if for , one of the forbidden-set inequalities in (IV) defines a cut, i. e. it is violated, then all other forbidden-set inequalities are fulfilled with strict inequality. In particular this means that at most one forbidden-set inequality of is violated. In [2], Zhang and Siegel present their so-called cut-search algorithm, that computes this potentially violated forbidden-set inequality. It consists of two steps:
2. 2.
If is even, then determine and set .
The inequality is then given by , where . If , then the cut-search algorithm for can be used as above with in the formulas, because holds if and only if . For ADMM-based LP decoding, Zhang and Siegel show in [6] that if , then the projection of onto lies on the face defined by the unique forbidden-set inequality, that is violated by :
Lemma 1** ([6]).**
Let , let . If with odd is a cutting set of , i. e. , then must be on the face of defined by , i. e. .
The vector denotes the forbidden-set inequality corresponding to . Next, we show that these properties for are analogously valid for , where we can use forbidden-set inequalities with even instead of odd subsets:
Theorem 2**.**
Let . Then it holds:
- i)
** 2. ii)
If for , one of the forbidden-set inequalities from i) is a cut, then all other forbidden-set inequalities of i) are fulfilled with strict inequality. 3. iii)
The cut from ii) can be found as follows:
** 2. 2.
If is odd, then determine and set 4. iv)
Let , let . If with even is a cutting set of , then must be on the face of defined by , i. e. .
Proof:
- i)
For , the parity polytope has the form and the right-hand side of i) is given by , because defines the only forbidden-set inequality in this case.
Next, let us consider the case . Analogously to the formulation , we consider the polyhedron defined by
[TABLE]
where is the set of odd-sized subsets of . We denote the restriction of to the variables by . Since the values can be interpreted as the coefficients of a convex combination of the incidence vectors to the sets , it follows that
[TABLE]
We can prove almost exactly as in Theorem 5.15 in [29] that can be described by the polyhedron
[TABLE]
In the proof, we only need to replace “odd” by “even” and vice versa. Additionally, it is used in the proof of Theorem 5.15 that is full-dimensional, which is proven in Theorem 2 (c) in [31]. In our proof, we use instead that is full-dimensional, which this is also shown in Theorem 2 (c) of [31]. 2. ii)
The proof from Theorem 1 in [30] can be adopted by replacing every “odd” by “even” in the proof. The only statement, that needs to be verified, is that two indicator vectors of two distinct odd subsets have an -distance of at least 2. This also holds for two distinct even subsets. 3. iii)
The forbidden-set inequalities
[TABLE]
for all with even can be rewritten as
[TABLE]
for all with even. By ii), at most one of these inequalities is violated. If one of these inequalities is violated, it must be the one, where the left-hand side is minimal, since the right-hand side is always . For finding the even-sized set corresponding to this inequality, we define . If is even, then we are done. If is odd, then we must flip the membership of that index, which increases the sum by the smallest margin. This means that we must find the index , where is minimized and include it in if it was not contained in before or vice versa. The cut-search algorithm computes the corresponding coefficient vector to this . Hence, this cut-search algorithm is correct. 4. iv)
The proof in [6] can be used word-by-word, only statement ii) is needed.
∎
As for the polytope , we can use as an input in Theorem 2 iii), when we want to apply this cut-search algorithm to .
V Geometrical Idea
In this section, we want to explain the geometrical idea behind our new projection algorithm in an example. We want to project the point onto the parity polytope
[TABLE]
i. e. we want to compute
[TABLE]
As a first step, we apply the cut-search algorithm of Zhang and Siegel [2] to
[TABLE]
which outputs the forbidden-set inequality . Since , it holds that this inequality is, indeed, violated by . Hence, it follows that is not in and therefore not the projection of onto . Hence, it follows from Lemma 1, that the projection of onto lies on the face
[TABLE]
The projection onto such a face is a difficult problem, because the face is an intersection of two sets, namely the unit hypercube and the hyperplane . However, as an idea in our projection, we use the fact that the projection onto the hypercube and the projection onto a hyperplane can both be computed easily. The projection onto can be computed component-wise by mapping values greater than to , negative values to [math] and keeping all other values unchanged. The projection onto the hyperplane can be obtained by subtracting a certain multiple of the normal vector of the hyperplane, which is in the example.
In our projection, we start with the projection of onto the hyperplane , which leads to the point
[TABLE]
The situation is illustrated in Figure 1.
In this figure, the yellow area illustrates the hyperplane and the red triangle is the face . The blue volume is the part of the unit hypercube, that fulfills the forbidden-set inequality , and the blue point is the projection of onto the face, which is - at this moment - still unknown. If the violet point lies in the unit hypercube , then this point will also be the projection of onto the face . However, this is not the case in this example.
First Attempt
As a next idea, we project onto , which leads to the point
[TABLE]
the orange point in Figure 1. This is no projection onto the face since . Even projecting this new point onto the face, which leads to the red point in the figure, is not the desired projection. Hence, projecting all components of onto is not a good idea, in general. However, we claim that one component which is not yet contained in can be fixed to [math] or for the rest of the projection.
Second Attempt
As a second attempt, we try to fix the first component . Since , we fix to [math] and obtain the point . However, the only point on the plane , that lies on the face is the point , which is not the wanted projection.
Third Attempt
Since is already contained in , the next attempt is to fix the third component to , i. e. we move from
[TABLE]
As can be seen in Figure 1, the green line is the intersection of the plane with the face . Since is contained in this green line, fixing to was correct.
In the second attempt, the point is not contained in the feasible halfspace of the forbidden-set inequality , in contrast to the point . It is shown later that this is the criterion for choosing the correct component.
Since we concluded that , we reduce the original problem of projecting onto to the subproblem of projecting onto
[TABLE]
which is exactly the green line in Figure 1. This subproblem has one dimension less, and the “type” of the parity polytope changed from even to odd. We can now apply the same approach again. The cut-search algorithm applied to leads to the forbidden-set inequality , which is the same as inserting to the original forbidden-set inequality . Later it is proven that this fast update procedure is always correct, such that the cut-search algorithm does not have to be applied again from scratch.
Next, we project onto the hyperplane . This situation is illustrated in Figure 2.
The resulting point on the hyperplane is
[TABLE]
Since , it holds that
[TABLE]
Hence, the solution of the original projection problem is
[TABLE]
VI Fixing Components of the Projection
In this section, we generalize the previous example and present the main theorem of this paper, that states how components in our projection can be fixed. Its proof is inspired by the geometric idea.
The goal of the projection is to compute , i. e. the projection of some given point onto the even parity polytope . As in other projection algorithms (see e. g. [6]), we start with the application of the cut-search algorithm of Zhang and Siegel [2] to to obtain some forbidden-set inequality . If , then we know that all other forbidden-set inequalities are also fulfilled, because is, as the output of the cut-search algorithm, the only forbidden-set inequality of , that is potentially violated. Hence, in this case it holds that and that . If , we know from Lemma 1 that lies on the face . In this case, we compute the orthogonal projection of onto the hyperplane . The following lemma states, that the orthogonal projection onto the hyperplane moves the point in the correct direction, namely in the direction of the desired projection .
Lemma 3**.**
Let be a hyperplane and its intersection with the unit hypercube. Let . Then it holds that . This means, that the projection of onto is the point on , which has the smallest distance to the projection of onto the hyperplane.
Proof:
Let be the projection of onto and let be the projection of onto the hyperplane . Let . The projection can be written as for some , because is a normal vector of the hyperplane . Hence, it follows that
[TABLE]
We can conclude that
[TABLE]
By replacing with , one obtains that
[TABLE]
Hence, it follows that
[TABLE]
∎
To perform the projection onto the hyperplane, we need to subtract a multiple of the normal vector of the hyperplane from , i. e. we want to find the step length such that lies on the hyperplane. Therefore, the equation
[TABLE]
needs to be fulfilled. Hence, the projection of onto is given by
[TABLE]
If lies in , then holds. By Lemma 1, this means that is the wanted projection onto in this case. If , we claim that we can fix at least one component with to [math] or . We claim that we can fix those components , where the projection of onto would move the point into the feasible halfspace of the violated forbidden-set inequality. If , this would mean that we move into the direction , i. e. shall be fulfilled where denotes the -th unit vector. With and , we can conclude that
[TABLE]
For the case , projecting onto means to move into the direction , i. e. shall be fulfilled. In the same way, we get that
[TABLE]
This means that, if and , we claim that . If and , we claim that . This claim is formalized and proven in the following main theorem of the paper:
Theorem 4**.**
Let with . Let
[TABLE]
with ( even or odd) be a forbidden-set inequality. Let be the projection of onto the hyperplane and let be the projection of onto the face . Let . Then it holds:
If and , then . 2. 2.
If and , then .
Proof:
to 1.: It is proven by contradiction. Assume that :
The idea of this proof is to construct another point on the face , which has a shorter distance to than . This results in a contradiction to Lemma 3. In order to construct , we start in and move along the hyperplane perpendicular to the face until we intersect it. The intersection point is then the wanted point in with the shorter distance to . The situation is illustrated in Figure 3.
Finding direction of improvement
For finding the improving direction , we increase the component along the hyperplane . This means that the direction is the orthogonal projection of onto . Since is a normal vector of , we get that
[TABLE]
For , this leads to
[TABLE]
For , it leads to
[TABLE]
By multiplying with the denominator , we get that
[TABLE]
Finding the intersection point
Next, we determine the step length , such that . Hence, we set
[TABLE]
It follows that . Next, we show that lies in . Since and , it follows by
[TABLE]
that is contained in the hyperplane. Therefore, it is left to show that for all . Let .
Case 1:
Since , and , it follows that . In the following, we use that lies on the hyperplane, i. e.
[TABLE]
Since
[TABLE]
and since , it follows that
[TABLE]
Together with and , we can conclude that
[TABLE]
By using some algebra, it follows that
[TABLE]
Hence, it follows that .
Case 2:
This case follows the same idea as the first case. With , and , we get that
[TABLE]
Since and , it follows with (16) that
[TABLE]
With and , we can conclude that
[TABLE]
By using some algebra, and , we get that
[TABLE]
Hence, it follows that .
Distances to
We have shown that . Next, we show that is a point on the face, that is closer to than .
In the following, we use that
[TABLE]
Calculating the distance between and , we obtain
[TABLE]
The last two terms can be transformed to
[TABLE]
Hence, it follows with (20) that
[TABLE]
However, because of Lemma 3 and , it holds that is a contradiction to being the projection onto the face . Hence, the assumption was wrong and it must hold that .
to 2.: The proof is similar to the first part. To obtain a contradiction, we assume that .
We want to decrease the component of along the hyperplane . Hence, we choose the direction vector as the orthogonal projection of onto . We get that
[TABLE]
For , this leads to
[TABLE]
For , we obtain
[TABLE]
By multiplying with , we obtain the direction vector
[TABLE]
For determining the step length , shall be the intersection point with the face . Hence, shall fulfill the equation
[TABLE]
Hence, we get that .
Again, we want to show that . As in (14), it follows that . It remains to show that for all . For this purpose, we distinguish two cases:
Case 1:
We get that
[TABLE]
With and (16) we can conclude that
[TABLE]
and that
[TABLE]
By using some algebra, we get that
[TABLE]
Hence, it holds that .
Case 2:
It holds that
[TABLE]
In this case, we have . Together with (16), it follows that
[TABLE]
and
[TABLE]
We get that
[TABLE]
Hence, it follows that and .
For the distance comparison, we use
[TABLE]
As in case 1, it holds that
[TABLE]
For the last two terms, we get that
[TABLE]
Hence, it follows that . Again, Lemma 3, and are a contradiction to the fact, that is the projection of onto the face . Hence, the assumption was wrong and it follows that . ∎ The next theorem shows that the conditions of the last theorem are fulfilled for at least one component if :
Theorem 5**.**
Let and let
[TABLE]
with ( odd or even) a forbidden-set inequality. Let be the projection of onto the hyperplane with . Then there exists at least one such that
[TABLE]
or
[TABLE]
Proof:
The proof is again by contradiction:
Let us assume that for all , it holds that
[TABLE]
or
[TABLE]
In particular, it holds that for all with and that for all with . Since , there exists at least one component with that fulfills (23) or (24). If and , it follows that
[TABLE]
If and , it holds that
[TABLE]
Both cases lead to a contradiction. Hence, the assumption was wrong and the claim follows. ∎
VII Recursive Structure of the Projection
Up to now, we established the following procedure for computing the projection : First, we compute the potentially violated forbidden-set inequality of and check whether . If this is true, then . Otherwise, we know from Lemma 1, that and compute the projection of onto the hyperplane. If , then . Otherwise, Theorem 5 tells us that we can compute at least one component of by using Theorem 4. Next, we show that the remaining components of are the solution of a smaller-dimensional projection problem onto or , where . First, we consider the case that only one component of was fixed with Theorem 4. For this purpose, we show that the points in the parity polytopes exhibit the following recursive structure:
Theorem 6**.**
Let and . Then it holds:
[TABLE]
Proof:
For 1.) : Since
[TABLE]
is a convex hull of finitely many points, it follows that it is a polyhedron. Since , it follows that is a valid inequality and is a face of . Hence, all extreme points of are also extreme points of . Together with the fact that all extreme points of are binary vectors, it follows that does also only have binary vectors as extreme points. Since , it even follows that its binary solutions are exactly its extreme points. For any binary vector , it holds that
[TABLE]
Since is a polytope, it follows from Minkowski’s Theorem that is the convex hull of its extreme points, i. e.
[TABLE]
In , we use that . The proofs for 2) to 4) are completely analogous to 1). In 2) and 4), we need to replace by [math] in the corresponding -th components and use instead of . The equivalences in (25) - (27) are replaced by:
2. 3)
3. 4)
∎
Next, we show that after fixing one component of , the remaining entries of are again the solution of a projection problem onto a parity polytope. For this purpose, we show that fixing one component reduces the problem to a projection of the remaining components onto a smaller-dimensional parity polytope.
Theorem 7**.**
Let with for some . Then it holds:
[TABLE] 2. 2.
Let with for some . Then it holds:
[TABLE] 3. 3.
Let with for some . Then it holds:
[TABLE] 4. 4.
Let with for some . Then it holds:
[TABLE]
Proof:
It follows directly from Theorem 6 and
[TABLE]
∎
If more than one component of was fixed with Theorem 4, then Theorem 7 can be applied several times inductively so that the remaining components of are again the solution of a projection problem onto a parity polytope.
Hence, the idea of our algorithm is to repeat our mentioned steps (see the beginning of this section) recursively in order to solve the corresponding smaller-dimensional projection problem onto some parity polytope or with . Since we showed in Theorem 2 that the required properties for the parity polytope from the literature are also true in the analogous way for , it is not relevant in our problem, on which type of parity polytope we need to project. In the following, we will just talk about (csa), when we mean the cut-search algorithm of Zhang and Siegel [2] for or the analog cut-search algorithm from Theorem 2 iii) for , respectively.
The first step in our proposed projection algorithm was the application of (csa) to . Let us assume we are now in the recursive part of the algorithm with , i. e. we already fixed some components of and want to project the remaining components of to the corresponding (even or odd) smaller-dimensional parity polytope. Next, we will show that the (csa) applied to can be computed very efficiently. We do not need to apply (csa) again from the scratch. Instead, we can use the output with of (csa) applied to , which was computed in the previous step. The output of (csa) for is then given by the components of , where is not yet fixed. The right-hand side is the right-hand side of the previous step minus the number of components of that were fixed to in the previous step. The next theorem shows this statement for the case that one component of was fixed in the previous step.
Theorem 8**.**
Let with .
Let be the forbidden-set inequality returned by (csa) applied to and . Let . Then is the output of (csa) applied to and . 2. 2.
Let be the forbidden-set inequality returned by (csa) applied to and . Let . Then is the output of (csa) applied to and . 3. 3.
Let be the forbidden-set inequality returned by (csa) applied to and . Let . Then is the output of (csa) applied to and . 4. 4.
Let be the forbidden-set inequality returned by (csa) applied to and . Let . Then is the output of (csa) applied to and .
Proof:
We use that the right-hand side of any forbidden-set inequality is given by .
to 1): We consider two cases:
Case 1: is odd
In this case, the (csa) for and stops after step 1 and it holds that if and only if for all . Since , it holds that and that
[TABLE]
is even. This means that the (csa) for and also stops after step 1 and computes
.
Case 2: is even
In this case, the (csa) applied to and would need to do step 2, i. e. it would compute and set . We consider two cases:
Case 2a:
Because of and , it holds in this case that . Then, the (csa) for and would compute the vector in step 1 and stop because
[TABLE]
is even. The right-hand side is , because no component of is flipped and , the right-hand side after step 1, is not increased to in step 2, as it is done in the (csa) applied to and .
Case 2b:
Because of and , it holds that . Hence, it follows that
[TABLE]
is odd. Since, , the same entry of is flipped by (csa) for and . Hence, the (csa) applied to and would output the coefficient vector . From (28) and the flipping of in the (csa) for and , it follows that the right-hand side for is one less than the one for after step 1 and step 2 of (csa). Hence, the right-hand side is outputted by the (csa) applied to and .
to 2): the proof of 1) can be used, where every “odd” is replaced by “even” and vice versa.
to 3): We consider two cases:
Case 1: is odd
In this case, the (csa) applied to and stops after step 1 and is equivalent to for all . Hence, it follows from that and that
[TABLE]
is odd. Hence, the (csa) applied to also stops after step 1 and outputs .
Case 2: is even
In this case, (csa) applied to and is not finished after step 1 and has to flip . There can occur two cases:
Case 2a: .
Since , it must hold that and that
[TABLE]
is odd. Hence, the (csa) applied to and stops after step 1 and returns the coefficient vector . After step 1 of (csa), the right-hand side to is one unit larger than the one of . However, since the (csa) applied to flips from to , the computed right-hand sides to and are the same after the termination of (csa). Hence the (csa) applied to and returns .
Case 2b:
In this case, is always during the whole (csa) applied to and . Hence, it holds that and that
[TABLE]
is even. Hence, the (csa) for and (with and ) will compute the same right-hand side in step 1 and flip the same entry of . Hence, the (csa) applied to and outputs
.
to 4): the proof of 3) can be used by replacing every “even” by “odd” and vice versa. ∎
If more than one component of was fixed in the last iteration, then the last theorem can be applied several times inductively. The next step after computing the potentially violated forbidden-set inequality of would be the check whether . If the check is fulfilled, then would be the projection of onto or , respectively. However, we show that this check is never fulfilled and therefore redundant in the recursive part of our projection algorithm. If the check is true, then the corresponding very first check in the beginning of the algorithm would have also been true and the algorithm would have terminated in the beginning with . This is shown in the next theorem:
Theorem 9**.**
The check is only necessary in the beginning of the proposed projection algorithm, i. e. it is redundant in the recursive calls of the algorithm.
Proof:
Let and the input of a recursive call of the described projection algorithm. Since it is a recursive call, at least one component of the wanted projection was fixed before in the algorithm by using Theorem 4. With Theorem 8, it follows that is the output of the corresponding cut-search algorithm applied to and (or ). If we undo the last fixing of a component in the algorithm, we obtain a larger vector . (Without loss of generality, the last component of was fixed). There are two possible cases when we fix components of according to Theorem 4:
Case 1: and
From the way, how components of are fixed in Theorem 4, and from Theorem 8, it follows that
[TABLE]
is the result of the cut-search algorithm applied to with (or ).
If , then it holds that
[TABLE]
Case 2: and
From Theorem 8 and the way, how components of are fixed in Theorem 4, it follows that
[TABLE]
is the result of the cut-search algorithm applied to with (or ).
If , then it holds that
[TABLE]
Summarizing both cases, we can conclude that if the check in Theorem 9 is fulfilled during a recursive call of the proposed projection algorithm, then the corresponding vector fulfills the corresponding higher-dimensional check (29) or (30). Inductively, it follows that if the check in Theorem 9 is fulfilled, then the very first check of the algorithm, that tests whether the projection onto the unit hypercube lies in the parity polytope, was also fulfilled. But in this case, the algorithm terminates with the projection onto the unit hypercube without starting the recursion. Hence, if our projection algorithm is currently in a recursive call, then the check from Theorem 9 is never fulfilled, i. e. we can omit the check during the recursive part of the proposed algorithm. ∎
After the projection onto the hyperplane, there are three possibilites: A component could lie outside of and fulfill one of the two fixing conditions from Theorem 4, such that we can compute , or lies outside of and cannot be fixed, or . If all components of lie in , the algorithm terminates and . Next, we want to investigate the question, how the components of can switch between these three cases in the subsequent recursive steps.
For this purpose, let us assume first that the projection of onto the current hyperplane is not in (otherwise, and we are finished) and that we could only fix one component of , i. e. there exists exactly one with
[TABLE]
or
[TABLE]
Let be the remaining components of in the next recursive step and let and
[TABLE]
be the violated forbidden-set inequality in the next recursive step. Let be the projection of onto the hyperplane in the next recursive step. For simplifying the notation, we assume without loss of generality, that . Then, the following holds for any component :
Theorem 10**.**
- i)
If , then . 2. ii)
If , then .
Proof:
We make a case distinction:
In both cases, we use that
[TABLE]
Case 1: , :
[TABLE]
If , then it holds that .
If , then it holds that .
Case 2: , :
[TABLE]
If , then it holds that .
If , then it holds that . ∎
If more than one component was fixed, the analogous result follows from applying the last theorem inductively. Hence, it follows that components of the projection onto the hyperplane are strictly monotonically increasing in the case of and strictly monotonically decreasing in the case of . Since we can fix components of in the cases and , this means that the move into the direction where Theorem 4 is applicable. Additionally, this means if , then there are two possibilities:
stays in in every following recursion. 2. 2.
is fixed in the first recursion, where it is not in anymore.
VIII Projection Algorithm
Our projection method is summarized in Algorithm 1.
In the lines , we apply the cut-search algorithm to , which leads to the same result as applying it to . In the lines , it is checked whether is lying in the parity polytope. If this is true, then is the projection of onto and therefore returned. If , we enter the while loop, the recursive part of the projection. Before entering the loop, we initialize by . This variable tracks the number of components of , that are not yet computed. For the implementation, we swap the computed components of to the beginning of the vector and continue with the remaining vector. The variable tracks the index of the first uncomputed component of , whereas stores the value of from the beginning of the current while loop iteration. The index vector tracks all swaps, that were made. The lines describe one of the two stopping criteria. If the current dimension of the recursive subproblem is , then there are the following two possibilities for the corresponding parity polytope: The first case is
[TABLE]
In this case, can be described by the box constraints and the only forbidden-set inequality . This means that and in this case. The second possibility is the odd parity polytope
[TABLE]
In this case, can be described by and the only forbidden-set inequality . This means that and in this case. Hence, we can make the check to distinguish both cases. If this stopping criterion is not fulfilled, we continue and compute the projection of the remaining components of onto the hyperplane defined by the current forbidden-set inequality in line 18. In the lines 19-34, we go through all components of and check to which components of Theorem 4 can be applied, i. e. which components of can be fixed in this iteration. For the swaps in and in the lines 23-24 and 31-32, it is sufficient to update and , because and are not needed anymore. Theorem 5 says that at least one component can be fixed in the case of . Hence, if no component was fixed, i. e. the check in line 35 is true, then we are in the case and we can stop with . Otherwise, we update the current problem size , update and consider the corresponding smaller-dimensional projection problem in the next while loop iteration. In the algorithm, we do not check whether , which could happen theoretically. However, the next theorem shows that this situation cannot occur:
Theorem 11**.**
In Algorithm 1, the variable cannot become zero.
Proof:
Assume the claim is wrong, i. e. is set to zero during an iteration of the while loop in Algorithm 1. Let be the current projection of onto the current hyperplane in the iteration of the while loop, where is set to zero. Since is set to zero in line 38, this means that all remaining components of the projection on onto the face were fixed with Theorem 4. This means that for all , it must hold that
[TABLE]
or
[TABLE]
Since lies on the hyperplane , it follows that
[TABLE]
which is a contradiction. Hence, the assumption was wrong and the claim follows. ∎
Since we fix, by Theorem 5, at least one component of in every iteration of the while loop in Algorithm 1, it follows that the worst-case complexity of Algorithm 1 is . Figure 4 displays the actual average number of iterations in the case that we measured in our numerical results for different ranges of input vectors. In the Figure, one can see that the actual number is close to . Hence, we make the conjecture that half of the components are fixed in average. A mathematical intuition behind this conjecture is that when we compute the projection onto the hyperplane , then every component can be in or not. If , Theorem 10 states that stays in for the whole algorithm or is fixed in the first iteration where it leaves . Staying in would be a good situation, because if , then the algorithm terminates and is the wanted projection onto the parity polytope (see line 35 of Algorithm 1). In the more difficult situation , there are four possibilities: , , and . In two of four, i.e. in half of the cases, we can fix the component of the projection by using Theorem 4. Under the conjecture that all four cases occur with equal probability, we would obtain an average complexity of , i. e. we would have a quadratic worst-case and a linear average-case complexity, similar to the algorithm in [8].
IX Numerical Results
In this section, we compare our new projection algorithm with the projection algorithms from the literature, namely with the algorithm of Zhang and Siegel [6], Wasson and Draper [7], Zhang et al. [8], and Wei and Banihashemi [11]. To have an estimation of the potential complexity for efficient hard- and software implementations, we count the number of arithmetic operations. For this purpose, we count the number of divisions, the number of multiplications and the number of all other low-complexity operations, as e. g. comparisons, additions, substractions or negations. We avoided unnecessary divisions by replacing the comparisons in Algorithm 3 of [6] by and by storing instead of for the computation of in Algorithm 2 of [7]. Comparisons with [math], , the floor operation and assignments to , [math], or other assignments without arithmetic operations were not counted to the low-complexity operations due to their negligible effort in hardware. Since the coefficient vector (or the vector in [7]) could be stored as a boolean array, comparisons of the form or are also negligible and were not counted. Operations of the form , as they appear in several algorithms, were therefore counted as one low-complexity operation, because one can check whether and then make an addition or substraction to compute or , respectively. The sortings from [6] and [7] were implemented with the quicksort algorithm with the last element as pivot element. For simplification, we also chose the last element as pivot element in the partial sorting and the projection onto the simplex in [8].
We simulated projections onto for input vectors from , , , and . For , the dimensions were simulated. For the other three simulations, the dimensions were investigated. For every , one million randomly generated vectors were projected. The results are shown in Figures 5 to 8. Our proposed algorithm is denoted by “Fix”. Figures 5a to 8a show the average number of low-complexity operations and Figure 5b to 8b the average number of multiplications and divisions for different check degrees. After our mentioned simplifications, our algorithm and the algorithm from [11] do not need any multiplications. Hence, the corresponding two plots are left out in the Figures 5b to 8b. The algorithms from [6] and [7] need both exactly one division in the difficult case of and zero in the simple case . The number of divisions of [8] are very similar and form basically the same lines in the Figures 5b to 8b. In these Figures, the number of multiplications and divisions is monotonically decreasing for all five algorithms after a certain value of , although the problem size increases for growing . The same situation can be observed for the low-complexity operations of [11]. This behavior can be explained by Figure 9. It shows the probabilities, measured through our simulations, that the difficult case occurs for some random input from our considered ranges. For all four ranges, we can see that the probabilities decrease after a certain certain check degree. In our proposed and in the two algorithms from [6, 7] it is checked whether . In [8], this check is done in the main case of their algorithm. The approximative algorithm from [11] stops after one iteration in that case. Hence, the number of multiplications and divisions (and low-complexity operations for [11]) decrease for large . Additionally, this means that for and , the projection is very simple, because the hard case is happening only very rarely. Hence, we only considered the degrees for this range.
As can be seen in the Figures 5 to 8, our implementation needs less low-complexity operations than all other implementations for every dimension and every range the random input is created from. The Figures also show that low-complexity operations form the large majority of operations in all considered algorithms. Regarding high-complexity operations, our algorithm needs slightly more divisions than the implementations from [6], [7] and [8]. However, they are less than the sum of divisions and multiplications of every other algorithm in all considered cases. Table I shows the maximum gain in arithmetical operations for different input intervals. The values were obtained by comparing our proposed algorithm with the best result from the other four considered algorithms. Overall, we need up to less arithmetical operations, resulting in lower implementation complexity and making LP decoding more attractive for efficient hardware implementation.
X Conclusion
In this paper, we presented a new reduced-complexity projection algorithm for ADMM-based LP decoding. By establishing the theory of the odd parity polytope similar to that of the even parity polytope, the projection algorithm can be regarded as a recursive problem, where the projections are varying between projections on the even or odd parity polytope. As some components of the input are fixed in every iteration, the problem size is constantly decreasing. In contrast to other exact state-of-the-art projections, the proposed algorithm needs up to 37% less arithmetical operations and additionally requires no sorting operation. These properties make it a very good choice for future hardware implementations.
Acknowledgement
We gratefully acknowledge financial support by the DFG (project-ID: WE 2442/9-3 and RU 1524/2-3).
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] J. Feldman, M. J. Wainwright, and D. R. Karger, “Using linear programming to decode binary linear codes,” IEEE Transactions on Information Theory , vol. 51, no. 3, pp. 954–972, March 2005.
- 2[2] X. Zhang and P. H. Siegel, “Adaptive cut generation algorithm for improved linear programming decoding of binary linear codes,” IEEE Transactions on Information Theory , vol. 58, no. 10, pp. 6581–6594, October 2012.
- 3[3] E. Berlekamp, R. Mc Eliece, and H. van Tilborg, “On the inherent intractability of certain coding problems (corresp.),” IEEE Transactions on Information Theory , vol. 24, no. 3, pp. 384–386, May 1978.
- 4[4] S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein, “Distributed optimization and statistical learning via the alternating direction method of multipliers,” Found. Trends Mach. Learn. , vol. 3, no. 1, pp. 1–122, January 2011. [Online]. Available: http://dx.doi.org/10.1561/2200000016
- 5[5] S. Barman, X. Liu, S. C. Draper, and B. Recht, “Decomposition methods for large scale LP decoding,” IEEE Transactions on Information Theory , vol. 59, no. 12, pp. 7870–7886, December 2013.
- 6[6] X. Zhang and P. H. Siegel, “Efficient iterative LP decoding of LDPC codes with alternating direction method of multipliers,” in 2013 IEEE International Symposium on Information Theory , July 2013, pp. 1501–1505.
- 7[7] M. Wasson and S. C. Draper, “Hardware based projection onto the parity polytope and probability simplex,” in 2015 49th Asilomar Conference on Signals, Systems and Computers , November 2015, pp. 1015–1020.
- 8[8] G. Zhang, R. Heusdens, and W. B. Kleijn, “Large scale LP decoding with low complexity,” IEEE Communications Letters , vol. 17, no. 11, pp. 2152–2155, November 2013.
