Computer Science
>
>

CS 294-202 Pseudorandomness

Fall 2021

UC Berkeley

This course explores the role of randomness in computation and pseudorandomness, focusing on the applications in error-correcting codes, expander graphs, randomness extractors, and pseudo-random generators. The course will also address the question of derandomization of small-space computation. Prerequisites are unspecified, but the course content suggests a high level of expertise.

Course Page

Overview

Randomized algorithms give a broad and rich algorithmic toolkit (e.g., sampling, Monte Carlo methods). Randomness is an essential resource in distributed computing, cryptography, and interactive proofs. In this course, we would explore the role of randomness in computation: Can we derandomize algorithms without changing their time or space complexity? Can we "purify" randomness from a weak source of randomness?

Pseudo-randomness is the property of "appearing random" while having little or no randomness. Pseudo-randomness plays a significant role in error-correcting codes, expander graphs, randomness extractors, and pseudo-random generators. In this course, we will see all these beautiful applications. In the second part of the course, we would focus on the question of derandomization of small-space computation, also known as the "RL versus L" question. It asks whether all problems that can be decided in randomized logarithmic space (RL) can also be decided in deterministic logarithmic space (L). We would cover recent approaches towards showing that RL = L.

Prerequisites

No data.

Learning objectives

No data.

Textbooks and other notes

Salil Vadhan - Pseudorandomness

Other courses in Theoretical Computer Science

15-453 - Formal Languages, Automata, and Computability

Spring 2015

Carnegie Mellon University

CS 263 Counting and Sampling

Autumn 2022

Stanford University

CS 251 Great Ideas in Theoretical Computer Science

Fall 2022

Carnegie Mellon University

CSE 311 Foundations of Computing I

Autumn 2021

University of Washington

Courseware availability

Lecture notes available at Lectures

No videos available

Problem sets available at Problem sets

Additional readings and student final projects available at Additional Reading

Covered concepts