Coding with Constraints: Different Flavors
Hoang Dau University of Illinois at Urbana-Champaign Email: hoangdau@uiuc.edu DIMACS Workshop on Network Coding: the Next 15 Years Rutgers University, NJ, 2015
1
Different Flavors Hoang Dau University of Illinois at - - PowerPoint PPT Presentation
Coding with Constraints: Different Flavors Hoang Dau University of Illinois at Urbana-Champaign 1 Email: hoangdau@uiuc.edu DIMACS Workshop on Network Coding: the Next 15 Years Rutgers University, NJ, 2015 Part I Coding with Constraints: A
1
3
π¦1 π¦2 π¦π
π1 π2 ππ
ENCODED
π data symbols π coded symbols CONVENTIONAL CODE π
π = π π(π¦1, π¦2, β¦ , π¦π)
4
π¦1 π¦2 π¦π
π1 π2 ππ
ENCODED
π data symbols π coded symbols CONVENTIONAL CODE π
π = π π(π¦1, π¦2, β¦ , π¦π)
CODE WITH CONSTRAINTS π
π = π π({π¦π: π β π· π}), π· π β {1,2, β¦ , π}
5
π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
6
π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
π = π π({π¦π: π β π· π}), π· π β {1,2, β¦ , π}
β achieve the optimal minimum distance β over small field size π β poly π
π = π π({π¦π: π β π· π}), π· π β {1,2, β¦ , π}
β achieve the optimal minimum distance β over small field size π β poly π
π (π β poly(π)) so that π―
β β π½β 1,β¦,π ( βͺπβπ½ ππ β |π½|)
π}
β β π½β 1,β¦,π ( βͺπβπ½ ππ β |π½|)
π}
β ππππ¦ can be found in time poly(π) β codes with π = ππππ¦ always exists over fields of size β π π β 1
β β π½β 1,β¦,π ( βͺπβπ½ ππ β |π½|)
π}
β ππππ¦ can be found in time poly(π) β codes with π = ππππ¦ always exists over fields of size β π π β 1
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist if there are β₯ ππππ¦ β 1 indices πβs where π·
π = π
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist if there are β₯ ππππ¦ β 1 indices πβs where π·
π = π
β Optimal systematic codes always exists (smaller bound ππ‘π§π‘ β€ ππππ¦)
β Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursmaβ14, Dau-Song-Yuenβ14, Yan-Sprintson-Zelenkoβ14)
β Optimal codes exist if there are β₯ ππππ¦ β 1 indices πβs where π·
π = π
β Optimal systematic codes always exists (smaller bound ππ‘π§π‘ β€ ππππ¦)
π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
1(π½1)
1(π½2)
1(π½5)
2(π½1)
2(π½3)
2(π½4)
3(π½2)
3(π½4)
3(π½5) π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
1(π½1)
1(π½2)
1(π½5)
2(π½1)
2(π½3)
2(π½4)
3(π½2)
3(π½4)
3(π½5)
π¦1 π¦2
π1 π2
π¦3
π3 π4 π5 = π1(π¦1, π¦2) = π2(π¦1, π¦3) = π3(π¦2) = π4(π¦2, π¦3) = π5(π¦1, π¦3)
25
π¦1 π¦2 π¦π
π1 π2 ππ
Encoded
π data symbols π coded symbols Facebook: Reed-Solomon π = 14, π = 10 MDS: tolerate any π β π node failures
27
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2 π2 π3 π4 π¦2 π¦3 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 π1
Tolerate 1 node failure Code has minimum distance π: tolerate π β 1 node failures
28
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2 π2 π3 π4 π¦2 π¦3 π¦2 Local Subcode 2 Local distance π2 = 3 π6 π7 π8 π¦3 π¦4 π¦5 π9 π10 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 6,4 MDS = π¦2 + π¦3 + π¦4 + π¦5 = π¦2 + 2π¦3 + 4π¦4 + π¦5 = π¦2 + 3π¦3 + 2π¦4 + 6π¦5 = π¦2 + 4π¦3 + 2π¦4 + π¦5 = π¦2 + 5π¦3 + 4π¦4 + 6π¦5 = π¦2 + 6π¦3 + π¦4 + 6π¦5 π1 π5
Tolerate 1 node failure Tolerate 2 node failures Code has minimum distance π: tolerate π β 1 node failures
29
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2
Global minimum distance π = 4
π2 π3 π4 π¦2 π¦3 π¦2 Local Subcode 2 Local distance π2 = 3 π6 π7 π8 π¦3 π¦4 π¦5 π9 π10 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 6,4 MDS = π¦2 + π¦3 + π¦4 + π¦5 = π¦2 + 2π¦3 + 4π¦4 + π¦5 = π¦2 + 3π¦3 + 2π¦4 + 6π¦5 = π¦2 + 4π¦3 + 2π¦4 + π¦5 = π¦2 + 5π¦3 + 4π¦4 + 6π¦5 = π¦2 + 6π¦3 + π¦4 + 6π¦5 π1 π5
Tolerate 1 node failure Tolerate 2 node failures Tolerate 3 node failures Code has minimum distance π: tolerate π β 1 node failures
π-elements so that
π-elements so that
β two local subcodes are MDS (additional requirement) [4,3]-MDS [6,4]-MDS
π-elements so that
β two local subcodes are MDS (additional requirement) β the global code has optimal distance (same as coding with constraints) [4,3]-MDS [6,4]-MDS
π-elements so that
β two local subcodes are MDS (additional requirement) β the global code has optimal distance (same as coding with constraints)
β β π½β 1,β¦,π ( βͺπβπ½ ππ β |π½|)
[4,3]-MDS [6,4]-MDS
36 π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2
Global minimum distance π = 4
π2 π3 π4 π¦2 π¦3 π¦2 Local Subcode 2 Local distance π2 = 3 π6 π7 π8 π¦3 π¦4 π¦5 π9 π10 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 6,4 MDS = π¦2 + π¦3 + π¦4 + π¦5 = π¦2 + 2π¦3 + 4π¦4 + π¦5 = π¦2 + 3π¦3 + 2π¦4 + 6π¦5 = π¦2 + 4π¦3 + 2π¦4 + π¦5 = π¦2 + 5π¦3 + 4π¦4 + 6π¦5 = π¦2 + 6π¦3 + π¦4 + 6π¦5 π1 π5
In this example: π β€ 1 + 2 + min 4 β 3, 6 β 4 = 4 -> optimal code here π1 = 4, π1= 3 π2 = 6, π2= 4 π’ = π¦2, π¦3 = 2
37
1st code: π―π = 1 1 1 1 1 2 3 4 1 4 2 2 =
π½ π©
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2 π2 π3 π4 π¦2 π¦3 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 π1
38
1st code: π―π = 1 1 1 1 1 2 3 4 1 4 2 3 =
π½ π©
2nd code: π―π = 1 1 1 1 1 1 1 2 3 4 5 6 1 4 2 2 4 1 1 1 6 1 6 6 =
πͺ πΎ
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2 π2 π3 π4 π¦2 π¦3 π¦2 Local Subcode 2 Local distance π2 = 3 π6 π7 π8 π¦3 π¦4 π¦5 π9 π10 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 6,4 MDS = π¦2 + π¦3 + π¦4 + π¦5 = π¦2 + 2π¦3 + 4π¦4 + π¦5 = π¦2 + 3π¦3 + 2π¦4 + 6π¦5 = π¦2 + 4π¦3 + 2π¦4 + π¦5 = π¦2 + 5π¦3 + 4π¦4 + 6π¦5 = π¦2 + 6π¦3 + π¦4 + 6π¦5 π1 π5
39
1st code: π―π = 1 1 1 1 1 2 3 4 1 4 2 3 =
π½ π©
2nd code: π―π = 1 1 1 1 1 1 1 2 3 4 5 6 1 4 2 2 4 1 1 1 6 1 6 6 =
πͺ πΎ
π¦1 4,3 MDS Local Subcode 1 Local distance π1 = 2
Global minimum distance π = 4
π2 π3 π4 π¦2 π¦3 π¦2 Local Subcode 2 Local distance π2 = 3 π6 π7 π8 π¦3 π¦4 π¦5 π9 π10 = π¦1 + π¦2 + π¦3 = π¦1 + 2π¦2 + 4π¦3 = π¦1 + 3π¦2 + 2π¦3 = π¦1 + 4π¦2 + 2π¦3 6,4 MDS = π¦2 + π¦3 + π¦4 + π¦5 = π¦2 + 2π¦3 + 4π¦4 + π¦5 = π¦2 + 3π¦3 + 2π¦4 + 6π¦5 = π¦2 + 4π¦3 + 2π¦4 + π¦5 = π¦2 + 5π¦3 + 4π¦4 + 6π¦5 = π¦2 + 6π¦3 + π¦4 + 6π¦5 π1 π5
Global code: π― = π½ π· π© πͺ π· πΎ
π| β₯ max{π1, π2}
π| β₯ max{π1, π2}
π½ π© is a nested MDS code: π―π, π½ are generator matrices of
πͺ πΎ is a nested MDS code: π―π, πΎ are generator matrices of
42
43
π: finite field of π elements
π, i.e. πΊ π = {0,1, π, π2, π3, β¦ }
π π with the polynomial
13
13
13
π1 = 5 π1 = 6 π2 = 5 π1 = 4
13
Rows of π»2 has root 1 = π0
π1 = 5 π1 = 6 π2 = 5 π1 = 4
13
Rows of π»2 has root 1 = π0
Rows of π― has roots π0, π, π2
π1 = 5 π1 = 6 π2 = 5 π1 = 4
49
5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1