[ https://issues.apache.org/jira/browse/RNG-124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16981711#comment-16981711 ]
Alex Herbert edited comment on RNG-124 at 11/25/19 5:13 PM: ------------------------------------------------------------ I have completed the stress test runs using Dieharder, BigCrush and PractRand for the fixed increment PCG generators. For reference I included the results of the same generators with a variable increment. {noformat} RNG Dieharder ∩ TestU01 (BigCrush) ∩ PractRand ∩ PCG_XSH_RR_32 0,0,0,0,0 0,0,0,0,0 -,-,- PCG_XSH_RS_32 0,0,0,0,0 0,1,2,1,0 41,-,- PCG_RXS_M_XS_64 0,0,0,0,0 0,1,0,0,0 -,-,- PCG_XSH_RR_32_OS 0,0,0,0,0 0,0,1,0,0 -,-,- PCG_XSH_RS_32_OS 0,0,0,0,0 0,0,1,0,0 -,-,- PCG_RXS_M_XS_64_OS 0,0,0,0,0 0,0,0,1,2 -,-,- {noformat} This is as expected. These generators do not systematically fail any of these tests when using a variable increment. They are fine with the default increment. For reference the total run time for the tests are: {noformat} DH: Sum = 0 days 11:02:44.93 TU: Sum = 2 days 23:00:00.43 PR: Sum = 2 days 13:40:47.10 {noformat} PractRand was run on a different faster machine. However the timings show that the 3 runs of PractRand are roughly equivalent to 5 runs of BigCrush in CPU time. was (Author: alexherbert): I have completed the stress test runs using Dieharder, BigCrush and PractRand for the fixed increment PCG generators. For reference I included the results of the same generators with a variable increment. {noformat} RNG Dieharder ∩ TestU01 (BigCrush) ∩ PractRand ∩ PCG_XSH_RR_32 0,0,0,0,0 0,0,0,0,0 -,-,- PCG_XSH_RS_32 0,0,0,0,0 0,1,2,1,0 41,-,- PCG_RXS_M_XS_64 0,0,0,0,0 0,1,0,0,0 -,-,- PCG_XSH_RR_32_OS 0,0,0,0,0 0,0,1,0,0 -,-,- PCG_XSH_RS_32_OS 0,0,0,0,0 0,0,1,0,0 -,-,- PCG_RXS_M_XS_64_OS 0,0,0,0,0 0,0,0,1,2 -,-,- {noformat} This is as expected. These generators do not systematically fail any of these tests when using a variable increment. They are fine with the default increment. > Create fixed increment PCG generators > ------------------------------------- > > Key: RNG-124 > URL: https://issues.apache.org/jira/browse/RNG-124 > Project: Commons RNG > Issue Type: Improvement > Components: core, simple > Affects Versions: 1.3 > Reporter: Alex Herbert > Assignee: Alex Herbert > Priority: Trivial > Time Spent: 20m > Remaining Estimate: 0h > > The increment of the PCG generator serves to select the underlying linear > congruential generator (LCG) from 2 classes of related generators. Thus > initialisation of generators using different increments can result in PCG > output with massive correlations. The result is that seeding with 128-bits > does not reduce the chance of correlated output over seeding with just > 64-bits and using a fixed increment. See RNG-123. > Create a fixed increment version of the three PCG generators which currently > accept the increment in their seed: > {noformat} > PCG_XSH_RR_32 => PCG_XSH_RR_32_OS > PCG_XSH_RS_32 => PCG_XSH_RS_32_OS > PCG_RXS_M_XS_64 => PCG_RXS_M_XS_64_OS > {noformat} > Here the {{_OS}} suffix represents One Sequence. The equivalent PCG > generators in the reference c++ source code have a _oneseq suffix. -- This message was sent by Atlassian Jira (v8.3.4#803005)