[
https://issues.apache.org/jira/browse/RNG-122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Herbert resolved RNG-122.
------------------------------
Fix Version/s: 1.3
Resolution: Implemented
In master.
> Change SeedFactory random source
> --------------------------------
>
> Key: RNG-122
> URL: https://issues.apache.org/jira/browse/RNG-122
> Project: Commons RNG
> Issue Type: Improvement
> Components: simple
> Affects Versions: 1.3
> Reporter: Alex Herbert
> Assignee: Alex Herbert
> Priority: Trivial
> Fix For: 1.3
>
>
> 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|https://www.sciencedirect.com/science/article/pii/S0377042718306265?dgcid=author]
> I have tested {{XOR_SHIFT_1024_S}} and {{XOR_SHIFT_1024_S_PHI}} using 10 runs
> of BigCrush and see the following results:
> {noformat}
> 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
> {noformat}
> This shows a systematic failure of the {{LinearComp}} test as observed in the
> paper linked above.
> Update the SeedFactory to use a different generator.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)