Составители:
§6. Примеры программ генераторов случайных чисел.
AP.cs
Алгоритмы
Библиотека AP для С# содержит базовый набор математических функций и классов, которые требуются для
работы программ.
HQRND.cs
Алгоритмы
В состав модуля входят два типа подпрограмм: подпрограммы для работы с низкоуровневым генератором и
для его настройки, и высокоуровневые подпрограммы, реализованные на базе низкоуровневого генератора.
К первой категории относятся подпрограммы RndIntegerBase, RndIntegerMax и RndInitialize. Первая
подпрограмма
возвращает случайное число в диапазоне от 0 (не включительно) до границы, возвращаемой
подпрограммой RndIntegerMax. Эта подпрограмма является основой для всех генераторов случайных чисел в
этом модуле. Подпрограмма RndInitialize служит для инициализации генератора и является аналогом
подпрограммы randomize, с тем отличием, что она принимает не одно значение seed-переменной, а два.
Ко второй категории относится целый
ряд подпрограмм. Для получения случайных целых чисел,
расположенных в указанном диапазоне, может использоваться подпрограмма RndUniformI. Подпрограмма
RndUniformR возвращает вещественные числа в диапазоне (0, 1). Подпрограммы RndNormal и RndNormal2
служат для генерации нормально распределенных случайных чисел. Первая из них генерирует одно
нормально распределенное случайное число, вторая - пару независимых чисел (при этом по трудоемкости обе
подпрограммы одинаковы, поэтому
для генерации больших количеств случайных чисел стоит пользоваться
второй подпрограммой). Подпрограмма RndExponential служит для генерации экспоненциально
распределенных случайных чисел.
POISSONDISTR.cs
Алгоритмы
Подпрограммы PoissonDistribution и PoissonCDistribution предназначены для вычисления площади под левым
и под правым хвостами графика (т.е. для вычисления интегральной функции вероятности и её дополнения).
Подпрограмма InvPoissonDistribution вычисляет функцию, обратную к интегральной функции вероятности
(подбирает такое значение параметра λ, что Fλ (x)=y).
NORMALDISTR.cs
Алгоритмы
Нормальное распределение, функции erf и erfc. Нормальное распределение, также известное, как
распределение Гаусса, является одним из наиболее известных непрерывных распределений. Строго говоря,
существует целое семейство нормальных распределений, различающихся лишь масштабом и смещением.
Здесь и далее под нормальным распределением подразумевается т.н. стандартное нормальное
распределение -
нормальное распределение с нулевым математическим ожиданием и единичным стандартным отклонением.
Подпрограммы Erf и ErfC служат для вычисления значения специальной функции erf(x) и её дополнения до
единицы. Функция, обратная к erf(x) вычисляется подпрограммой InvErf.
Интегральная функция вероятности нормального распределения вычисляется подпрограммой
NormalDistribution. Функция, обратная к интегральной функции распределения, вычисляется подпрограммой
InvNormalDistribution.