Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd.
Published byModified over 4 years ago
Presentation on theme: "Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd."— Presentation transcript:
Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd
Error-Reduction Codes Weaker than error-correcting codes Can remove most of the errors, if not too many message bits and check bits are corrupted Definition A code C of length n with rn message bits and (1 r)n check bits is an error-reduction code of rate r, error reductionε, and reducible distance δ, if there is an algorithm, when given a codeword with v ≤ δ n corrupt message bits and t ≤ δ n corrupt check bits, will output a word that differs from the uncorrupted message in at mostεt message bits
Error-correcting codes from error-reduction codes C 0 : an error-correcting code of block length n 0, rate ¼, and δ /4 fraction of errors can be corrected R k : a family of error-reduction codes with n 0 2 k message bits, n 0 2 k-1 check bits,ε> ½, and δ > 0 C k : block lengths n 0 2 k and rate ¼ M k : the n 0 2 k-2 message bits of C k A k : the n 0 2 k-3 check bits of encoding M k using R k-2 B k : the 3n 0 2 k-3 check bits of encoding A k using C k-1 C’ k : n 0 2 k-2 check bits of encoding A k U B k using R k-1
Lemma 2 (1) The codes C k are error-correcting codes of block length n 0 2 k and rate ¼ from which δ /4 fraction of errors can be corrected (2) C k are linear time encodable/decodable if R k have linear time encoding algorithm and linear time error-reduction algorithm that will (a) on input a word with corrupt message bits and check bits v, t ≤ δ n, output a word with at most max(v/2, t/2) corrupt message bits (b) If v ≤ δn and t = 0, output the codeword without corrupt bits
Proof by induction Base case is the code C 0 of block length n 0, rate ¼, andδ/4 fraction of errors can be corrected. Obviously we can encode/decode C 0 in constant time c Encoding time of C k According to the assumption, R k is linear time encodable/reductable, say c 1 n 0 2 k, c 2 n 0 2 k respectively The time to encode C k = the time to encode R k-2 + the time to encode C k-1 + the time to encode R k-1 = c 1 n 0 2 k-2 + (3c 1 n 0 2 k-2 + c) + c 1 n 0 2 k-1 = 3c 1 n 0 2 k-1 + c (linear in the size of C k )
Error-correction of C k There are not many errors in C k ( ≤ δ /4 fraction) (1) Use C’ k as check bits to reduce errors in A k U B k, then not many errors left in A k U B k ( ≤ δ /8 fraction) (2) In fact is a A k U B k codeword of C k-1, by inductive hypothesis, C k-1 can correct all left errors in A k U B k (3) Since now A k is free of error, and not many errors in M k ( ≤ δ /4 fraction), we can use A k as check bits to correct all errors in M k (according to the assumption at (2)(b))
A simple construction B is a (d, 2d) regular graph
Simple Sequential Error-Reduction Algorithm Repeat If there is a message bit that has more unsatisfied than satisfied neighbors, then flip that bit Until no such message bit remains Lemma 10 let B be a (c,d,α,3/4 d + 2) expander graph, if the algorithm above for R(B) is given a word x that differs from a codeword w of R(B) in at most v ≤ αn/2 message bits and t ≤ αn/2 check bits, then the algorithm will output a word that differs from w in at most t/2 of its message bits
Proof This algorithm is very similar to the simple sequential algorithm for expander codes First show if αn ≥ v ≥ t/2, there is a node that has more unsatisfied than satisfied neighbors Since each time the number of unsatisfied check bits decreases, we can prove αn ≥ v is always true. So the algorithm can only end up with v < t/2, which means errors are reduced. Constant degrees, obviously in linear time.
Simple Parallel Error-Reduction Round For each message bit, count the number of unsatisfied check bits among its neighbors Flip each message bit that has more unsatisfied than satisfied neighbors Lemma 13 Assume a word differs from a codeword w of R(B) in at most v ≤ αn/2 message bits and t ≤ αn/2 check bits, then the round algorithm will output a word that differs from w in at most v(d 4)/d of its message bits Simple Parallel Error-Reduction Algorithm Iterate log d/(d-4 ) 2 simple parallel error-reduction rounds
Theorem 15 From a family of (c,d,α,3/4 d + 4) expander graphs between sets of n 0 2 k and n 0 2 k-1 vertices for all k ≥ 1, one can construct an infinite family of error-correcting Codes that have linear-time encoding algorithms and linear-time decoding algorithms that will correct an α/8 Fraction of error. Problem Such graphs can be only obtained through a randomized construction.