Topics in Error
Correcting Codes
General Information
Instructor: Adi Akavia
Time: Tuesdays
3:20-6:20 PM
Location: Hill
250
Course number: Mathematics
16:642:612:01 (index 49822)
Computer Science 16:198:672:01 (index 43238)
Prerequisites:
The
course assumes comfort with analysis of algorithms, basic linear algebra and
elementary probability
Course Description
Error correcting codes
(ECCs) encode messages in a redundant way to allow recovery of the original
message even in the presence of noise. Error correcting codes were originally
designed for communication over noisy channels or storage in noisy devices, and
have since found applications also in theoretical computer science. In this
course we study ECC focusing on asymptotic bounds, efficient algorithms and
applications in theoretical computer science. Results will be taught from first
principals.
Announcements
Problem
set 1 is available, due Feb 13, 2009
Problem set 2
is available, due April 14, 2009
Tentative list of topics
(subject to changes due to time constraints and class
interests)
·
Basic definitions (codes as combinatorial objects, algorithmic
problems in coding theory)
·
Shannon
coding theorem on channel capacity
·
Combinatorial lower bounds on parameters achievable by error
correcting codes
·
Randomized constructions of good codes (existence results)
·
Explicit codes constructions (Reed-Solomon codes, Reed-Muller codes,
LDPC and expander based codes, Hadamard codes,
Homomorphism codes, Multiplication codes)
·
Code operators (puncturing, concatenation, Boolean-ization)
·
Efficient algorithms for unique decoding and list decoding
·
Local algorithms for decoding, testing and self correcting
·
Relations to cryptography and complexity (secret sharing,
proving hard-core predicates, hardness amplification, pseudo-randomness)
Detailed Schedule
Disclaimer: Notes marked as “Draft” were not reviewed by me yet.
Lecture 1 (Jan 20): Introduction,
basic definitions, Hamming code. Scribe: Geetha Jagannathan; draft
of notes.
Lecture 2 (Jan 21): Hadamard codes, existence of good codes. Scribe: Fengmin Wang; draft
of notes.
Lecture 3 (Jan 27): Shannon
coding theorem, lower/upper bounds (Gilbert-Varashamov,
Singleton, Plotkin, Johnson, Elias-Bassalygo). Scribe: Darakhshan
Mir; draft
of notes.
Lecture
4 (Feb 3): Reed-Solomon
codes and Shamir secret sharing scheme. Scribe:
Luke Friedman; draft
of notes.
Lecture 5 (Feb 10): Reed-Solomon
codes and concatenated codes – information theoretic aspects. Scribe: Dev Desai; draft
of notes
Lecture 6 (Feb 17): Reed-Solomon
codes and concatenated codes – algorithmic aspects (in unique decoding
realm). Scribe: Mangesh
Gupte; draft
of notes
Lecture 7 (Feb 24): Gallagers Low Density Parity Check Codes. Scribe: Geetha
Jagannathan;
Lecture 8 (Mar 3): Expander
based codes: Sipser Spielman
codes (parameters and decoding), ABNNR codes (parameters). Scribe: Rajat Mittal;
draft
of notes
Lecture 9 (Mar 10): Guruswami-Indyk’s Unique decoding of ABNNR codes, Akavia-Venkatesan’s Soft local decoding of
concatenated ABNNR codes, Guruswami-Gopalan
Deterministic hardness amplification in NP. Scribe: Pavel Mahmud
Lecture 10 (March 24): Goldreich Levin hardcore predicate and Hadamard
codes local list decoding
Lecture 11 (March 31): No
class due to DIMACS Property Testing
Workshop
Lecture 12 (April 7): Goldreich-Levin and Akavia-Goldwasser-Safra Learning heavy
Fourier coefficients
Lecture 13 (April 14): Akavia-Goldwasser-Safra proving hard-core predicates via list decoding
Lecture 14 (April 21): TBD
Lecture 15 (April 28): TBD
Class Assignments and
Grading
Students are expected
to present one technical talk and scribe 1-2 lectures. There will be a few
problem sets. There will be no exam. Grades are based on participation in class
discussions and on the above.
Scribing: please submit .tex and .pdf files created using these template and style files: template.tex, scribe.sty
References
1.
Madhu Sudan’s, Essential
Coding Theory, lecture notes
2.
Venkat Guruswami,
Error-Correcting Codes: Constructions and Algorithms, lecture notes
3.
Atri Rudra,
Error Correcting Codes: Combinatorics, Algorithms and
Applications, lecture
notes
4.
F.J. MacWilliams and N.J.A. Sloane: The
Theory of Error-Correcting Codes, North-Holland, 1977
5.
J.H. van Lint: Introduction to Coding Theory, Springer,
1982, (Third edition, 1999)
6.
T. Richardson, R. Urbanke, Modern Coding Theory, available online
7.
S. Hoory, N. Linial,
A. Wigderson, Expander graphs
and their applications, Bull. AMS, 43(2006) 439—561
8.
R. G. Gallager, Low
Density Parity Check Codes, Transactions of the IRE Professional
Group on Information Theory, Vol. IT-8, January 1962, pp. 2l-28, available online