3 ms·
I took the class this book is based on (years ago), and it was great: after programming languages, it was the most philosophically mind-bending class I had in a
by price 6y ago
I took the class this book is based on (years ago), and it was great: after programming languages, it was the most philosophically mind-bending class I had in any technical subject.
There sure is a lot of mathematical content there; it's a graduate-level class in CS theory. The math is all there for a good reason if you want to understand precisely what's true in this area vs. what's too good to be true, or to be able to prove that it's true. But I think the key insights can be understood without much math.
The author discusses this all much better than I can in a comment, so I recommend reading the introduction and conclusion chapters. Or this other exposition by a different author, which I discovered through a reference in the intro:
http://www.wisdom.weizmann.ac.il/~oded/prg-primer.html http://www.wisdom.weizmann.ac.il/~oded/prg-primer.html
But here's an attempt at describing just one of the key insights: the right definition of "pseudorandom" is computational. Specifically, something that generates a bunch of data is pseudorandom if you can't tell it apart from genuinely random data, within feasible resources like polynomial time.
And one reason that's the right definition is: if you have such data, now you can plug it in literally anyplace you would use random data. Because if something would go wrong by doing so... well, that'd be a way to tell the difference! :-) There is no such way, so it must behave just like using the real thing.