1
15-853
Page1
15-853: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
15-853
Page2
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
O(n)
O(n
2
) or better
LDPC
O(n log 1/
ε
)
O(n log 1/
ε
)
Tornado
O(n
2
)
O(n log n)
RS
O(n
3
)
O(n
2
)
Random Linear
Decoding
Encoding
Code
15-853
Page3
Error Correcting Codes Outline
Introduction
Linear codes
Read Solomon Codes
Expander Based Codes
–
Expander Graphs
–
Low Density Parity Check (LDPC) codes
–
Tornado Codes
15-853
Page4
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

This
** preview**
has intentionally

**sections.**

*blurred***to view the full version.**

*Sign up*
2
15-853
Page5
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
15-853
Page6
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
15-853
Page7
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
15-853
Page8
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.