5 ms·
There is a seminar about PCG from its author available on youtube. https://www.youtube.com/watch?v=45Oet5qjlms https://www.youtube.com/watch?v=45Oet5qjlms Its
by ufo 11y ago
There is a seminar about PCG from its author available on youtube.
https://www.youtube.com/watch?v=45Oet5qjlms https://www.youtube.com/watch?v=45Oet5qjlms
Its a bit long but I highly recommend it. I learned a lot about RNGs from it.
- vtsrh 11y agoSpeaker mentions[0] that it is possible to get a different statistically random value every time you run the program, without any input to the program, apparently by using some tricks, but she refuses to elaborate for the camera. Can anyone explain how that works? Has this something to do with address space randomization? [0]:https://youtu.be/45Oet5qjlms?t=1h3m3s https://youtu.be/45Oet5qjlms?t=1h3m3s
- echaozh 11y ago> (This last one relies on the operating system placing myRNG at a different address every time the program is run. It's not as strong as the other techniques.) from: http://www.pcg-random.org/useful-features.html#id2 http://www.pcg-random.org/useful-features.html#id2
- justincormack 11y agoLinux gives each process a 32 bit random seed, which is probably more useful (as is making a syscall). On an embedded system the address seed may well be useless anyway.
- pdw 11y agoProbably not what she meant, but Linux has a RNG that extracts randomness from CPU execution time jitter: https://lwn.net/Articles/642166/ https://lwn.net/Articles/642166/
- chinpokomon 11y agoSo good. I'm only about 20 minutes into it, but it addresses so many of the questions and ideas I've had about RNG.
- jacobolus 11y agoGreat talk! The video is also linked from the site, under 'Video' in the banner: http://www.pcg-random.org/posts/stanford-colloquium-talk.html http://www.pcg-random.org/posts/stanford-colloquium-talk.htm... For those who didn’t bother poking around and are interested in random number generation and C++, the blog also great: http://www.pcg-random.org/blog/ http://www.pcg-random.org/blog/
- pcrng 11y agoAll credits should go to George Marsaglia (who died in 2011). He invented the XorShift method (2003), the LCG with good hyperplane behavior (1968), and the modern method of combining multiple poorly behaving RNGs (via function combination and output mapping) to create modern RNGs, not to mention the "diehard" tests he developed which are used to evaluate the performance of RNGs (1995). This "PCG" algorithm, which is just xorshift(LCG), is just a typical implementation of his methods, which he even explicitly states in his papers. Sadly Marsaglia home page with all his papers is no longer online, but they can be found scattered around the net. https://en.wikipedia.org/wiki/George_Marsaglia https://en.wikipedia.org/wiki/George_Marsaglia