Skip to Main Content
Pseudorandomness is the theory of efficiently generating objects that "look random" despite being constructed using little or no randomness. This book places particular emphasis on the intimate connections that have been discovered between a variety of fundamental "pseudorandom objects" that at first seem very different in nature: expander graphs, randomness extractors, list-decodable error-correcting codes, samplers, and pseudorandom generators. The book also illustrates the significance that the theory of pseudorandomness has for the study of computational complexity, algorithms, cryptography, combinatorics, and communications. The presentation assumes a good undergraduate background in the theory of computation, and general mathematical maturity. Specifically, it is assumed that the reader is familiar with basic algorithms and discrete mathematics. The structure of the monograph makes it ideal for teaching a graduate-level course, with exercises accompanying each chapter.