Skip to content

Instantly share code, notes, and snippets.

@mwunsch
Last active February 13, 2016 20:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mwunsch/647d763e1ce91bfef7d2 to your computer and use it in GitHub Desktop.
Save mwunsch/647d763e1ce91bfef7d2 to your computer and use it in GitHub Desktop.

A Survey of Pseudorandomness

Alternative Title: lol im so random

Randomness has many applications in computers ranging from cryptography and statistics to genearative art and simulation, but where does randomness come from? When you ask for a random number from your system how truly random is it? From XKCD:

xkcd: Random Number

This talk will explore randomness in software practice in a variety of contexts. Touching on sources of entropy, pseudo-random number generation, and what it means to be cryptographically secure, this talk will explore both the algorithms and the API's that supply us with random numbers. This talk will also cover the mechanisms for testing and verifying statistical randomness. Interspersed seemingly randomly throughout will be some great examples of bots, games, and generative art that use randomness and procedural generation in creative and unusual ways. You will come away from this high-level overview with a newfound sense of respect and awe for the humble Math.random().

xkcd: I'm So Random

Appendix

@saulshanabrook
Copy link

I have been thinking about randomness lately in the context of genetic algorithms. They require some degree of random mutation in order to function effectively. It seems like all the interesting work in AI requires some degree of stochasticity.

Also I have been thinking about free will/determinism in reality, which seems related to randomness. Particularly interesting was The Free Will Theorum. It seemed to suggest that non determinism is possible, but that it is not necessarily random. If you find it interesting, I would love to hear your thoughts as well and how it relates to your current exploration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment