5 ms·
Is there any use cases for high quality PRNG for anything other than encryption? The simplest 3 line LCG seem to fit in most cases.
by slmjkdbtl 6y ago
Is there any use cases for high quality PRNG for anything other than encryption? The simplest 3 line LCG seem to fit in most cases.
- mdouglass 6y agoIn games it is definitely nice to have. I’ve built multiple online trading/collectible card games and it’s a necessity for those. Don’t want your players predicting what cards will be drawn/in what order.
- slmjkdbtl 6y agoIf the game deals with real world currency I can see why it's important, but if it's casual I'd say players trying to predict card is a very fun puzzle game on its own, imagine the intensity of a PvP card game where both player are playing cards against each other but at the same time trying to decode the PRNG algorithm, that's some quality emergent gameplay right there.
- aquarin 6y agoMonte Carlo simulations.
- pvitz 6y agoDepends on the type of the simulation, but quite often, low discrepancy numbers (like Sobol sequences) are the better choice. Especially in finance, good engines don't or rarely use random numbers.
- aquarin 6y agoPRNG are used for MC in both finance and physics.
- pvitz 6y agoI agree, but I wrote "good engines". If one can choose between convergence with 1/N over 1/sqrt(N), the choice shouldn't be difficult especially in real-time systems.
- jacobolus 6y agoTry http://extremelearning.com.au/unreasonable-effectiveness-of-quasirandom-sequences/ http://extremelearning.com.au/unreasonable-effectiveness-of-...
- berkut 6y agoMC simulations, used for things like rendering (path tracing) in the CG/VFX industry. Having very good distribution and a large period are quite important, given how many random numbers (often billions, for every path bounce, light sample, camera position for pathtracing) are required amongst many dimensions.
- saithound 6y agoNot many, apart from GPU/CUDA. This is why so few researchers work in the area, and why they are so hostile to each other: they are protecting their small, remaining turf. All desktop CPUs made after 2010 provide blazing fast AES instructions (and on the mobile side, even ARMv8-a, from 2011, had them). Running AES in counter mode provides deterministic, high quality pseudo-random numbers faster than any of these proposed PRNGs. Even if someone ends up in the unlikely situation where RNG throughput is the bottleneck in their Monte Carlo algorithm (which implies that they do pretty much no computation other than generating random numbers; having worked in a search- and genetic-algorithms-heavy field before the AI/GPU craze, I've personally never seen it happen), they'll be much better off getting a non-ancient CPU and switching to AES than trying to use any of these generators.
- thewebcount 6y agoImage processing. If you want to dither or you want to generate noise, you don't want there to be obvious repeating patterns. Weird things can happen like the period being exactly an integer number of pixels that also happens to line up on a frame boundary, so every n frames the pattern repeats. I've had to fix things like this in the past.