[ 
https://issues.apache.org/jira/browse/RNG-89?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alex Herbert closed RNG-89.
---------------------------

> Configurable SplitMix generator
> -------------------------------
>
>                 Key: RNG-89
>                 URL: https://issues.apache.org/jira/browse/RNG-89
>             Project: Commons RNG
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 1.3
>            Reporter: Alex Herbert
>            Assignee: Alex Herbert
>            Priority: Minor
>
> The {{SplitMix64}} algorithm is based on a [Weyl 
> sequence|[https://en.wikipedia.org/wiki/Weyl_sequence]]. The increment for 
> the sequence is denoted K.
> The current implementation uses a fixed increment for the Weyl sequence based 
> on the Golden ratio ((sqrt(5)-1) / 2). However any odd number in the range [0 
> - 2^64] can be used to ensure a full period. 
> The JDK SplittableRandom exploits this fact in the split() method which 
> creates a new generator that has a different increment for the Weyl sequence. 
> The javadoc states that the two outputs are very unlikely to overlap and have 
> the same statistical properties.
> Note that the SplittableRandom adds a further condition that the bit sequence 
> of the increment K is a random mix of 0s and 1s. If the number of transitions 
> between 0 and 1 or vice versa is too low then the number of transitions is 
> increased. This ensures the state of the Weyl sequence is updated across all 
> the bits at each iteration.
> Create a new SplitMix64K implementation that uses an additional {{long}} to 
> seed the increment for the Weyl sequence and test if this viable.
> Such a generator would expand the usefulness of the vary fast SplitMix64 
> generator as the low likelihood of sequence overlap would make it applicable 
> for use in parallel computations.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to