In choosing a PRNG I would also consider the period (as others pointed out) as well as the CPU burden. And what about the "randomness" of any subset of those 10,000 rolls? That is, you don't want a PRNG which outputs first 10,000/6 1's, followed by 10,0000/6 2's etc. The average of the sum will still be 3.5 but no randomness there.

Random tests are tricky as they may fail randomly but well within their design margins. But consider also how you are going to seed the PRNG for each repeated run. You may leave that to Perl and its "semi-random" way of chosing a seed for you, but is that good enough with repeated runs within the same script or from different ones?

Programmers have it easy: I don't know how a real dice is tested but it must be hard work!

By definition "real" (dice) means imperfect geometry, painting, material density. If you want to emulate a real dice then there's a lot more work than using a fair PRNG.

bw, bliako


In reply to Re: is rand random enough to simulate dice rolls? by bliako
in thread is rand random enough to simulate dice rolls? by Discipulus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.