home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,728 of 117,927   
   Krishna Myneni to Krishna Myneni   
   Re: KISS 64-bit pseudo-random number gen   
   12 Sep 24 21:10:43   
   
   From: krishna.myneni@ccreweb.org   
      
   On 9/10/24 19:30, Krishna Myneni wrote:   
   > On 9/9/24 03:55, Anton Ertl wrote:   
   >> mhx@iae.nl (mhx) writes:   
   >>> On Mon, 9 Sep 2024 6:55:49 +0000, Lars Brinkhoff wrote:   
   >>>   
   >>> [..]   
   >>>> I would like to recommend Marsaglia's newer and better xorshift family   
   >>>> of PRNGs, and preferably the further development by Sebastiano Vigna   
   >>>> called xoroshiro.  The output (with suitable parameters) is very good*,   
   >>>> yet the implementation is very simple.   
   > ...   
   >> Having better randomness at the same speed or better speed with   
   >> similar randomness is also relevant outside cryptographic   
   >> applications.   
   >>   
   >   
   > Supposedly "good" PRNGs give large errors compared to theoretical values   
   > for some physics simulations. These errors have been studied for a 2D   
   > Ising model of ferromagnetism at the phase transition temperature, T =   
   > T_c (transition from ordered spins to disordered spins).   
   >   
   > Ref. [1] shows that a simple 32-bit congruential generator (CONG) gave   
   > more accurate answers for the average energy  and specific heat    
   > of the model lattice in Monte-Carlo simulations than the supposedly   
   > superior R250 XOR based shift register generator or a subtract with   
   > carry generator (SWC) -- incidentally, the R250 generator is included in   
   > the FSL. All other things being the same for the simulations, the   
   > following errors (in std deviations) were observed with the different   
   > PRNGs:   
   >   
   > PRNG   error in    error in    
   > CONG   -0.31             0.82   
   > R250   42.09          -107.16   
   > SWC   -16.95            32.81   
   >   
   ...   
      
   I ran a simple Monte-Carlo integration of the area in a unit circle   
   using the 64-bit LCG PRNG (from random.4th in kForth dist) and   
   Marsaglia's 64-bit KISS PRNG. Hard to say which is better for this problem.   
      
   --   
   Krishna   
      
   === Comparison of 64-bit LCG and KISS PRNGs ===   
      
   PRNG: RANDOM  (random.4th)   
   Ntrials   Area      log(error)   
   -------------------------------   
   10^2     3.28        -0.86   
   10^3     3.18        -1.42   
   10^4     3.1724      -1.51   
   10^5     3.14048     -2.95   
   10^6     3.14350     -2.72   
   10^7     3.14225     -3.18   
   10^8     3.14152     -4.14   
      
   PRNG: RAN-KISS (kiss.4th)   
   Ntrials   Area      log(error)   
   -------------------------------   
   10^2     3.24       -1.01   
   10^3     3.10       -1.38   
   10^4     3.1252     -1.79   
   10^5     3.14084    -3.12   
   10^6     3.14073    -3.06   
   10^7     3.14184    -3.61   
   10^8     3.14167    -4.11   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca