In combinatorics, the probabilistic method is a very powerful tool to prove the existence of combinatorial objects with interesting and useful properties. Explicit constructions of objects with such properties are often very difﬁcult, or unknown. In computer science, probabilistic algorithms are sometimes simpler and more efﬁcient than the best known deterministic algorithms for the same problem.
Despite this evidence for the power of random choices, the computational theory of pseudorandomness shows that, under certain complexity-theoretic assumptions, every probabilistic algorithm has an efﬁcient deterministic simulation and a large class of applications of the probabilistic method can be converted into explicit constructions.
In this survey paper we describe connections between the conditional “derandomization” results of the computational theory of pseudorandomness and unconditional explicit constructions of certain combinatorial objects such as error-correcting codes and “randomness extractors.”