Expander Graphs Application 1: Good Codes || @ CMU || Lecture 16b of CS Theory Toolkit

Expander Graphs Application 1: Good Codes || @ CMU || Lecture 16b of CS Theory Toolkit

🎙 Ryan O'Donnell 👥 14K 📅 May 4, 2020 ⏱ 26 min 👁 2K 📄 lecture 🧭 2026-08-17
Available in: English (current) Français

Keywords

expander graphserror-correcting codesSipser-Spielman codesparity check matrixlinear codes

Summary

This lecture, part of a graduate course on theoretical computer science, presents the first application of explicit bipartite expander graphs: constructing good binary error-correcting codes. The instructor begins by recalling the definition of a bipartite expander graph with specific parameters (left degree 64, expansion factor 0.8, and subset size bound). He then proves a key claim: any sufficiently small subset of left vertices has a unique neighbor on the right. This claim is used to define a linear code via a parity check matrix derived from the graph’s adjacency matrix. The code has rate 1/4 and minimum distance at least a constant fraction of the block length, making it a ‘good’ code. The lecture also discusses efficient decoding: a simple polynomial-time algorithm that flips bits to reduce the number of unsatisfied parity checks, and mentions that a more sophisticated approach can achieve linear-time decoding. The presentation is rigorous, with clear proofs and references to foundational work by Tanner, Sipser, and Spielman.

161 words

Critical Evaluation

Value of the Information & Strength of the Argument

The lecture provides a clear and rigorous exposition of how expander graphs can be used to construct good error-correcting codes. The argumentation is solid: it starts with a precise definition of the expander graph, proves a useful lemma (existence of unique neighbors), and then uses it to establish the code’s minimum distance. The proof of the decoding algorithm’s correctness is sketched, relying on the expansion property. The value of the information is high for an audience familiar with linear algebra and basic coding theory, as it connects abstract graph properties to concrete coding constructions. The presentation is well-structured, with each step motivated and explained.

Scientific Rigor, Source Quality, Title Accuracy

The lecture is scientifically rigorous, based on established results in coding theory and expander graphs. The instructor references the work of Sipser and Spielman (1996) and mentions the survey by Hoory, Linial, and Wigderson. The title accurately reflects the content: it is indeed about the first application of expander graphs to good codes. The lecture is part of a graduate course, so the technical level is appropriate for advanced students. No public comments were provided, so no analysis of audience reception is possible.

202 words

Title / Content Match

The title accurately reflects the content: the lecture focuses on the first application of expander graphs to constructing good error-correcting codes.

Quality & Reliability

9/10

Lecture by a recognized expert in theoretical computer science, based on established results (Sipser-Spielman codes), with rigorous mathematical proofs and references to standard literature.

Key Moments

Cited Sources

  • Ryan O'Donnell's homepage — Instructor's academic page, providing background and related materials.
  • Course homepage on Diderot — Course page for CS Theory Toolkit, where lecture notes and resources are available.
  • Rebecca Kiger Photography — Photographer credited for the thumbnail image.

Concurring Sources

  • Expander graphs and their applications — Survey by Hoory, Linial, and Wigderson, mentioned in the lecture as a resource.

Contribution & Novelties

This lecture provides a clear and self-contained exposition of how explicit bipartite expander graphs can be used to construct good error-correcting codes, a result originally due to Sipser and Spielman. The novelty lies in the pedagogical presentation, breaking down the proof into accessible steps and highlighting the key role of the unique neighbor property. The lecture also introduces a simple polynomial-time decoding algorithm based on flipping bits to reduce parity check failures, and mentions the possibility of linear-time decoding.

Pour aller plus loin :

  • Expander graphs — Background on expander graphs and their applications.
  • Error-correcting codes — Overview of error-correcting codes and their properties.
  • Linear code — Definition and properties of linear codes.
  • Sipser–Spielman codes — Specific expander-based codes and their decoding algorithms.

123 words

Radar Profile

The radar profile shows high scores in all dimensions, indicating a lecture that is both information-dense and technically rigorous, with strong reliability. The balance between quantity and quality of information is excellent, and the technical level is appropriate for an advanced audience.

Reliability 9/10