Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #132333
| From | Krishna Myneni <krishna.myneni@ccreweb.org> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: KISS 64-bit pseudo-random number generator |
| Date | 2024-09-25 20:45 -0500 |
| Organization | A noiseless patient Spider |
| Message-ID | <vd2ece$12u3$1@dont-email.me> (permalink) |
| References | (2 earlier) <a5254f7a5f00a0133c24e70330dabc04@www.novabbs.com> <vcgok8$gol7$1@dont-email.me> <nnd$76c078e1$19b846f5@d6ba8ec0a1ab68bc> <vch2sb$i6bm$1@dont-email.me> <vd25ij$3s0rd$1@dont-email.me> |
On 9/25/24 18:15, Krishna Myneni wrote:
>
> I've calculated the statistical variation in the moments for each set of
> N, using 16 different seeds (spaced apart over the interval for UMAX).
> The standard dev. for the 16 <v^i>, computed for N trials is comparable
> to the relative error between the moment and its theoretical value.
> Thus, the relative errors are indeed a meaningful comparison between the
> two prngs tested here, and I think this implies that for N > 10^5 the
> LCG PRNGĀ (RANDOM) gives more accurate answers than the KISS 64 bit PRNG
> (RAN-KISS), for this problem. The LCG PRNG is faster than the KISS
> 64-bit PRNG. ...
The revised test tables for 64-bit prngs RANDOM and RAN-KISS, below,
include the statistical variations of the moments as a result of
changing the seed for the prng. These variations are presented as the
scaled standard deviations for a set of 16 moments, each computed with a
different seed. The standard deviations, for a given N,
{s1, s2, s3} = {sd({<v>(x_i)}), sd({<v^2>(x_i)}), sd({<v^3>(x_i)})}
where x_i, i=1,16 represents the seed for the random number generator,
{<v^j>(x_i)} represents the set of 16 computed moments for each power of
v, j=1,2,3, and the averaging over the v^j is for N trials.
These computed standard deviations are scaled by the moments in order to
compare these variations with the relative error in the moments,
s_j/<v^j>
The relative error, |e_j|, is defined by
|e_j| = |(<v^j> - <v^j>_th)| / <v^j>_th
where <v^j>_th is the value of the j^th moment, computed from the
analytic integral, using the M-B probability density function.
For example, for the prng RANDOM tests, at N=10^7, the magnitude of the
relative error in <v^3>, |e3|, is 4.27e-05 for a random draw of 10^7
speeds from a Maxwell-Boltzmann distribution. If we repeat this same
computation 16 times, each time with a different seed, and look at the
normalized standard deviation s3/<v^3> (for N=10^7), this is 3.01e-04.
Comparing both the relative errors and statistical variations due to
using different seeds, the tables below show that RANDOM gives
consistently lower relative errors and statistical seed variations than
RAN-KISS, for N >= 10^5.
--KM
=== RANDOM PRNG TESTS ===
' random test-prng
Moments of speed
N <v> (m/s) <v^2> (m/s)^2 <v^3> (m/s)^3
10^2 1220.2444 1761665.1 2879481740.
10^3 1258.2315 1844889.5 3025976380.
10^4 1250.0696 1837249.9 3055346856.
10^5 1259.9899 1870367.4 3143506292.
10^6 1259.3923 1868383.4 3136761299.
10^7 1259.6343 1869366.9 3140010276.
Relative Errors Seed Variations
N |e1| |e2| |e3| s1/<v> s2/<v^2> s3/<v^3>
10^2 3.13e-02 5.77e-02 8.30e-02 4.70e-02 9.67e-02 1.54e-01
10^3 1.19e-03 1.32e-02 3.64e-02 1.32e-02 2.44e-02 3.59e-02
10^4 7.67e-03 1.73e-02 2.70e-02 4.43e-03 8.24e-03 1.22e-02
10^5 2.08e-04 4.44e-04 1.07e-03 1.11e-03 1.95e-03 2.78e-03
10^6 2.66e-04 6.18e-04 1.08e-03 2.82e-04 6.78e-04 1.27e-03
10^7 7.39e-05 9.15e-05 4.27e-05 7.76e-05 1.72e-04 3.01e-04
=== RAN-KISS PRNG TESTS ===
' ran-kiss test-prng
Moments of speed
N <v> (m/s) <v^2> (m/s)^2 <v^3> (m/s)^3
10^2 1212.8900 1702106.0 2666594142.
10^3 1274.7097 1900519.4 3190481667.
10^4 1259.6892 1866276.3 3123781859.
10^5 1260.4578 1872500.5 3147907366.
10^6 1260.2589 1871249.6 3145073404.
10^7 1259.8296 1869882.9 3140954422.
Relative Errors Seed Variations
N |e1| |e2| |e3| s1/<v> s2/<v^2> s3/<v^3>
10^2 3.72e-02 8.96e-02 1.51e-01 4.07e-02 8.72e-02 1.46e-01
10^3 1.19e-02 1.66e-02 1.60e-02 1.26e-02 2.54e-02 3.93e-02
10^4 3.03e-05 1.74e-03 5.21e-03 3.72e-03 6.96e-03 9.85e-03
10^5 5.80e-04 1.58e-03 2.47e-03 1.26e-03 2.41e-03 3.63e-03
10^6 4.22e-04 9.16e-04 1.57e-03 4.89e-04 9.75e-04 1.51e-03
10^7 8.11e-05 1.85e-04 2.58e-04 1.25e-04 2.54e-04 3.99e-04
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-08 22:09 -0500
Re: KISS 64-bit pseudo-random number generator Lars Brinkhoff <lars.spam@nocrew.org> - 2024-09-09 06:55 +0000
Re: KISS 64-bit pseudo-random number generator mhx@iae.nl (mhx) - 2024-09-09 07:41 +0000
Re: KISS 64-bit pseudo-random number generator anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-09 08:55 +0000
Re: KISS 64-bit pseudo-random number generator mhx@iae.nl (mhx) - 2024-09-09 10:04 +0000
Re: KISS 64-bit pseudo-random number generator albert@spenarnc.xs4all.nl - 2024-09-09 12:28 +0200
Re: KISS 64-bit pseudo-random number generator anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2024-09-09 15:26 +0000
Re: KISS 64-bit pseudo-random number generator albert@spenarnc.xs4all.nl - 2024-09-10 12:00 +0200
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-10 19:30 -0500
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-12 21:10 -0500
Re: KISS 64-bit pseudo-random number generator Paul Rubin <no.email@nospam.invalid> - 2024-09-12 19:15 -0700
Re: KISS 64-bit pseudo-random number generator mhx@iae.nl (mhx) - 2024-09-13 06:07 +0000
Re: KISS 64-bit pseudo-random number generator Paul Rubin <no.email@nospam.invalid> - 2024-09-13 03:46 -0700
Re: KISS 64-bit pseudo-random number generator minforth@gmx.net (minforth) - 2024-09-13 06:56 +0000
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-18 19:28 -0500
Re: KISS 64-bit pseudo-random number generator mhx@iae.nl (mhx) - 2024-09-19 06:33 +0000
Re: KISS 64-bit pseudo-random number generator minforth@gmx.net (minforth) - 2024-09-19 08:18 +0000
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-19 03:50 -0500
Re: KISS 64-bit pseudo-random number generator albert@spenarnc.xs4all.nl - 2024-09-19 10:57 +0200
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-19 06:45 -0500
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-25 18:15 -0500
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-25 20:45 -0500
Re: KISS 64-bit pseudo-random number generator Krishna Myneni <krishna.myneni@ccreweb.org> - 2024-09-09 18:36 -0500
csiph-web