Post on 18-Dec-2015
Obligatory Example/Historys
t1 t2
b1 b2
b2
b2
b1
b1 b1
b1 b1
b1 (b1,b2)
b1+b2
b1+b2b1+b2
(b1,b2)
[ACLY00] [ACLY00] Characterization Non-constructive
[LYC03], [KM02] Constructive (linear) Exp-time design
[JCJ03], [SET03] Poly-time design Centralized design
[HKMKE03], [JCJ03] Decentralized design
SIMPLER
.
.
.
C=2
[This work] All the above, plus optimal implementation complexity.
Complexity
)2(1,0)...( 21mm
m Fbbb
2
k
b1b2 bm
1
kk ...2211
β1
β2
βk
F(2m)-linear network[KM02],[HKMKE03],…
Source:- Group together `m’ bits,
Every node:- Perform linear combinations over finite field F(2m)
?
Complexity
1011
0111
0101
1010
1
0
1
1
“Thm”: For any algebraic code, at least half the β matrices in F(2m) have at least m2/2 non-zero elements
Randomly chosen algebraic encoders require O(m2) bit operations
[HKMKE03],…
1
0
1
0
=
…,[JEHM04],…
[KKHRM05]
Simplicity – Permute-and-add
1000
0001
0100
0010
1
0
1
1
“Thm”: With “high” probability, permute-and-add codes have “almost” the same performance as algebraic codes
Permute-and-add encoders require O(m) bit operations
Tight! “Thm”: To achieve capacity, need O(m) bit operations
1
1
0
1
=
Permutation matrix (sparse)
Simplicity – Permute-and-add
0100
0010
1
0
1
1
“Thm”: With “high” probability, permute-and-add codes have “almost” the same performance as algebraic codes
Permute-and-add encoders require O(m) bit operations
Tight! “Thm”: To achieve capacity, need O(m) bit operations
0000
0000
0100
0010
0
0
0
1
=
Loss of information Loss of information
Permute-and-add Codesm “sufficiently” large
b1b2 bm
b’1b’2 b’m
b’’1b’’2 b’’m
’
’’
Uniformly at random
b2b1 bm
b’1b’m b’2
b’’mb’’1 b’’2
Permute-and-add Codes
’
’’
Uniformly at random
b2 b1 bm
b’1b’m b’2
b’’mb’’1 b’’2
]''[...]'[][
Transfer matrix
Permute-and-add Codes
Percolate transfer matrices acrosssuccessive cutsets (in header)
If each transfer matrix full rank,
Final transfer matrices full rank
Decode by inverting final transfer matrix, QED
Not true, with probability c > 0
Permute-and-add Codesm “sufficiently” large
Each transfer matrix “almost” full rank,
Final transfer matrices “almost” full rank
Decode by inverting final transfer matrix, QED
Prπ [Row rank > (1-εm) fraction] > 1-2-O(mεm)Prπ [Row rank > (1-|E|εm) fraction] > 1-|T||E|2-O(mεm)
R=C- |E|εm - εm
Prπ [Final transform invertible] > 1-(|T||E|+1)2-O(mεm)
(1-|E|εm) fraction
(1-εm) fraction
Thm: Permute-and-add codes achieve R=C-(|E|+1)εm , Pr > 1-(|T||E|+1)2-O(mεm)
Proof of Lemma
][
0
21 LL
ITransform
I
L1,L2
][0
0
2 L
IGaussian
Elimination
“Almost” full rank, w.h.p.
mV
mVL
2
1]0])[[(Pr 2][,
The End/Where now?
Low-complexity decoding? Fewer packets encoded together at nodes? Same permutation at each node? Zero-error/Deterministic?
Permute-and-add Vs. Algebraic [HKMKE03]
• Rate Almost Same (ε loss)• Probability of error Almost same (smaller exp)• Block-length Almost same (1/ε increase)• Simple Distributed Design Ditto• Implementation Complexity Quadratically better• Randomness required Quadratically better