from the past to the present
play

From the Past to the Present Vitaly Skachek Institute of Computer - PowerPoint PPT Presentation

Coding Theory: From the Past to the Present Vitaly Skachek Institute of Computer Science University of Tartu Some used images are courtesy of Wikipedia/Wikimedia Commons Communications Model k bits R = k/n n bits c x Source Encoder 0101


  1. Coding Theory: From the Past to the Present Vitaly Skachek Institute of Computer Science University of Tartu Some used images are courtesy of Wikipedia/Wikimedia Commons

  2. Communications Model k bits R = k/n n bits c x Source Encoder 0101 0101100 Channel 0101100 0111000 Destination Decoder c y

  3. Communications Channels 1- p 1- p 0 0 0 0 0 p p ? p p 1 1 1 1 1- p 1- p Binary Symmetric Binary Erasure Channel Channel

  4. Shannon’s Channel Coding Theorems • A code is a mapping from the set of all vectors of length k to a set of vectors of length n (over alphabet Σ ) • Given a channel S , there is a quantity C ( S ) called channel capacity Claude Shannon (1916-2001)

  5. Shannon’s Channel Coding Theorems For any rate R < C ( S ), there exists an infinite sequence of block 𝑙 𝑗 codes 𝐷 𝑗 of growing lengths 𝑜 𝑗 such that 𝑜 𝑗 ≥ 𝑆 , and there exists a coding scheme for those codes such that the decoding error probability approaches 0 as 𝑗 → ∞ .

  6. Shannon’s Channel Coding Theorems For any rate R < C ( S ), there exists an infinite sequence of block 𝑙 𝑗 codes 𝐷 𝑗 of growing lengths 𝑜 𝑗 such that 𝑜 𝑗 ≥ 𝑆 , and there exists a coding scheme for those codes such that the decoding error probability approaches 0 as 𝑗 → ∞ . Let R > C ( S ). For any infinite sequence of block codes 𝐷 𝑗 of 𝑙 𝑗 growing lengths 𝑜 𝑗 such that 𝑜 𝑗 ≥ 𝑆 , and for any coding scheme for those codes, the decoding error probability is bounded away from 0 as 𝑗 → ∞ .

  7. Communications Channels 1- p 1- p 0 0 0 0 0 p p ? p p 1 1 1 1 1- p 1- p Binary Symmetric Binary Erasure Channel Channel

  8. Communications Channels C ( S )=1- ℎ 2 𝑞 C ( S )=1- 𝑞 1- p 1- p 0 0 0 0 0 p p ? p p 1 1 1 1 1- p 1- p Binary Symmetric Binary Erasure Channel Channel

  9. Communications Channels C ( S )=1- ℎ 2 𝑞 C ( S )=1- 𝑞 ℎ 2 𝑦 = −𝑦 log𝑦 − 1 − 𝑦 𝑚𝑝𝑕(1 − 𝑦) 1- p 1- p 0 0 0 0 0 p p ? p p 1 1 1 1 1- p 1- p Binary Symmetric Binary Erasure Channel Channel

  10. Communications Model k bits R = k/n n bits c x Source Encoder 0101 0101100 Channel 0101100 0111000 Destination Decoder c y

  11. Parameters in Consideration • Target: optimize the code rate R = k / n . Other parameters in considerations: • Speed of convergence Pr (err) → 0 as 𝑜 → ∞ . Low error probability for short lengths is needed! • Time complexity of encoding and decoding algorithms. Structured codes are needed!

  12. Distance • The Hamming distance between 𝑦 = 𝑦 1 , 𝑦 2 , … , 𝑦 𝑜 and 𝑧 = 𝑧 1 , 𝑧 2 , … , 𝑧 𝑜 , 𝑒 𝑦, 𝑧 , is the number of pairs of symbols (𝑦 𝑗 , 𝑧 𝑗 ) , such that 𝑦 𝑗 ≠ 𝑧 𝑗 . • The minimum distance of a code C is 𝑒 = 𝑦,𝑧∈𝐷,𝑦≠𝑧 𝑒 𝑦, 𝑧 min

  13. Linear Codes • A code 𝐷 over field F is a linear [ n , k , d ] code if there exists a matrix 𝐼 with n columns and rank n − k such that 𝐼 ⋅ 𝑑 𝑈 = 0 𝑈 ⟺ 𝑑 ∈ 𝐷. • The matrix H is called a parity-check matrix. • The value k is called the dimension of the code 𝐷 . • The ratio R = k / n is called the rate of the code 𝐷 . • All words of 𝐷 are exactly all linear combinations of rows of a generating k × n matrix G .

  14. Sphere-packing idea

  15. Sphere-packing idea

  16. Sphere-packing idea 𝑒 − 1 2

  17. Sphere-packing idea Decoding

  18. Reed-Solomon Codes • Let 𝛽 1 , 𝛽 2 , … , 𝛽 𝑜 ∈ 𝐺 be n distinct elements. • The generator matrix: 1 1 … 1 𝛽 1 𝛽 2 … 𝛽 𝑜 2 2 2 𝐻 = 𝛽 1 𝛽 2 … 𝛽 𝑜 ⋮ ⋮ ⋱ ⋮ 𝑙−1 𝑙−1 𝛽 𝑜𝑙−1 𝛽 1 𝛽 2 … • Satisfies the Singleton bound: n = d + k – 1 • Optimal trade-off between the parameters

  19. Reed-Solomon Codes (cont.) • Encoding: 1 1 … 1 𝛽 1 𝛽 2 … 𝛽 𝑜 2 2 2 𝑦 0 𝑦 1 … 𝑦 𝑙−1 ⋅ 𝛽 1 𝛽 2 … 𝛽 𝑜 ⋮ ⋮ ⋱ ⋮ 𝑙−1 𝑙−1 𝛽 𝑜𝑙−1 𝛽 1 𝛽 2 …

  20. Polynomial Interpolation Viewpoint • Input vector [𝑦 0 𝑦 1 … 𝑦 𝑙−1 ] is associated with polynomial 𝑄 𝑨 = 𝑦 𝑙−1 𝑨 𝑙−1 + 𝑦 𝑙−2 𝑨 𝑙−2 + 𝑦 1 𝑨 + 𝑦 0 • Encoding is a substitution: 𝑄 𝛽 1 , 𝑄 𝛽 2 , … , 𝑄 𝛽 𝑜 • Decoding is an interpolation by degree ≤ 𝑙 − 1 polynomial

  21. Reed-Solomon Codes are Used in: • Wired and wireless communications • Satellite communications • Hard drives and compact disks • Flash memory devices

  22. Application of Reed-Solomon Codes • Shamir’s Secret - Sharing Scheme ’79 • n users • 1 key (number in F ) • Any coalition of < 𝑢 users does not have any information about the key • Any coalition of ≥ 𝑢 users can recover the key Adi Shamir

  23. Shamir’s Secret Sharing Scheme

  24. Shamir’s Secret Sharing Scheme

  25. Shamir’s Secret Sharing Scheme

  26. Shamir’s Secret Sharing Scheme (cont.) • Select randomly 𝑦 1 , 𝑦 2 , … , 𝑦 𝑙−1 . Let 𝑦 0 be a secret key. Construct polynomial 𝑄 𝑨 = 𝑦 𝑙−1 𝑨 𝑙−1 + 𝑦 𝑙−2 𝑨 𝑙−2 + 𝑦 1 𝑨 + 𝑦 0 • Give (𝛽 𝑗 , 𝑄 𝛽 𝑗 ) to user 𝑗 • Large coalition has enough points to reconstruct the polynomial • Small coalition has no information about the polynomial

  27. List-decoding of Reed-Solomon Codes

  28. List-decoding of Reed-Solomon Codes

  29. List-decoding of Reed-Solomon Codes

  30. List-decoding of Reed-Solomon Codes • Sudan ‘97, Guruswami ‘99, Vardy -Parvaresh ‘05, Guruswami-Rudra ‘06 Madhu Sudan Venkatesan Guruswami

  31. List Decoding of RS Codes Voyager 1 – the first manmade object to leave the Solar System. Launched in 1977.

  32. Turbo Codes Berrou, Glavieux and Thitimajshima (Telecom Bretagne) ’93 • Non-algebraic codes! • “Killer” of algebraic coding theory

  33. Low-Density Parity-Check Codes • Gallager ’62 • Urbanke, Richardson and Shokrollahi ’01 • Parity-check matrix H is sparse • Performance extremely close to channel capacity 1 • Decoding complexity 1 linear in n 2 Tanner graph: 2 3 1 1 1 0 0 4 0 1 0 1 1 H = 3 0 0 1 0 1 5

  34. Low-Density Parity-Check Codes • Belief-propagation decoding algorithm (message-passing algorithm) (Pr(0),Pr(1))

  35. Low-Density Parity-Check Codes Pr(0) = 0.2, Pr(1) = 0.8 Pr(0) = 0.4, Pr(1) = 0.6

  36. Low-Density Parity-Check Codes Pr(0) = 0.2, Pr(1) = 0.8 Pr(0) = 0.4, Pr(1) = 0.6 Pr(0) = 0.56, Pr(1) = 0.44

  37. Reed-Solomon Codes are Used in: • Wired and wireless communications • Satellite communications • Hard drives and compact disks • Flash memory devices

  38. LDPC Codes are Used in: • Wired and wireless communications • Satellite communications • Hard drives and compact disks • Flash memory devices

  39. Emerging Applications of Coding Theory

  40. Flash memories • Easy to add electric charge, hard to remove • The charge “leaks” with  the time    • Neighboring cells influence  each other Flash memory cell

  41. Flash memories • Rank modulation • The information is represented using relative levels of charge, invariant to leakage • Coding over permutations Jiang, Mateescu, Schwartz, Bruck ‘2006

  42. Flash memories

  43. Networking • Raptor Codes • A. Shokrollahi ‘2004 • Used in DVB-H standard for IP datacast for handheld devices

  44. Networking • Raptor Codes

  45. Networking • Raptor Codes

  46. Networking • Raptor Codes • Possible solution: ARQs (retransmissions) – slow! • Alternative: large error-correcting code

  47. Networking • Raptor Codes

  48. Network coding • Butterfly network Ahlswede, Cai, Li and Yeung, 2000 x y

  49. Network coding • Butterfly network x y y y x y

  50. Network coding • Butterfly network x y x x y x

  51. Network coding • Butterfly network x y y x x+y x y x+y x+y

  52. Network coding • The number of bits deliverable y x to each destination is equal to min-cut between source and each of destinations • Avalanche P2P Network (Microsoft, 2005) • Experiments for use in mobile communications

  53. Gossip Algorithms • n users in the network • k of them possess a rumor (packet of data) – each rumor is different • Each users “calls” another user randomly and sends a rumor to him • Purpose: to distribute all rumors to all users • Using coding: send a random linear combination of all rumors in your possession – Facilitates convergence of the algorithm Deb, Medard and Choute 2006

  54. Gossip Algorithms • Rumor spreading problem

  55. Gossip Algorithms • n users in the network • k of them possess a rumor (packet of data) – each rumor is different • Each users “calls” another user randomly and sends a rumor to him • Purpose: to distribute all rumors to all users • Using coding: send a random linear combination of all rumors in your possession – Facilitates convergence of the algorithm Deb, Medard and Choute 2006

Recommend


More recommend