Генератор псевдовипадкових чисел: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
DixonDBot (обговорення | внесок)
м робот косметичні зміни
Рядок 7:
x[n+1] = (a x[n]+ c) mod m.
</div>
Алгоритм зациклюється з періодом, що не перевищує деякого m. Коефіцієнти а, m і x(0) можуть приймати довільні цілі значення, за винятком 0. Параметр с може бути також і 0, але в цьому випадку скорочується період. Число ітерацій m звичайно вибирається рівним тощо, що робить непотрібною операцію ділення, яка автоматично виконається при переповнюванні. Число а можна узяти рівним, наприклад, 1664525, с - рівним 1013904223. Такий метод часто реалізують в сучасних системах програмування, хоча він майже ненепридатний у галузі статистики чи криптографії, де вимоги до „випадковості” значно вищі.
 
=== "Mother-of-All" random number generator ===
Рядок 17:
C = [S/2<sup>32</sup>,] .
</div>
Цей алгоритм є узагальненням попереднього і позбавлений його головного недоліку – короткого періоду. Тут період має порядок ???. Випадкове число x[i] належатиме проміжку [0, 1). Початкові значення можна задавати довільні. Алгоритм може бути застосований в прикладних науках, але він має нижчу швидкість.
 
=== Mersenne Twister ===
Рядок 25:
Одні з найновіших генераторів від Джорджа Марсалії. Знову розглядається деяка початкова послідовність, до якої застосовуються операції «Xorshift». Ці операції полягають в наступному:
x[i]:= x[i] xor (x[i] shl{ або shr} а).
Підсумкове випадкове число може бути одержано за допомогою підсумовування окремих членів послідовності, або застосування до них операції xor. В даний час це один з найбільш вживаних алгоритмів; послідовність, що генерується, достатньо випадкова, періоди&nbsp;— від (залежно від реалізації), відсутність операцій множеня позитивно позначається на швидкості<br />
 
=== Інші генератори ===