Uploaded image for project: 'Commons RNG'
  1. Commons RNG
  2. RNG-122

Change SeedFactory random source

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Trivial
    • Resolution: Implemented
    • 1.3
    • 1.3
    • simple
    • None

    Description

      The SeedFactory uses XOR_SHIFT_1024_S. This has a systematic failure in BigCrush using the lower 32-bit bit in reverse order:

      Xorshift1024*, xorshift1024+, xorshift128+ and xoroshiro128+ fail statistical tests for linearity

      I have tested XOR_SHIFT_1024_S and XOR_SHIFT_1024_S_PHI using 10 runs of BigCrush and see the following results:

      RNG                     Bit-reversed    TestU01 (BigCrush) 
      XOR_SHIFT_1024_S        true            1,2,1,1,1,1,2,2,1,1
      XOR_SHIFT_1024_S_PHI    true            1,1,1,1,2,1,1,1,1,1
      
      RandomSource,Bit-reversed,Test,Failures,Failed
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),2,68  MatrixRank, L=1000, r=0|80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),2,25  ClosePairs mNP2S, t = 16|80  LinearComp, r = 0
      XOR_SHIFT_1024_S,true,TestU01 (BigCrush),2,74  RandomWalk1 M (L=50, r=0)|80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),1,80  LinearComp, r = 0
      XOR_SHIFT_1024_S_PHI,true,TestU01 (BigCrush),2,80  LinearComp, r = 0|80  LinearComp, r = 0
      

      This shows a systematic failure of the LinearComp test as observed in the paper linked above.

      Update the SeedFactory to use a different generator.

      Attachments

        Activity

          People

            aherbert Alex Herbert
            aherbert Alex Herbert
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: