chess:programming:prng_pseudo_random_number_generator
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
chess:programming:prng_pseudo_random_number_generator [2021/10/31 19:16] – created peter | chess:programming:prng_pseudo_random_number_generator [2021/10/31 20:28] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Chess - Programming - PRNG (Pseudo Random Number Generator) ====== | ====== Chess - Programming - PRNG (Pseudo Random Number Generator) ====== | ||
- | Pseudo Random Number Generator(PRNG) refers to an algorithm that uses mathematical formulas to produce sequences of random numbers. | + | **Pseudo Random Number Generator(PRNG)** refers to an algorithm that uses mathematical formulas to produce sequences of random numbers. |
* PRNGs generate a sequence of numbers approximating the properties of random numbers. | * PRNGs generate a sequence of numbers approximating the properties of random numbers. | ||
Line 11: | Line 11: | ||
* Hence, the numbers are deterministic and efficient. | * Hence, the numbers are deterministic and efficient. | ||
- | ---- | + | Widely used PRNG algorithms include: Lagged Fibonacci generators, linear feedback shift registers, Blum Blum Shub. |
- | + | ||
- | ===== How PRNG works? ===== | + | |
- | + | ||
- | **Linear Congruential Generator** is most common and oldest algorithm for generating pseudo-randomized numbers. | + | |
- | + | ||
- | The generator is defined by the recurrence relation: | + | |
- | + | ||
- | < | + | |
- | Xn+1 = (aXn + c) mod c | + | |
- | </ | + | |
- | + | ||
- | **NOTE: | + | |
- | + | ||
- | * **X** is the sequence of pseudo-random values. | + | |
- | * **m**, 0< m- modulus. | + | |
- | * **a**, 0< a <m- multiplier. | + | |
- | * **c**, 0< = c<m- increment. | + | |
- | * **x0**, 0< | + | |
- | + | ||
- | The next random integer is generated using the previous random integer, the integer constants, and the integer modulus. | + | |
- | + | ||
- | * To get started, the algorithm requires an initial Seed, which must be provided by some means. | + | |
- | * The appearance of randomness is provided by performing modulo arithmetic. | + | |
---- | ---- | ||
Line 61: | Line 38: | ||
[[Chess: | [[Chess: | ||
+ | |||
+ | [[Chess: | ||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== References ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// |
chess/programming/prng_pseudo_random_number_generator.1635707819.txt.gz · Last modified: 2021/10/31 19:16 by peter