Forum Update - Announcement about May 10th, 2018 update and your password.

Random/LFSR on P2

15152535557

Comments

  • evanhevanh Posts: 5,096
    edited July 28 Vote Up0Vote Down
    TonyB_ wrote: »
    Do all the grid failures occur only for the FPF tests? I'm wondering whether we would get max scores for everything if the FPF were removed. If other tests fail then we could use those to cull candidates, then use the distributions to select the best.
    I know there's no shortage of BCFN fails because they get logged for verification of the glitch handling logic. Sometimes 100% of the reason is BCFN.

    EDIT: I does look like less than optimal scores are usually because of FPF though.

    EDIT2: All the Practrand report data is still intact - the 58000 files (s16 only), 242 MB uncompressed. I could automate a tally up of the various causes I guess.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Here are some combined scores for frequency distributions. The table belows show the top 10 for prank only and zrank only when the two rankings are added and sorted from lowest to highest. The lowest prank is the tiebreaker for equal prank+zrank. Candidates that are not in either top 10 have been omitted.
    #a,  b,  c,  d, prank, zrank, prank+zrank
    13,  5, 10,  9,    6,    5,    1
    13, 13, 14, 13,    3,   10,    2
    14,  2,  9,  9,   12,    1,    3
    13,  5,  8, 10,    8,    7,    4
     7,  1,  8,  6,   14,    9,    5
     7,  2, 14, 10,   30,    6,    6
    14,  2,  9, 10,   35,    8,    8
     7,  2, 14, 13,   41,    2,    9
     8,  1,  7,  5,   47,    3,   12
     5,  2,  6,  5,    5,   51,   16
    11,  2,  6,  2,    4,   61,   18
     3, 11, 14,  7,    9,   62,   19
     9,  2, 14, 13,    1,   80,   24
     6,  2, 11,  3,   83,    4,   26
     8,  5, 13,  2,    2,  238,  112
    15,  4, 12, 14,    7,  272,  133
     2,  8,  7, 11,   10,  351,  160
    

    PractRand scores needed for top four or five.
    Formerly known as TonyB
  • evanhevanh Posts: 5,096
    edited August 3 Vote Up0Vote Down
    I got the PM notification the other day, just haven't been very engaged is all.

    Started gridding your whole list a few hours back. Found it was still configured for scoring even sized apertures. Now doing the odds.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Here's single iterated. starting double iterated ...

    PS: You'll also find the post-culling even-apertured double-iterated chart in that ODS file too.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanhevanh Posts: 5,096
    edited August 4 Vote Up0Vote Down
    PPS: Took about double the time to run the odds vs the evens.


    The best few (1st, 4th and 6th) scores there look very much good enough to be chosen. They wouldn't be obvious choices on the first summary chart, see below, but for the high distribution scoring.

    https://forums.parallax.com/discussion/comment/1441850/#Comment_1441850
    scores_xo%2B%2Bs16.png
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanhevanh Posts: 5,096
    edited August 4 Vote Up0Vote Down
    [13 5 10 9] passes the single iterate auto-culling but not the double iterate. I'm not sure why this one is not in the above single iterate summary chart. I must have hand removed it just to get the numbers down.

    [13 5 8 10] passes the single iterate auto-culling but not the double iterate. This candidate is actually there. The only one I think.

    [7 2 14 10] passes both single iterate and double iterate auto-culling. Its lowest score doesn't occur in the culling scores. I probably hand removed it for looking too weak compared to others.

    [6 2 11 3] also passes both single iterate and double iterate auto-culling. Again, it would've been smothered.

    [5 2 6 5] badly fails both single iterate and double iterate auto-culling. Its lowest score is present in the culling scores.

    [11 2 6 2] passes the single iterate auto-culling but not the double iterate. Another smothered candidate I guess.
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • TonyB_TonyB_ Posts: 580
    edited August 4 Vote Up0Vote Down
    evanh wrote: »
    Here's single iterated. starting double iterated ...

    PS: You'll also find the post-culling even-apertured double-iterated chart in that ODS file too.

    Thanks a lot, Evan. I've just sent you an email with full prank and zrank scores, which I'll post here later.

    When one includes the distributions, I think the choice is between these two:
    [13,5,10,9]
    [13,5,8,10]
    

    The fact that a and b constants are the same is a good sign.
    Formerly known as TonyB
  • evanhevanh Posts: 5,096
    edited August 4 Vote Up0Vote Down
    Just completed double-iterated even-apertured of the first four candidates. Here's those two grids: (Don't compare the exponent averages with the all-apertured grids version)
      Gridded scores of double iterated Xoroshiro32(16)++ candidate [13 5 10 9].
          Byte Sampled Double Full Period = 8 GB
          PractRand v0.93 options:  stdin -multithreaded -te 1 -tf 2 -tlmin 1KB
        |===00====01====02====03====04====05====06====07====08====09====10====11====12====13====14====15====16====17====18====19====20====21====22====23====24====25====26====27====28====29====30====31=
     32 |  512M    1G    1G    1G    2G    2G    2G    1G    1G    1G    1G    1G    1G    1G    1G    1G  512M  512M    1G    1G    1G    1G    2G    1G    2G    2G    2G    2G    1G    1G    1G    1G
     30 |    4G    4G    2G    4G    4G    8G    8G    8G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G   16G    4G    8G    4G    8G    8G    4G    4G    4G    2G    2G
     28 |    2G    1G    2G    2G    2G    1G    2G    1G    2G    2G    1G    2G    1G    2G    2G    2G    2G    2G    2G    2G    2G    2G    4G    2G    2G    4G    2G    2G    4G    2G    2G    2G
     26 |    4G    2G    2G    2G    2G    2G    2G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    8G   16G   16G    8G    4G    4G    4G    4G    4G    4G
     24 |    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    2G    2G    1G    2G    2G    2G    2G  512M  512M  512M  128M    2G    2G    2G    4G    2G    2G    2G    2G    2G    2G
     22 |    2G    4G    2G    4G    2G    2G    2G    4G    4G    2G    2G    4G    4G    4G    4G    4G    4G    4G    4G    4G    8G    8G    8G    4G    8G    8G    4G    4G    4G    8G    4G    4G
     20 |    1G    2G    1G    2G    2G    2G    2G    1G    1G    1G    1G    1G    1G    1G    2G    2G    2G    2G    2G    2G    2G    2G    8G    8G    8G    2G    4G    2G    2G    2G    2G    2G
     18 |    4G    4G    4G    2G    2G    4G    8G    4G    4G    2G    4G    4G    2G    2G    4G    4G    4G    4G    8G    4G    8G    4G    8G    8G    8G    8G    8G    8G    4G    4G    4G    4G
     16 |  512M    1G    1G  512M    1G    1G    1G    1G    1G    1G    1G    1G  512M  512M  512M  512M  512M  512M  512M  512M  512M    1G    1G    1G    1G    1G    1G    1G    1G    2G    1G    1G
     14 |    2G    2G    4G    4G    4G    4G    4G   16G    8G    8G   16G    4G    8G    8G    4G    2G    2G    2G    4G    4G    1G    8G    4G    4G    8G    8G   16G    4G    4G    8G    8G    4G
     12 |    1G    2G    1G    2G  512M    1G    1G    1G    1G    4G    4G    2G    2G    4G    4G    2G    1G    1G    1G    2G    1G    2G    1G    2G    2G    1G    2G    4G    8G    2G    2G    2G
     10 |    2G    2G    2G    4G    4G    2G  512M    8G    2G    8G    4G    4G    8G    8G    4G    2G    2G    2G    2G    4G    4G    2G  512M    8G    4G    4G    4G    4G    4G    4G    8G    4G
     08 |  512M  512M  512M  512M  512M  512M  512M  512M    1G    1G    1G    2G    1G  512M  256M    1G    1G    1G    2G    2G    1G    4G    2G    2G  512M    1G    1G    2G    2G    1G    2G    1G
     06 |    1G    2G    4G    2G    2G    4G    4G    4G    4G    2G    4G    4G    2G    2G    2G    2G    1G    2G    4G    2G    2G    4G    4G    4G    4G    2G    4G    4G    2G    4G    4G    2G
     04 |  512M    1G    2G    1G    1G    1G  256M    1G    2G    1G    1G    2G    1G    1G  512M    1G  512M    1G    1G    1G    1G    1G  256M    1G    2G    1G    1G    1G    1G    1G  512M    1G
     02 |    2G    2G    2G    2G    1G    2G    2G    2G    2G    2G    2G    2G  512M    2G    2G    2G    1G    2G    2G    2G    2G    2G    2G    2G    2G    1G    2G    2G  512M    2G    2G    2G
      Lowest Exponent = 27   Exponent Average = 31.066
    
    __________________________________________________________________________________________________________
      Gridded scores of double iterated Xoroshiro32(16)++ candidate [13 5 8 10].
          Byte Sampled Double Full Period = 8 GB
          PractRand v0.93 options:  stdin -multithreaded -te 1 -tf 2 -tlmin 1KB
        |===00====01====02====03====04====05====06====07====08====09====10====11====12====13====14====15====16====17====18====19====20====21====22====23====24====25====26====27====28====29====30====31=
     32 |  512M  512M    1G    1G    1G  512M    1G    2G    2G    1G    1G    1G    2G    2G    1G  512M  512M  512M    1G    1G    1G  512M    1G    2G    2G    1G    1G    1G    2G    1G    1G    1G
     30 |    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    8G    4G    4G    4G    8G    4G    8G    4G    4G    4G    8G    8G    8G    4G    4G    4G    4G    4G
     28 |    2G    2G    2G    1G    1G    2G    2G    2G    2G    2G    2G    2G    2G    4G    4G    2G    2G    2G    4G    2G    2G    2G    4G    2G    2G    4G    4G    4G    4G    4G    2G    2G
     26 |    4G    4G    4G    2G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    4G    8G    4G    4G    4G    8G    4G    8G    4G    4G    4G    8G    8G    8G   16G    8G    4G
     24 |    2G    2G    1G    2G    1G    2G    1G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    8G    4G    2G    2G    4G    4G    2G    2G    2G    2G    2G    2G    2G    2G    2G
     22 |    4G    4G    4G    4G    2G    4G    4G    2G    4G    4G    4G    2G    4G    4G    4G    4G    8G    8G   16G    8G   16G    8G    8G    8G   16G    4G    8G    4G    4G    4G    4G    4G
     20 |    2G    2G    2G    2G    2G    1G    2G    2G    2G    2G    1G    1G    1G    1G    2G    2G    2G    2G    4G    4G    4G    2G    2G    2G    4G    4G    4G    2G    2G    2G    2G    4G
     18 |    2G    2G    2G    2G    2G    2G    4G    4G    8G    8G    2G    2G    2G    4G    4G    4G    2G    4G    4G    4G    8G    4G    8G    4G   16G    4G    8G    4G    4G    2G    4G    4G
     16 |  512M    1G    1G    1G    1G  512M  512M    1G  512M    1G    1G    1G    1G    1G    1G    1G  512M  512M    1G    1G  512M    1G  512M  512M  512M  512M  512M    2G    2G    1G    1G    1G
     14 |    4G    2G    4G    4G    2G    4G    4G    4G    4G    8G    2G    4G    2G    4G    4G    4G    4G    2G    4G    4G    4G    4G    4G   16G    8G    8G    4G    4G    8G    4G    8G    4G
     12 |    2G    2G    2G    1G    1G    2G    2G    1G    2G    4G    2G    1G    2G    4G  512M    4G    1G    1G    1G    1G    1G    2G    2G    4G    2G    2G    2G    2G    4G    4G    8G    4G
     10 |    8G    4G    2G    2G    2G    4G    4G    4G    2G    8G    8G    4G    4G    8G    8G    4G    8G    4G    2G    2G    2G    4G    2G    8G    4G    4G    4G    4G    4G    4G    8G    8G
     08 |    1G    2G    1G  256M  256M  128M  256M    1G  256M    2G    2G    2G    1G    2G    2G    2G    1G    2G    1G  256M  256M  128M  256M    1G  256M    2G    2G    1G    2G    2G    2G    2G
     06 |    2G    2G    2G    2G    2G  256M  256M  512M    4G    4G    4G    2G    8G    4G    2G    2G    4G    2G    2G    2G    2G  128M  256M  512M    4G    4G    4G    2G    4G    4G    2G    2G
     04 |    1G    1G    1G  512M  512M    2G    1G  256M  128M    1G    2G    1G    2G    2G  512M    2G    1G    1G    1G    1G    1G    2G    1G  256M  128M    1G    2G    2G    2G    1G    1G    2G
     02 |  128M    2G  512M    2G    2G    1G    1G    1G    2G    2G    2G    2G    2G  512M    2G    2G  256M    1G    1G    2G    2G    1G    1G    1G    2G    2G    2G    2G    2G  512M    2G    2G
      Lowest Exponent = 27   Exponent Average = 31.095
    
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • [13 5 10 9] looks better in both.
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanhevanh Posts: 5,096
    edited August 4 Vote Up0Vote Down
    TonyB_ wrote: »
    Thanks a lot, Evan. I've just sent you an email with full prank and zrank scores, which I'll post here later. Are the double-iterated scores 16 x 16 or 32 x 32?
    Oh, I see the list order has changed. First six held luckily.

    The grids are 32x32 but skipping the odd sized apertures to speed things up.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Evan, if the FPF tests were disabled, would the single and double iterated scores be maximums across the board? In other words, do they just show when FPF fails?

    Would it be possible to test without FPF some time? I think you looked at this before but I don't know how systematically. As the tests could run a long time I suggest only testing bit 0 as the lsb, to begin with anyway.
    Formerly known as TonyB
  • To what end? FPF does appear to be the reason for good candidates to score below optimal. Without it they'll all max out and we'll have no comparison.

    I could try a select few candidates I guess to see if any specific cases have flaws. It would need to be full grids to see anything of value I'd think.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • TonyB_TonyB_ Posts: 580
    edited August 4 Vote Up0Vote Down
    I'm interested to know. :)
    I wouldn't test more than these four:
    [13,5,10,9]
    [13,5,8,10]
    +
    [14,2,7,5]
    [3,2,6,9]
    
    Formerly known as TonyB
  • If [13,5,10,9] scores all maximums then others could be dropped.
    Formerly known as TonyB
  • I've started on [7 10 10 9] to see what happens with a poor candidate. That and it's quick to run.

    Attached is every grid PRreport for [7 10 10 9], both with and without FPF tests:
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Anecdotally, there is occasional non-maximums on a good candidate without FPF tests. Candidate [13 5 10 9] at apertures 16>>5 and 16>>13 have both had a case of creeping BCFN fails that reduced those two scores to 2 GB - both would have given up at 8 GB. Every other case has scored the full 16 GB so far. Still haven't reached 8-bit sampling aperture size yet though.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Got a couple of 8 GB scores from aperture size 12 now, both due to marginal BCFN fails. And aperture size 11 has a bunch of em ... I guess it'll continue. Hmm, this'll slow progress quite a lot with the way I've got the BCFN glitch detection functioning.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanh wrote: »
    I've started on [7 10 10 9] to see what happens with a poor candidate. That and it's quick to run.

    Attached is every grid PRreport for [7 10 10 9], both with and without FPF tests:

    Lots of "early" BCFN_FF failures.
    Formerly known as TonyB
  • TonyB_ wrote: »
    Lots of "early" BCFN_FF failures.
    Yeah, those BCFNs progressively get worse as the test length is forced up. The glitch detection logic deletes the longer tries that don't manage to straddle the glitch, ie: assumes the BCFN is real ... I guess those attempts could be left in with a filename suffix.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanhevanh Posts: 5,096
    edited August 5 Vote Up0Vote Down
    I've redone the FPFless gridding with glitch straddling reports included for [7 10 10 9], and [13 5 10 9] is also done.

    It's 6 AM, I'm off to bed.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Right, finished, back to normal gridding of good distribution candidates ...

    As well as the Practrand reports, here's the grid score tables of those few candidates for both with and without FPF tests:
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Tony,
    #2 candidate, [13 13 14 13], in the distribution high score list has very peculiar Practrand scores in the grid. 16-bit sampling looks just fine, while 8-bit sampling takes a severe dive! I guess having three 13's as the constants isn't helping the situation.

    #5 candidate, [7 1 8 6], isn't a whole better with rubbish 16-bit sampling. I'm wondering if that candidate fits one of Mellisa's don't-ever-use-those-combinations-of-constants criteria. And I'm also wondering if she has a single page with all the good rules to follow.
    __________________________________________________________________________________________________________
      Gridded scores of single iterated Xoroshiro32(16)++ candidate [13 13 14 13].
          Byte Sampled Double Full Period = 8 GB
          PractRand v0.93 options:  stdin -multithreaded -te 1 -tf 2 -tlmin 1KB
        |===00====01====02====03====04====05====06====07====08====09====10====11====12====13====14====15=
     16 |  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M  512M
     15 |    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    2G    1G
     14 |    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G
     13 |  512M  512M  512M    1G    1G    1G    2G    2G    2G    2G    2G    1G    1G    1G  512M  512M
     12 |  256M  256M  256M  256M  256M  256M  256M  512M  256M  256M  256M  256M  256M  128M  256M  256M
     11 |   64M   64M   32M   64M   64M   64M   64M  128M  128M  128M  128M  128M  128M   64M   64M   64M
     10 |   16M   16M   16M   16M   16M   16M   16M   16M   16M   32M   32M   32M   16M   16M   16M   16M
     09 |    4M    4M    4M    4M    4M    4M    4M    8M    8M    8M   16M   16M   16M    8M    8M    4M
     08 |    1M    1M    2M    2M    2M    2M    2M    2M    2M    2M    4M    2M    4M    4M    4M    2M
     07 |    1M    1M    1M    2M    2M    1M    2M    4M    2M    2M    8M    8M    8M    8M    8M    2M
     06 |  512K    1M    1M    2M    2M    2M    1M    2M    4M    1M    8M    4M    4M    8M   16M   16M
     05 |  512M    1G    1G    1G    1G    1G    1G    1G  512M    1G    1G    1G    1G    1G    1G  512M
     04 |  128M  256M  256M  128M  128M  128M  256M  128M  256M  256M  128M  256M  512M  256M  256M  128M
     03 |  512M    1G    1G    2G  512M    1G    4G    2G    2G    2G    4G    2G    2G    1G    2G    2G
     02 |  512M    1G    1G    1G    1G    2G    2G    1G    1G    2G    1G    1G    1G  512M  256M    1G
     01 |    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G  128M    1G
      Lowest Exponent = 19   Exponent Average = 27.058
    
    __________________________________________________________________________________________________________
      Gridded scores of single iterated Xoroshiro32(16)++ candidate [7 1 8 6].
          Byte Sampled Double Full Period = 8 GB
          PractRand v0.93 options:  stdin -multithreaded -te 1 -tf 2 -tlmin 1KB
        |===00====01====02====03====04====05====06====07====08====09====10====11====12====13====14====15=
     16 |   32M   32M  128M  256M  128M   64M   32M   32M   32M   16M   16M  128M   64M  128M   64M   64M
     15 |   16M   16M   64M   64M   64M   64M   64M   32M   64M   64M  128M  256M  256M  128M  128M   64M
     14 |  512M  512M  512M  512M  512M  512M  512M    1G    1G    1G    1G    1G    1G    2G    1G    1G
     13 |  256M  256M  256M  512M  256M  256M  512M  512M  512M  512M  512M    1G    1G    2G    4G    1G
     12 |  128M   64M   64M  128M  256M  128M   64M  128M  256M  256M  128M  128M  128M  256M    1G    1G
     11 |    4G  256M  256M  256M    2G  512M  512M  512M  512M  512M  512M  512M  512M    1G    2G    4G
     10 |    2G    2G  256M  256M  512M    2G  256M    1G  512M    1G    1G    1G  512M  512M    2G    1G
     09 |    2G    2G    2G    1G    2G    2G    1G    1G  512M  512M    1G    1G    2G    2G    4G  512M
     08 |  512M  256M   64M  128M  256M  512M  512M  256M  512M  256M   64M   64M  128M    1G    1G    1G
     07 |    4G    2G    2G    4G    4G    8G    8G    2G    1G    2G    4G    4G    8G    8G    4G    8G
     06 |    2G    1G    1G    2G    2G    2G    4G    2G    1G  512M    1G    1G    2G    8G    4G    2G
     05 |  512M  256M  512M    4G    4G    4G    4G    1G  512M  256M  256M    4G    4G    2G    4G    4G
     04 |  256M  256M  256M  512M  256M    1G  512M    1G    1G  512M  512M    1G  512M    1G    1G    1G
     03 |  512M    4G    2G  128M  256M    4G    4G    4G    4G    1G  512M   64M   64M    4G    2G    4G
     02 |  256M    2G    2G    1G    2G    2G    2G    2G    2G    1G    1G    2G    1G    2G    2G    2G
     01 |    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G    1G
      Lowest Exponent = 24   Exponent Average = 29.304
    
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • TonyB_TonyB_ Posts: 580
    edited August 6 Vote Up0Vote Down
    evanh wrote: »
    Tony,
    #2 candidate, [13 13 14 13], in the distribution high score list has very peculiar Practrand scores in the grid. 16-bit sampling looks just fine, while 8-bit sampling takes a severe dive! I guess having three 13's as the constants isn't helping the situation.

    #5 candidate, [7 1 8 6], isn't a whole better with rubbish 16-bit sampling. I'm wondering if that candidate fits one of Mellisa's don't-ever-use-those-combinations-of-constants criteria. And I'm also wondering if she has a single page with all the good rules to follow.

    Thanks for all the test results, Evan. I kept quiet yesterday so you wouldn't stay up all night again. :)

    I don't recall where Melissa mentions which xoroshiro constants not to use. Her last blog post is not as interesting as some others, but I mention it because I can't see the various Benchmark Results, only the titles. Can you?

    It's interesting how double-iterating and using all 32 bits improves some candidates that will clearly do badly when single-iterated and [13,13,14,13] is a classic example. As I haven't shown Chris's 32-bit state, 32-bit output PRNG lately, here it is again:
    unsigned int rng_state = 1;
    unsigned int get_rng_output() {
    	unsigned int tmp = state;
    	state ^= state << 13;
    	state ^= state >> 17;
    	state ^= state << 5;
    	tmp += (tmp << 18) | (tmp >> 14);//barrel shift and add
    	tmp += ((tmp << 7) | (tmp >> 25)) ^ ((tmp << 11) | (tmp >> 21));//two barrel shifts, an xor, and an add
    	return tmp ^ state;
    }
    

    There is not enough time to do two 32-bit additions, so we can't use it even if we wanted to. XORO32 could produce a 32-bit unequidistributed output fairly close in quality to Chris's with a change in constants and always produces two 16-bit equidistributed outputs. The best of both worlds, I think.
    Formerly known as TonyB
  • evanhevanh Posts: 5,096
    edited August 6 Vote Up0Vote Down
    TonyB_ wrote: »
    Thanks for all the test results, Evan. I kept quiet yesterday so you wouldn't stay up all night again. :)
    No worries, I'm not working at the moment anyway. Got laid off a couple months back when management decided to shift the factory overseas. I didn't particularly want to move with it.

    I don't recall where Melissa mentions which xoroshiro constants not to use.
    It sounded like a general rule of LCGs or maybe scramblers. It was a criticism in the first review of Xoshiro** I think ...

    EDIT: Found it, it was about ease of invertibility (of the scrambler I think). Maybe, that's irrelevant to Xoroshiro because the scrambler is summing two components of the state - a feature that was dropped with Xoshiro.

    Her last blog post is not as interesting as some others, but I mention it because I can't see the various Benchmark Results, only the titles. Can you?
    Ha, those are all Structured Vector Graphics. Wow, I think the only place I've seen an SVG before is Wikipedia, but Wikipedia has automatic conversion to bitmap for browsers that can't handle an SVG.

    I've emailed you the SVGs converted to PNGs.

    It's interesting how double-iterating and using all 32 bits improves some candidates that will clearly do badly when single-iterated ...
    That goes both ways. Hopefully there's something good in the three way mix with the distribution scores as well.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • evanhevanh Posts: 5,096
    edited August 6 Vote Up0Vote Down
    evanh wrote: »
    EDIT: Found it, it was about ease of invertibility (of the scrambler I think). Maybe, that's irrelevant to Xoroshiro because the scrambler is summing two components of the state - a feature that was dropped with Xoshiro.

    More specifically, it's the ** scrambler that dropped the combining of two components of the state, not Xoshiro per se.

    Xoshiro looks like it could also make use of the ++ scrambler but that one wasn't included in the published paper.


    EDIT: Which probably means the Xoroshiro128** used for the Prop2 free-running generator has a notable weakness.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • SVG = Scalable Vector Graphics

    I thought all current browsers supported SVG.

    SVG is a wonderful thing and used a lot now that we have libraries like D3 https://d3js.org/


  • They do. Tony is using Win98, so doesn't have a recent browser.
    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Weird.
  • evanhevanh Posts: 5,096
    edited August 6 Vote Up0Vote Down
    Melissa's charts aren't very self explanatory. She has this:
    Results are the geometric mean of 15 runs with different seeds, then normalized to make the classic biased-mod method have unit time.
    I can't make out what has been measured. But she goes on to say this about the C++ implementation of Mersenne-Twister:
    ... they wrote such a terrible implementation for 32-bit sizes ...
    which at least leads me to think a high value in the chart is bad.

    What is ideal? I'm guessing approaching zero, maybe, given the 1.0 reference is the "classic biased-mod method".

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
  • Heater. wrote: »
    Weird.

    Has an aversion to XP maybe. ;) It certainly pushed me to find alternatives.

    "Are we alone in the universe?"
    "Yes," said the Oracle.
    "So there's no other life out there?"
    "There is. They're alone too."
Sign In or Register to comment.