Introduction to Pseudo-Random Number GeneratorsPublished on March 9, 2016.
Random numbers are needed very often in Computer Science. Randomized algorithms, scientific simulations, and cryptography, are just a few applications where randomness plays a crucial role. Pseudo-random number generators, that is, algorithms that produce sequences of values that can be used as random numbers in these applications, is an important field. A few years ago I tried to understand the basics of this field as part of the exam of an Advanced Algorithms course.
The result is a little document (in Italian, sorry) where I summarize the basic concepts behind the different possible definitions of randomness and a couple of examples of concrete generators. Recently I was asked to present again this material at a course and I took the opportunity to refresh and update the slides.
Slides have been updated on December 21, 2016.