By Salil P. Vadhan, School of Engineering and Applied Sciences, Harvard University, USA, salil@seas.harvard.edu
This is a survey of pseudorandomness, the theory of efficiently generating objects that "look random" despite being constructed using little or no randomness. This theory has significance for a number of areas in computer science and mathematics, including computational complexity, algorithms, cryptography, combinatorics, communications, and additive number theory. Our treatment 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 structure of the presentation is meant to be suitable for teaching in a graduate-level course, with exercises accompanying each section.
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.