On the guaranteed error correction capability of LDPC codes
Shashi Kiran Chilappagari, Dung Viet Nguyen, Bane Vasic, Michael Marcellin
aa r X i v : . [ c s . I T ] J a n On the guaranteed error correction capability ofLDPC codes
Shashi Kiran Chilappagari, Dung Viet Nguyen, Bane Vasi´c, Michael Marcellin
Dept. of Electrical and Computer Eng.University of ArizonaTucson, AZ 85721, USAEmail: { shashic,nguyendv,vasic,marcellin } @ece.arizona.edu Abstract — We investigate the relation between the girth andthe guaranteed error correction capability of γ -left regular LDPCcodes when decoded using the bit flipping (serial and parallel)algorithms. A lower bound on the number of variable nodeswhich expand by a factor of at least γ/ is found based onthe Moore bound. An upper bound on the guaranteed correctioncapability is established by studying the sizes of smallest possibletrapping sets. I. I
NTRODUCTION
Iterative algorithms for decoding low-density parity-check(LDPC) codes have been the focus of research over the pastdecade and most of their properties are well understood [1],[2]. These algorithms operate by passing messages alongthe edges of a graphical representation of the code knownas the Tanner graph, and are optimal when the underlyinggraph is a tree. Message passing decoders perform remarkablywell which can be attributed to their ability to correct errorsbeyond the traditional bounded distance decoding capability.However, in contrast to bounded distance decoders (BDDs),the guaranteed error correction capability of iterative decodersis largely unknown.The problem of recovering from a fixed number of erasuresis solved for iterative decoding on the binary erasure channel(BEC). If the Tanner graph of a code does not contain anystopping sets [3] up to size t (or equivalently the size ofminimum stopping set is t + 1 ), then the decoder is guaranteedto recover from any t erasures. Orlitsky et al. in [4] studied therelation between stopping sets and girth and derived bounds onthe smallest stopping set in any d -left regular bipartite graphand girth g .An analogous result is unknown for decoding on otherchannels such as the binary symmetric channel (BSC) andthe additive white Gaussian noise (AWGN) channel. In thispaper, we present a step toward such result for hard decisiondecoding algorithms. Gallager [5] proposed two binary mes-sage passing algorithms, namely Gallager A and Gallager B,for decoding over the BSC. He showed that for the column-weight γ ≥ and ρ > γ , there exist ( n, γ, ρ ) regular low-density parity-check (LDPC) codes for which the bit errorprobability asymptotically tends to zero whenever we operatebelow the threshold. The minimum distance was shown to Precise definitions will be given in Section II increase linearly with the code length, but correction of alinear fraction of errors was not shown. Zyablov and Pinsker[6] analyzed LDPC codes under a simpler decoding algorithmknown as the bit flipping algorithm and showed that almostall the codes in the regular ensemble with γ ≥ cancorrect a constant fraction of worst case errors. Sipser andSpielman in [7] used expander graph arguments to analyzetwo bit flipping algorithms, serial and parallel. Specifically,they showed that these algorithms can correct a fraction oferrors if the underlying Tanner graph is a good expander.Burshtein and Miller in [8] applied expander based argumentsto show that message passing algorithms can also correct afixed fraction of worst case errors when the degree of eachvariable node is more than five. Feldman et al. [9] showedthat the linear programming decoder [10] is also capable ofcorrecting a fraction of errors. Recently, Burshtein in [11]showed that regular codes with variable nodes of degree fourare capable of correcting a linear number of errors under bitflipping algorithm. He also showed tremendous improvementin the fraction of correctable errors when the variable nodedegree is at least five.It is well known that a random graph is a good expanderwith high probability [7]. However, the fraction of nodeshaving the required expansion is very small and hence thecode length to guarantee correction of a fixed number of errorsmust be large. Moreover, determining the expansion of a givengraph is known to be NP hard [12], and spectral gap methodscannot guarantee an expansion factor of more than 1/2 [7]. Onthe other hand, code parameters such as column weight andgirth can be easily determined or are assumed to be known forthe code under consideration. The approach in this paper is todetermine the size of variable node sets in a left regular LDPCcode which are guaranteed to have the expansion required bybit flipping algorithms based on Moore bound [13, p.180].The consequence of our results is that the error correctioncapability grows exponentially in girth. However, we note thatsince the girth grows logarithmically in the code length, thisresult does not show that the bit flipping algorithms can correcta linear fraction of errors (the proof and discussion are beyondthe scope of this paper).To find an upper bound on the number of correctable errors,we study the size of sets of variable nodes which lead todecoding failures. A decoding failure is said to have occurredf the output of the decoder is not equal to the transmittedcodeword [14]. The conditions that lead to decoding failuresare well understood for a variety of decoding algorithms suchas maximum likelihood decoding, bounded distance decodingand iterative decoding on the binary erasure channel. However,for iterative decoding on the BSC and AWGN channel, theunderstanding is far from complete. Two approaches have beentaken in this direction, namely trapping sets [14] and pseudo-codewords [15]. We adopt the trapping set approach in thispaper to characterize decoding failures. Richardson introducedthe notion of trapping sets in [14] to estimate the error flooron the AWGN channel. In [16], trapping sets were used toestimate the frame error rate of column-weigh-three LDPCcodes. In this paper, we define trapping sets with the help offixed points for the bit flipping algorithms (both serial andparallel). We then find bounds on the size of trapping setsbased on extremal graphs known as cage graphs [17], therebyfinding an upper bound on the guaranteed error correctioncapability.The rest of the paper is organized as follows. In SectionII, we provide a brief introduction to LDPC codes, decodingalgorithms and trapping sets [14]. In Section III, we proveour main theorem relating the column weight and girth to thenumber of variable nodes which expand by a factor of at least γ/ . We derive bounds on the size of trapping sets in SectionIV, and conclude with a few remarks in Section V.II. P RELIMINARIES
In this section, we first establish the notation and thenproceed to give a brief introduction to LDPC codes and bitflipping algorithms. We then give the relation between the errorcorrection capability of the code and the expansion of theunderlying Tanner graph. We finally describe trapping sets forthe bit flipping algorithms.
A. Graph Theory Notation
We adopt the standard notation in graph theory (see [18]for example). G = ( U, E ) denotes a graph with set of nodes U and set of edges E . When there is no ambiguity, we simplydenote the graph by G . An edge e is an unordered pair ( u , u ) of nodes and is said to be incident on u and u . Two nodes u and u are said to be adjacent (neighbors) if there is anedge e = ( u , u ) incident on them. The order of the graph is | U | and the size of the graph is | E | . The degree of u , d ( u ) ,is the number of its neighbors. A node with degree one iscalled a leaf or a pendant node. A graph is d -regular if allthe nodes have degree d . The average degree d of a graph isdefined as d = 2 | E | / | U | . The girth g ( G ) of a graph G , is thelength of smallest cycle in G . H = ( V ∪ C, E ′ ) denotes abipartite graph with two sets of nodes; variable (left) nodes V and check (right) nodes C and edge set E ′ . Nodes in V haveneighbors only in C and vice versa. A bipartite graph is saidto be γ -left regular if all variable nodes have degree γ , ρ -rightregular if all check nodes have degree ρ and ( γ, ρ ) regularif all variable nodes have degree γ and all check nodes havedegree ρ . The girth of a bipartite graph is even. B. LDPC Codes and Decoding Algorithms
LDPC codes [5] are a class of linear block codes which canbe defined by sparse bipartite graphs [19]. Let G be a bipartitegraph with two sets of nodes: n variable nodes and m checknodes. This graph defines a linear block code C of length n anddimension at least n − m in the following way: The n variablenodes are associated to the n coordinates of codewords. Avector v = ( v , v , . . . , v n ) is a codeword if and only if foreach check node, the modulo two sum of its neighbors is zero.Such a graphical representation of an LDPC code is calledthe Tanner graph [20] of the code. The adjacency matrix of G gives a parity check matrix of C . An ( n, γ, ρ ) regular LDPCcode has a Tanner graph with n variable nodes each of degree γ (column weight) and nγ/ρ check nodes each of degree ρ (row weight). This code has length n and rate r ≥ − γ/ρ [19].We now describe the parallel bit flipping algorithm [6], [7]to decode LDPC codes. As noted earlier, each check nodeimposes a constraint on the neighboring variable nodes. Aconstraint (check node) is said to be satisfied by a setting ofvariable nodes if the sum of the variable nodes in the constraintis even; otherwise the constraint is unsatisfied. Parallel Bit Flipping Algorithm • In parallel, flip each variable that is in more unsatisfiedthan satisfied constraints. • Repeat until no such variable remains.A serial version of the algorithm is also defined in [7] and allthe results in this paper hold for the serial bit flipping algorithmalso. The bit flipping algorithms are iterative in nature but donot belong to the class of message passing algorithms.
C. Expansion and Error Correction Capability
Sipser and Spielman [7] analyzed the performance of thebit flipping algorithms using the expansion properties of theunderlying Tanner graph of the code. We summarize the resultsfrom [7] below for the sake of completeness. We start withthe following definitions from [7].
Definition 1:
Let G = ( U, E ) with | U | = n . We say that every set of at most m nodes expands by a factor of δ if, forall sets S ⊂ U | S | ≤ m ⇒ |{ y : ∃ x ∈ S such that ( x, y ) ∈ E }| > δ | S | . We consider bipartite graphs and expansion of variable nodesonly.
Definition 2:
A graph is a ( γ, ρ, α, δ ) expander if it is a ( γ, ρ ) regular bipartite graph in which every subset of at most α fraction of the variable nodes expands by a factor of at least δ .The following theorem from [7] relates the expansion and errorcorrection capability of an ( n, γ, ρ ) LDPC code with Tannergraph G when decoded using the parallel bit flipping decodingalgorithm. Theorem 1: [7, Theorem 11] Let G be a ( γ, ρ, α, (3 / ǫ ) γ ) expander over n variable nodes, for any ǫ > . Then,the simple parallel decoding algorithm will correct any α < (1 + 4 ǫ ) / fraction of errors after log − ǫ ( α n ) decodingrounds. Notes:
1) The serial bit flipping algorithm can also correct α <α/ fraction of errors if G is a ( γ, ρ, α, (3 / γ ) ex-pander.2) The results hold for any left regular code as we needexpansion of variable nodes only.From the above discussion, we observe that finding the numberof variable nodes which are guaranteed to expand by a factorof at least γ/ , gives a lower bound on the guaranteed errorcorrection capability of LDPC codes. D. Decoding Failures and Trapping Sets
We now define decoding failures of the bit flipping algo-rithms and characterize these failures using trapping sets.Consider an LDPC code of length n and let x be the binaryvector which is the input to the hard decision decoder. Let S ( x ) be the support of x . The support of x is defined as theset of all positions i where x ( i ) = 0 . The set of variable nodes(bits) which differ from their original value are referred to ascorrupt variables. Definition 3: x is a fixed point of the bit flipping algorithmif the set of corrupt variables remains unchanged after oneround of decoding. Definition 4: [16] Let x be a fixed point. Then S ( x ) isknown as a trapping set. An ( a, b ) trapping set T is a set of a variable nodes whose induced subgraph has b odd degreechecks.The size of T denoted by |T | is the number of variable nodesin T . From the definitions, it is clear that if the input to thedecoder is a fixed point then the output is also the same fixedpoint. Or in other words, if the initial errors are in variablenodes corresponding to a trapping set, then the decoder willnot converge to the original codeword. Hence, bounding thesize of trapping sets gives an upper bound on the guaranteederror correction capability. Apart from fixed point decodingfailures, there exist other types of failures, the discussion ofwhich is beyond the scope of this paper.III. E XPANSION , C
OLUMN W EIGHT AND G IRTH
In this section, we prove our main theorem which relatesthe column weight and girth of a code to its error correctioncapability. We show that the size of variable node sets whichhave the required expansion is related to the well knownMoore bound [13, p.180]. We start with a few definitionsrequired to establish the main theorem.
A. DefinitionsDefinition 5:
The reduced graph H r = ( V ∪ C r , E ′ r ) of H = ( V ∪ C, E ′ ) is a graph with vertex set V ∪ C r and edgeset E ′ r given by C r = C \ C p , C p = { c ∈ C : c is a pendant node } E ′ r = E ′ \ E ′ p , E ′ p = { ( v i , c j ) ∈ E : c j ∈ C p } Definition 6:
Let H = ( V ∪ C, E ′ ) be such that ∀ v ∈ V, d ( v ) ≤ γ . The γ augmented graph H γ = ( V ∪ C γ , E ′ γ ) is a graph with vertex set V ∪ C γ and edge set E ′ γ given by C γ = C ∪ C a , where C a = | V | [ i =1 C ia and C ia = { c i , . . . , c iγ − d ( v i ) } .E ′ γ = E ′ ∪ E ′ a , where E ′ a = | V | [ i =1 E ′ ia and E ′ ia = { ( v i , c j ) ∈ V × C a : c j ∈ C ia } . Definition 7: [7, Definition 4] The edge-vertex incidencegraph G ev = ( U ∪ E, E ev ) of G = ( U, E ) is the bipartitegraph with vertex set U ∪ E and edge set E ev = { ( e, u ) ∈ E × U : u is an endpoint of e } . Notes:
1) The edge-vertex incidence graph is right regular withdegree two.2) | E ev | = 2 | E | .3) g ( G ev ) = 2 g ( G ) . Definition 8: An inverse edge-vertex incidence graph H iev = ( V, E ′ iev ) of H = ( V ∪ C, E ′ ) is a graph with vertexset V and edge set E ′ iev which is obtained as follows. For c ∈ C r , let N ( c ) denote the set of neighbors of c . Label onenode v i ∈ N ( c ) as a root node. Then E ′ iev = { ( v i , v j ) ∈ V × V : v i ∈ N ( c ) , v j ∈ N ( c ) ,i = j, v i is a root node, for some c ∈ C r } . Notes:
1) Given a graph, the inverse edge-vertex incidence graphis not unique.2) g ( H iev ) ≥ g ( H ) / , | E ′ iev | = | E ′ r | − | C r | and | C r | ≤| E ′ r | / | E ′ iev | ≥ | E ′ r | / with equality only if all checks in C r have degree two.4) The term inverse edge-vertex incidence is used for thefollowing reason. Suppose all checks in H have degreetwo. Then the edge-vertex incidence graph of H iev is H .The Moore bound [13, p.180] denoted by n ( d, g ) is a lowerbound on the least number of vertices in a d -regular graph withgirth g . It is given by n ( d, g ) = n ( d, r + 1) = 1 + d r − X i =0 ( d − i , g odd n ( d, g ) = n ( d, r ) = 2 r − X i =0 ( d − i , g evenIn [21], it was shown that a similar bound holds for irregulargraphs. Theorem 2: [21] The number of nodes n ( d, g ) in a graphof girth g and average degree at least d ≥ satisfies: n ( d, g ) ≥ n ( d, g ) Note that d need not be an integer in the above theorem. . The Main Theorem We now state and prove the main theorem.
Theorem 3:
Let C be an LDPC code with γ -left regularTanner graph G . Let g ( G ) = 2 g ′ . Then for all k < n ( γ/ , g ′ ) ,any set of k variable nodes expands by a factor of at least γ/ . Proof:
Let G k = ( V k ∪ C k , E k ) denote the subgraphinduced by a set of k variable nodes V k . Since G is γ -leftregular, | E k | = γk . Let G kr = ( V k ∪ C kr , E kr ) be the reducedgraph. We have | C k | = | C kr | + | C kp || E k | = | E kp | + | E kr || E kp | = | C kp || C kp | = γk − | E kr | We need to prove that | C k | > γk/ .Let f ( k, g ′ ) denote the maximum number of edges in anarbitrary graph of order k and girth g ′ . By Theorem 2, for all k < n ( γ/ , g ′ ) , the average degree of a graph with k nodesand girth g ′ is less than γ/ . Hence, f ( k, g ′ ) < γk/ . Wenow have the following lemma. Lemma 1:
The number of edges in G kr cannot exceed f ( k, g ′ ) i.e., | E kr | ≤ f ( k, g ′ ) . Proof:
The proof is by contradiction. Assume that | E kr | > f ( k, g ′ ) . Consider G kiev = ( V k , E kiev ) , an inverse edge vertexincidence graph of G k . We have | E kiev | > f ( k, g ′ ) . This is a contradiction as G keiv is a graph of order k and girthat least g ′ .We now find a lower bound on | C k | in terms of f ( k, g ′ ) . Wehave the following lemma. Lemma 2: | C k | ≥ γk − f ( k, g ′ ) . Proof:
Let | E kr | = 2 f ( k, g ′ ) − j for some integer j ≥ . Then | E kp | = γk − f ( k, g ′ ) + j . We claim that | C kr | ≥ f ( k, g ′ ) + j . To see this, we note that | E kiev | = | E kr | − | C kr | , or | C kr | = | E kr | − | E kiev | But | E kiev | ≤ f ( k, g ′ ) ⇒ | C kr | ≥ f ( k, g ′ ) − j − f ( k, g ′ ) ⇒ | C kr | ≥ f ( k, g ′ ) − j Hence we have, | C k | = | C kr | + | C kp |⇒ | C k | ≥ f ( k, g ′ ) − j + γk − f ( k, g ′ ) + j ⇒ | C k | ≥ γk − f ( k, g ′ ) . The theorem now follows as f ( k, g ′ ) < γk/ and therefore | C k | > γk/ Corollary 1:
Let C be an LDPC code with column-weight γ and girth g ′ . Then the bit flipping algorithm can correctany error pattern of weight less than n ( γ/ , g ′ ) / .IV. C AGE G RAPHS AND T RAPPING S ETS
In this section, we first give necessary and sufficient con-ditions for a given set of variables to be a trapping set. Wethen proceed to define a class of interesting graphs known ascage graphs and establish a relation between cage graphs[17]and trapping sets. We then give an upper bound on the errorcorrection capability based on the sizes of cage graphs. Theproofs in this section are along the same lines as in SectionIII. Hence, due to space considerations, we only give a sketchof the proofs.
Theorem 4:
Let C be an LDPC code with γ -left regularTanner graph G . Let T be a set consisting of V variable nodeswith induced subgraph I . Let the checks in I be partitionedinto two disjoint subsets; O consisting of checks with odddegree and E consisting of checks with even degree. Then T is a trapping set for bit flipping algorithm iff : (a) Everyvariable node in I has at least ⌈ γ/ ⌉ neighbors in E , and (b)No ⌊ γ/ ⌋ + 1 checks of O share a neighbor outside I . Proof:
We first show that the conditions stated aresufficient. Let x T be the input to the bit flipping algorithm,with support T . The only unsatisfied constraints are in O . Bythe conditions of the theorem, we observe that no variablenode is involved in more unsatisfied constraints than satisfiedconstraints. Hence, no variable node is flipped and by defini-tion x T is a fixed point implying that T is a trapping set.To see that the conditions are necessary, observe that for x T to be a trapping set, no variable node should be involvedin more unsatisfied constraints than satisfied constraints. Remark:
Theorem 4 is a consequence of Fact 3 from [14].To determine whether a given set of variables is a trappingset, it is necessary to not only know the induced subgraphbut also the neighbors of the odd degree checks. However, inorder to establish general bounds on the sizes of trapping setsgiven only the column weight and the girth, we consider onlycondition (a) of Theorem 4 which is a necessary condition.A set of variable nodes satisfying condition (a) is known as a potential trapping set . A trapping set is a potential trapping setthat satisfies condition (b). Hence, finding bounds on the sizeof potential trapping sets gives bounds on the size of trappingsets.
Definition 9: [17] A ( d, g ) - cage graph , G ( d, g ) , is a d -regular graph with girth g having the minimum possiblenumber of nodes.A lower bound, n l ( d, g ) , on the number of nodes n c ( d, g ) ina ( d, g ) -cage graph is given by the Moore bound. An upperbound n u ( d, g ) on n c ( d, g ) (see [17] and references therein)s given by n u (3 , g ) = (cid:26) + g − for g odd + g − for g even n u ( d, g ) = (cid:26) d − g − for g odd d − g − for g even Theorem 5:
Let C be an LDPC code with γ -left regularTanner graph G and girth g ′ . Let T ( γ, g ′ ) denote thethe smallest possible trapping set of C for the bit flippingalgorithm. Then, |T ( γ, g ′ ) | = n c ( ⌈ γ/ ⌉ , g ′ ) Proof:
We first find a lower bound on |T ( γ, g ′ ) | andthen exhibit a potential trapping set of size n c ( ⌈ γ/ ⌉ , g ′ ) . Webegin with the following lemma. Lemma 3: |T ( γ, g ′ ) | ≥ n c ( ⌈ γ/ ⌉ , g ′ ) . Proof:
Let T be a trapping set with |T | < n c ( ⌈ γ/ ⌉ , g ′ ) and let G denote the induced subgraph of T . We canconstruct a ( ⌈ γ/ ⌉ , g ′′ ) - cage graph ( g ′′ ≥ g ) with |T | Let C be an LDPC code with column-weight γ and girth g ′ . Then the bit flipping algorithm cannot beguaranteed to correct all error patterns of weight more than orequal to n c ( ⌈ γ/ ⌉ , g ′ ) .V. D ISCUSSION We derived lower bounds and upper bounds on the guar-anteed error correction capability of left regular LDPC codes.The lower bounds we derived in this paper are weak. However,extremal graphs avoiding three, four and five cycles have beenstudied in great detail (see [22], [23]) and these results canbe used to derive tighter bounds when the girth is eight, tenor twelve. Also, since an expansion factor of γ/ is notnecessary (see [7, Theorem 24]), it is possible that tighterlower bounds can be derived for some cases. The results canbe extended to Gallager A and Gallager B algorithms as well.It should be noted that the necessary and sufficient conditionsfor a set to be trapping set for Gallager A/B algorithms aresimilar (depending on the message passing rules) to those inTheorem 4. Our approach can be used to derive bounds on theguaranteed erasure recovery capability for iterative decodingon the BEC by finding number of variable nodes which expandby a factor of γ/ . In [4], the bounds on the guaranteed erasurerecovery capability were derived based on the size of smalleststopping set. Both approaches give the same bound, whichalso coincide with the bounds given by Tanner in [20] for theminimum distance. A CKNOWLEDGMENT This work is funded by NSF under Grant CCF-0634969,ITR-0325979, ECCS-0725405 and INSIC-EHDR program.R EFERENCES[1] T. J. Richardson and R. Urbanke, “The capacity of low-density parity-check codes under message-passing decoding,” IEEE Trans. Inform.Theory , vol. 47, no. 2, pp. 599–618, Feb. 2001.[2] T. J. Richardson, M. Shokrollahi, and R. Urbanke, “Design of capacity-approaching irregular low-density parity-check codes,” IEEE Trans.Inform. Theory , vol. 47, no. 2, pp. 638–656, Feb. 2001.[3] C. Di, D. Proietti, T. Richardson, E. Telatar, and R. Urbanke, “Finitelength analysis of low-density parity-check codes,” IEEE Trans. Inform.Theory , vol. 48, pp. 1570–1579, June 2002.[4] A. Orlitsky, R. Urbanke, K. Viswanathan, and J. Zhang, “Stoppingsets and the girth of tanner graphs,” in Proc. of IEEE InternationalSymposium on Information Theory , 2002, p. 2.[5] R. G. Gallager, Low Density Parity Check Codes . Cambridge, MA:M.I.T. Press, 1963.[6] V. V. Zyablov and M. S. Pinsker, “Estimation of the error-correctioncomplexity for Gallager low-density codes,” Problems of InformationTransmission , vol. 11, no. 1, pp. 18–28, 1976.[7] M. Sipser and D. Spielman, “Expander codes,” IEEE Trans. Inform.Theory , vol. 42, no. 6, pp. 1710–1722, Nov. 1996.[8] D. Burshtein and G. Miller, “Expander graph arguments for message-passing algorithms,” IEEE Trans. Inform. Theory , vol. 47, no. 2, pp.782–790, Feb. 2001.[9] J. Feldman, T. Malkin, R. A. Servedio, C. Stein, and M. J. Wainwright,“LP decoding corrects a constant fraction of errors,” IEEE Trans. Inform.Theory , vol. 53, no. 1, pp. 82–89, Jan. 2007.[10] J. Feldman, M. J. Wainwright, and D. R. Karger, “Using linear pro-gramming to decode binary linear codes,” IEEE Trans. Inform. Theory ,vol. 51, no. 3, pp. 954–972, March 2005.[11] D. Burshtein, “On the error correction of regular LDPC codes usingthe flipping algorithm,” in Proc. of IEEE International Symposium onInformation Theory , June 2007, pp. 226–230.[12] N. Alon, “Spectral techniques in graph algorithms,” in LATIN ’98:Proceedings of the Third Latin American Symposium on TheoreticalInformatics . London, UK: Springer-Verlag, 1998, pp. 206–215.[13] N. Biggs, Algebraic graph theory . Cambridge: Cambridge UniversityPress, 1993.[14] T. J. Richardson, “Error floors of LDPC codes,” in Proc. of 41st AnnualAllerton Conf. on Communications, Control and Computing Proc. of IEEEInternational Conference on Communications , vol. 3, June 11-15 2006,pp. 1089–1094.[17] E. W. Weisstein, “Cage graph.” [Online]. Available:http://mathworld.wolfram.com/CageGraph.html[18] B. Bollobas, Extremal graph theory . London: Academic Press Inc.,1978.[19] A. Shokrollahi, “An introduction to low-density parity-check codes,” in Theoretical aspects of computer science: advanced lectures . New York,NY, USA: Springer-Verlag New York, Inc., 2002, pp. 175–197.[20] R. M. Tanner, “A recursive approach to low complexity codes,” IEEETrans. Inform. Theory , vol. 27, no. 5, pp. 533–547, Sept. 1981.[21] N. Alon, S. Hoory, and M. Linial, “The moore bound for irregulargraphs,” Graphs and Combinatorics , vol. 18, no. 1, pp. 53–57, 2002.[22] D. K. Garnick, Y. H. H. Kwong, and F. Lazebnik, “Extremal graphswithout three-cycles or four-cycles,” J. Graph Theory , vol. 17, no. 5,pp. 633–645, 1993.[23] Y. Yuansheng, L. Xiaohui, D. Guocheng, and Z. Yongxiang, “Extremalgraphs without three-cycles, four-cycles or five-cycles,”