1.4. Генерация псевдослучайных чиселВ имитационных моделях иногда необходимо получать случайные выборки из одного или нескольких распределений. Наиболее часто применимым на практике методом получения выборок случайных чисел из заданного распределения на цифровом компьютере является генерация одного или нескольких случайных чисел, равномерно распределенных на интервале между 0 и 1, и последующее преобразование этого числа или чисел в новое случайное число, распределенное по желаемому закону. Независимые случайные числа, равномерно распределенные на интервале от 0 до 1, являются, таким образом, основой для генерации выборок всевозможных распределений [2,4]. В цифровой имитации существуют по крайней мере три способа получения случайных чисел: · Первым методом является хранение в компьютере таблицы случайных чисел [2,3] и получение затем из нее данных для имитационного моделирования. Недостаток этого метода заключается в относительно медленной скорости считывания компьютером данных с внешнего устройства ввода и в необходимости хранения большого объема табличных данных. · Вторым методом является использование некоторого физического устройства, например электронной лампы, для генерации случайного шума. Недостаток этого метода заключается в невозможности повторного воспроизведения результатов имитации, а следовательно, невозможности осуществления верификации модели и направленного эксперимента с ее параметрами. · Третьим методом, которому отдается предпочтение, является применение рекурсивных формул, по которым на основании i-го случайного числа вычисляется (i+l)-e случайное число. Поскольку последовательность чисел вычисляется в уравнении детерминированно, они, естественно, не являются случайными, и их обычно называют псевдослучайными числами. В дальнейшем для краткости будем называть эти числа случайными, имея в виду, что на самом деле они псевдослучайны. Генераторы псевдослучайных чисел должны удовлетворять следующим требованиям: 1. Числа равномерно распределены на интервале (0, 1) и независимы, т. е. корреляция между случайными числами последовательности отсутствует. 2. Генерируется достаточное количество неповторяющихся чисел, т. е. период (цикл) генератора довольно длинный. 3. Последовательность случайных чисел воспроизводима. Это предполагает, что различные начальные значения (корни) дают различные последовательности. 4. Генератор должен быть быстродействующим, поскольку для моделирования может потребоваться большое количество чисел. 5. Желательно использование малого объема памяти. Наилучшим образом удовлетворяет данным требованиям широко распространенный в настоящее время конгруэнтный метод. Конгруэнтный метод использует следующее рекурсивное уравнение: где - значение корня, а является i–м псевдослучайным числом. Это уравнение определяет, что ненормализованное случайное число равно остатку , деленному на , где - предыдущее ненормализованное случайное число, а , и - константы. Выбор значений данных констант является предметом постоянных исследований. В процессе имитации часто необходимо в одной модели работать с несколькими потоками случайных чисел. Например, раздельные потоки случайных чисел могут быть использованы в системе массового обслуживания для моделирования процессов прибытия и обслуживания заявок. При этом можно генерировать одни и те же последовательности моментов прибытия заявок независимо от порядка их обслуживания и, таким образом, оценивать различные процедуры обслуживания для одной и той же последовательности заявок. Разработчику модели предоставляется возможность выбора различных значений корней генератора случайных чисел для параллельных случайных потоков.
|