296.3Page1 296.3:Algorithms in the Real World Error Correcting Codes III (expander based codes) – Expander graphs – Low density parity check (LDPC) codes.

Slides:



Advertisements
Similar presentations
Randomness Conductors Expander Graphs Randomness Extractors Condensers Universal Hash Functions
Advertisements

Great Theoretical Ideas in Computer Science
Approximate List- Decoding and Hardness Amplification Valentine Kabanets (SFU) joint work with Russell Impagliazzo and Ragesh Jaiswal (UCSD)
Error Control Code.
Gibbs sampler - simple properties It’s not hard to show that this MC chain is aperiodic. Often is reversible distribution. If in addition the chain is.
296.3Page :Algorithms in the Real World Error Correcting Codes II – Cyclic Codes – Reed-Solomon Codes.
15-853:Algorithms in the Real World
(speaker) Fedor Groshev Vladimir Potapov Victor Zyablov IITP RAS, Moscow.
Multicut Lower Bounds via Network Coding Anna Blasiak Cornell University.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
Approximation Algorithms for Unique Games Luca Trevisan Slides by Avi Eyal.
Analysis of Network Diffusion and Distributed Network Algorithms Rajmohan Rajaraman Northeastern University, Boston May 2012 Chennai Network Optimization.
DATA MINING LECTURE 12 Link Analysis Ranking Random walks.
Near Shannon Limit Performance of Low Density Parity Check Codes
Tirgul 9 Amortized analysis Graph representation.
Linear-time encodable and decodable error-correcting codes Daniel A. Spielman Presented by Tian Sang Jed Liu 2003 March 3rd.
Constant Degree, Lossless Expanders Omer Reingold AT&T joint work with Michael Capalbo (IAS), Salil Vadhan (Harvard), and Avi Wigderson (Hebrew U., IAS)
Great Theoretical Ideas in Computer Science.
Undirected ST-Connectivity 2 DL Omer Reingold, STOC 2005: Presented by: Fenghui Zhang CPSC 637 – paper presentation.
EXPANDER GRAPHS Properties & Applications. Things to cover ! Definitions Properties Combinatorial, Spectral properties Constructions “Explicit” constructions.
Message Passing for the Coloring Problem: Gallager Meets Alon and Kahale Sonny Ben-Shimon and Dan Vilenchik Tel Aviv University AofA June, 2007 TexPoint.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Code and Decoder Design of LDPC Codes for Gbps Systems Jeremy Thorpe Presented to: Microsoft Research
Zig-Zag Expanders Seminar in Theory and Algorithmic Research Sashka Davis UCSD, April 2005 “ Entropy Waves, the Zig-Zag Graph Product, and New Constant-
RAPTOR CODES AMIN SHOKROLLAHI DF Digital Fountain Technical Report.
Expanders Eliyahu Kiperwasser. What is it? Expanders are graphs with no small cuts. The later gives several unique traits to such graph, such as: – High.
For slideshow: click “Research and Talks” from slideshow: click “Research and Talks”
Randomness in Computation and Communication Part 1: Randomized algorithms Lap Chi Lau CSE CUHK.
Ramanujan Graphs of Every Degree Adam Marcus (Crisply, Yale) Daniel Spielman (Yale) Nikhil Srivastava (MSR India)
1 Verification Codes Michael Luby, Digital Fountain, Inc. Michael Mitzenmacher Harvard University and Digital Fountain, Inc.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
The Role of Specialization in LDPC Codes Jeremy Thorpe Pizza Meeting Talk 2/12/03.
CS774. Markov Random Field : Theory and Application Lecture 10 Kyomin Jung KAIST Oct
exercise in the previous class (1)
1 Entropy Waves, The Zigzag Graph Product, and New Constant-Degree Expanders Omer Reingold Salil Vadhan Avi Wigderson Lecturer: Oded Levy.
Analysis of Iterative Decoding
Repairable Fountain Codes Megasthenis Asteris, Alexandros G. Dimakis IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 32, NO. 5, MAY /5/221.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
Wireless Mobile Communication and Transmission Lab. Theory and Technology of Error Control Coding Chapter 7 Low Density Parity Check Codes.
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
Expanders via Random Spanning Trees R 許榮財 R 黃佳婷 R 黃怡嘉.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
Expander Graphs for Digital Stream Authentication and Robust Overlay Networks Presented by Neeraj Agrawal, Zifei Zhong.
15-853:Algorithms in the Real World
ADVANTAGE of GENERATOR MATRIX:
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Detection (§3.2.2)
15-853Page :Algorithms in the Real World Error Correcting Codes III (expander based codes) – Expander graphs – Low density parity check (LDPC) codes.
1/19 Minimizing weighted completion time with precedence constraints Nikhil Bansal (IBM) Subhash Khot (NYU)
NP-Complete problems.
Computer Science Division
Part 1: Overview of Low Density Parity Check(LDPC) codes.
Low Density Parity Check codes
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Error Detection and Correction – Hamming Code
Artur Czumaj DIMAP DIMAP (Centre for Discrete Maths and it Applications) Computer Science & Department of Computer Science University of Warwick Testing.
Network RS Codes for Efficient Network Adversary Localization Sidharth Jaggi Minghua Chen Hongyi Yao.
Complexity and Efficient Algorithms Group / Department of Computer Science Testing the Cluster Structure of Graphs Christian Sohler joint work with Artur.
 In the previews parts we have seen some kind of segmentation method.  In this lecture we will see graph cut, which is a another segmentation method.
Raptor Codes Amin Shokrollahi EPFL. BEC(p 1 ) BEC(p 2 ) BEC(p 3 ) BEC(p 4 ) BEC(p 5 ) BEC(p 6 ) Communication on Multiple Unknown Channels.
Hamming Distance & Hamming Code
Presented by Alon Levin
Error-Correcting Code
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
1 Entropy Waves, The Zigzag Graph Product, and New Constant-Degree Expanders Omer Reingold Salil Vadhan Avi Wigderson Lecturer: Oded Levy.
15-853:Algorithms in the Real World
Degree and Eigenvector Centrality
Randomized Algorithms CS648
Locality In Distributed Graph Algorithms
Presentation transcript:

296.3Page :Algorithms in the Real World Error Correcting Codes III (expander based codes) – Expander graphs – Low density parity check (LDPC) codes – Tornado codes Thanks to Shuchi Chawla for many of the slides

296.3Page2 Why Expander Based Codes? Linear codes like RS & random linear codes The other two give nearly optimal rates But they are slow : Assuming an (n, (1-p)n, (1-  )pn+1) 2 tornado code CodeEncodingDecoding Random LinearO(n 2 )O(n 3 ) RSO(n log n)O(n 2 ) LDPCO(n 2 ) or betterO(n) TornadoO(n log 1/  )

296.3Page3 Error Correcting Codes Outline Introduction Linear codes Read Solomon Codes Expander Based Codes –Expander Graphs –Low Density Parity Check (LDPC) codes –Tornado Codes

296.3Page4 Expander Graphs (non-bipartite) Properties –Expansion: every small subset (k ≤  n) has many (≥  k) neighbors –Low degree – not technically part of the definition, but typically assumed k ≤  n ≥  k G

296.3Page5 Expander Graphs (bipartite) Properties –Expansion: every small subset (k ≤  n) on left has many ( ≥  k) neighbors on right –Low degree – not technically part of the definition, but typically assumed k bits (k ≤  n)  k bits

296.3Page6 Expander Graphs Useful properties: –Every set of vertices has many neighbors –Every balanced cut has many edges crossing it –A random walk will quickly converge to the stationary distribution (rapid mixing) –The graph has “high dimension” –Expansion is related to the eigenvalues of the adjacency matrix

296.3Page7 Expander Graphs: Applications Pseudo-randomness: implement randomized algorithms with few random bits Cryptography: strong one-way functions from weak ones. Hashing: efficient n-wise independent hash functions Random walks: quickly spreading probability as you walk through a graph Error Correcting Codes: several constructions Communication networks: fault tolerance, gossip- based protocols, peer-to-peer networks

296.3Page8 d-regular graphs An undirected graph is d-regular if every vertex has d neighbors. A bipartite graph is d-regular if every vertex on the left has d neighbors on the right. The constructions we will be looking at are all d- regular.

296.3Page9 Expander Graphs: Eigenvalues Consider the normalized adjacency matrix A ij for an undirected graph G (all rows sum to 1) The (x i, i ) satisfying A x i = i x i are the eigenvectors and eigenvalues of A. Consider the eigenvalues 0 ≥ 1 ≥ 2 ≥ … For a d-regular graph, 0 = 1. Why? The separation of the eigenvalues tell you a lot about the graph (we will revisit this several times). If 1 is much smaller than 0 then the graph is an expander. Expansion  ≥ (1/  ) 2

296.3Page10 Expander Graphs: Constructions Important parameters:size (n), degree (d), expansion (  ) Randomized constructions –A random d-regular graph is an expander with a high probability –Construct by choosing d random perfect matchings –Time consuming and cannot be stored compactly –Difficult to verify exact expansion Explicit constructions –Cayley graphs, Ramanujan graphs etc –Typical technique – start with a small expander, apply operations to increase its size

296.3Page11 Expander Graphs: Constructions Start with a small expander, and apply operations to make it bigger while preserving expansion Squaring –G 2 contains edge (u,w) if G contains edges (u,v) and (v,w) for some node v –A’ = A 2 – 1/d I – ’ = 2 – 1/d –d’ = d 2 - d Size  Degree  Expansion 

296.3Page12 Expander Graphs: Constructions Start with a small expander, and apply operations to make it bigger while preserving expansion Tensor Product (Kronecker product) –G = AxB nodes are (a,b)  a  A and b  B –edge between (a,b) and (a’,b’) if A contains (a,a’) and B contains (b,b’) –n’ = n A n B – ’ = max ( A, B ) –d’ = d A d B Size  Degree  Expansion 

296.3Page13 Expander Graphs: Constructions Start with a small expander, and apply operations to make it bigger while preserving expansion Zig-Zag product (Reingold, Vadhan, Wigderson) –“Multiply” a big graph with a small graph n 2 = d 1 d 2 = (d 1 ) 1/4

296.3Page14 Expander Graphs: Constructions Start with a small expander, and apply operations to make it bigger while preserving expansion Zig-Zag product –“Multiply” a big expander with a small expander Size  Degree  Expansion  (slightly)

296.3Page15 Combination: square and zig-zag For a graph with size n, degree d, and eigenvalue, define G = (n, d, ). We would like to increase n while holding d and the same. Squaring and zig-zag have the following effects: (n, d, ) 2 = (n, d 2, 2 )   (n 1, d 1, 1 ) zz (d 1, d 2, 2 ) = (n 1 d 1, d 2 2, )  Now given a graph H = (d 4, d, 1/5) and G 1 = (d 4, d 2, 2/5) –G i = (G i-1 2 ) zz H (square, zig-zag) Giving: G i = (n i, d 2, 2/5) where n i = d 4i (as desired)

296.3Page16 Error Correcting Codes Outline Introduction Linear codes Read Solomon Codes Expander Based Codes –Expander Graphs –Low Density Parity Check (LDPC) codes –Tornado Codes

296.3Page17 Low Density Parity Check (LDPC) Codes n n-k H n Each row is a vertex on the right and each column is a vertex on the left. A codeword on the left is valid if each right “parity check” vertex has parity 0. The graph has O(n) edges (low density) code bits parity check bits

296.3Page18 For Next Year: Need to explain why it is always possible to find a setting of the n-k parity bits (assuming a systematic code with k message bits) such that all constraints are satisified.

296.3Page19 Applications in the “real world” 10Gbase-T (IEEE 802.3an, 2006) –Standard for 10 Gbits/sec over copper wire WiMax (IEEE e, 2006) –Standard for medium-distance wireless. Approx 10Mbits/sec over 10 Kilometers. NASA –Proposed for all their space data systems

296.3Page20 History Invented by Gallager in 1963 (his PhD thesis) Generalized by Tanner in 1981 (instead of using parity and binary codes, use other codes for “check” nodes). Mostly forgotten by community at large until the mid 90s when revisited by Spielman, MacKay and others.

296.3Page21 Distance of LDPC codes Consider a d-regular LDPC with (  3d/4) expansion. Theorem: Distance of code is greater than  n. Proof. (by contradiction) Suppose we change a code word in v bits, v ≤  n. Let V be the set of changed bits in codeword V has  (3/4)dv neighbors on the right Average # of changed bits per such neighbor is  4/3. To make average work, at least one neighbor has only 1 changed bit… which would cause a non-zero syndrome. d = degree V neighbors

296.3Page22 Correcting Errors in LPDC codes We say a check bit is unsatisfied if parity  0 Algorithm: While there are unsatisfied check bits 1.Find a bit on the left for which more than d/2 neighbors are unsatisfied 2.Flip that bit Converges since every step reduces unsatisfied nodes by at least 1. Runs in linear time. Why must there be a node with more than d/2 unsatisfied neighbors?

296.3Page23 A node with d/2 unsatisfied neighbors x x x unshared neighbor Let r ≤  n be number of error bits. If none of the error bits has more than d/2 unshared check-bit neighbors (i.e., not shared with any other error bit), then total number of neighbors is at most (d/2)r+ ((d/2)r)/2 = 3dr/4. But the error bits have more than (3/4)dr neighbors, a contradiction. Finally, every unshared neighbor must be unsatisfied. error bit

296.3Page24 Coverges to closest codeword Theorem: If # of error bits is less than  n/4 with 3d/4 expansion then the simple decoding algorithm will converge to the closest codeword. Proof: let: u i = # of unsatisfied check bits on step i r i = # corrupt code bits on step i s i = # satisfied check bits with corrupt neighbors on step i We know that u i decrements on each step, but what about r i ?

296.3Page25 Proof continued: u i = unsatisfied r i = corrupt s i = satisfied with corrupt neighbors (by expansion) (by counting edges) (by substitution) (by counting edges) (steps decrease u) Therefore: i.e., number of corrupt bits cannot more than double If we start with at most  n/4 corrupt bits we will never get  n/2 corrupt bits but the distance is >  n

296.3Page26 More on decoding LDPC Simple algorithm is only guaranteed to fix half as many errors as could be fixed but in practice can do better. Fixing (d-1)/2 errors is NP hard Soft “decoding” as originally specified by Gallager is based on belief propagation---determine probability of each code bit being 1 and 0 and propagate probs. back and forth to check bits.

296.3Page27 Encoding LDPC Encoding can be done by generating G from H and using matrix multiply. What is the problem with this? (G might be dense) Various more efficient methods have been studied

296.3Page28 Error Correcting Codes Outline Introduction Linear codes Read Solomon Codes Expander Based Codes –Expander Graphs –Low Density Parity Check (LDPC) codes –Tornado Codes

296.3Page29 The loss model Random Erasure Model: –Each bit is lost independently with some probability  –We know the positions of the lost bits For a rate of (1-p) can correct (1-  )p fraction of errors. Seems to imply a (n, (1-p)n, (1-  )pn+1) 2 code, but not quite because of random errors assumption. We will assume p =.5. Error Correction can be done with some more effort

296.3Page30 Message bits Check bits c 6 = m 3  m 7 Similar to LDPC codes but check bits are not required to equal zero (i.e., the graph does not represent H).

296.3Page31 Tornado codes Will use d-regular bipartite graphs with n nodes on the left and pn on the right (notes assume p =.5) Will need  > d/2 expansion. m1m1 m2m2 m3m3 mkmk c1c1 c pk degree = 2d degree = d k = # of message bits (notes use n)

296.3Page32 Tornado codes: Encoding Why is it linear time? Computes the sum modulo 2 of its neighbors m1m1 m2m2 m3m3 mkmk c1c1 c pk

296.3Page33 Tornado codes: Decoding Assume that all the check bits are intact Find a check bit such that only one of its neighbors is erased (an unshared neighbor) Fix the erased code, and repeat. m1m1 m2m2 m 1 +m 2 +c 1 = m 3 mkmk c1c1 c pk

296.3Page34 Tornado codes: Decoding Need to ensure that we can always find such a check bit “Unshared neighbors” property Consider the set of corrupted message bits and their neighbors. Suppose this set is small. => at least one corrupted message bit has an unshared neighbor. m1m1 m2m2 mkmk c1c1 c pk unshared neighbor

296.3Page35 Tornado codes: Decoding Can we always find unshared neighbors? Expander graphs give us this property if  > d/2 (similar to argument previous argument that  > 3d/4 implies d/2 unshared neighbors) Also, [Luby et al] show that if we construct the graph from a specific kind of non-regular degree sequence (derived from differential equations!), then we can always find unshared neighbors.

296.3Page36 What if check bits are lost? Cascading –Use another bipartite graph to construct another level of check bits for the check bits –Final level is encoded using RS or some other code kpk p2kp2k p i k   k, decoding time O(k) for RS total bits n  k(1 +p + p 2 + …) = k/(1-p) rate = k/n = (1-p)

296.3Page37 Cascading Encoding time –for the first i stages : |E| = d x |V| = O(k) –for encoding the last stage w/ RS: O((  k ) log  k) = O(k) Decoding time –start from the last stage and move left –again proportional to |E| –also proportional to d, which must be at least 1/  to make the decoding work Why not cascade down to one node or just a few nodes? Probability that those nodes fail is too high. Why stop at kp i =  k ? (1) At that point can decode in O((  k) 2 )=O(k) time using RS. (2) For random erasures and small enough , with high probability at most an  fraction of bits at any level are missing Can fix kp(1-  ) random erasures