9. 3. Методы имитации случайных факторов
Базовой последовательностью случайных чисел, используемой для формирования в ЭВМ случайных элементов различной природы, с различными законами распределения является совокупность случайных чисел с равномерным законом распределения:
где f(x) - дифференциальный закон распределения равномерно распределенных чисел x в интервале [a,b].
Строго говоря, на цифровой ЭВМ получить последовательность случайных величин с равномерным распределением не представляется возможным[1]. Поэтому, если считать, что число разрядов ЭВМ равно k, а случайное число сформировано согласно формуле:
где aj = 0, Pj = ½; aj = 1, 1 - Pj = ½, то x = i/(2k – 1) принимает значение i/(2k – 1), (i = 0, 1, 2, …, 2k – 1) с вероятностью Pi = 1/2k. Такое распределение чисел x называется квазиравномерным в интервале [0;1], причем математическое ожидание и дисперсия определяются следующими соотношениями:
, (9.2)
Из формул (9.2) видно, что математическое ожидание M[x] точно совпадает с генеральным средним для равномерного распределения в интервале [0;1], а дисперсия при k ® ¥ асимптотически стремится к дисперсии для равномерного распределения при a = 0, b = 1, равной 1/12.
Практически при k > 15 обеспечивается требуемая точность в имитационных исследованиях. Поэтому в дальнейшем будем говорить о равномерном законе, хотя в действительности при программном моделировании имеем дело с квазиравномерным законом. При выводе выражений (9.2) предполагалось, что x формируется на основе случайных чисел aj, принимающих значения (0;1) с вероятностью Pj = 1/2, для чего в машине должен существовать случайный генератор, дающий строго случайные последовательности чисел aj с соответствующим распределением. Так как в ЭВМ такого генератора нет, случайные числа вырабатываются программным путем, в силу чего они, строго говоря, не являются случайными, так как формируются на основе вполне детерминированных преобразований, поэтому их называют псевдослучайными. Такие последовательности случайных чисел являются периодическими, поэтому очень длинные последовательности, длина которых превосходит период, уже не будут строго случайными. Однако, если при моделировании количество обращений к программному датчику случайных чисел оказывается меньше периода, измеряемого количеством различных случайных чисел, то такая периодичность программного датчика не оказывает существенного влияния на результаты моделирования.
Основные достоинства программного способа получения псевдослучайных чисел состоят в следующем:
не требуются специальные внешние устройства;
получение чисел достаточно быстрое (обычно требуется 3 -10 команд на число);
возможно повторное воспроизведение чисел;
требуется только однократная проверка алгоритма получения заданной последовательности чисел.
Методы получения псевдослучайных квазиравномерных чисел программным путем можно разделить на две основные группы: а) аналитические; б) методы перемешивания. При использовании аналитических методов очередное число в псевдослучайной последовательности получается с помощью некоторого рекуррентного соотношения, аргументами которого являются одно или несколько предыдущих чисел последовательности
xr = j (xr-1, xr-2, ..., x0).
Простейшим примером указанного способа получения случайных чисел, равномерно распределенных в интервале[0;1], может служить метод вычетов, в котором используется следующее рекуррентное соотношение:
xi+1 = bxi (mod M),
где выражение bxi (mod M) означает остаток от деления произведения bxi на число M; xi+1 - очередное случайное число; xi - предыдущее случайное число; b - некоторая константа; М - число, определяющее наибольшее значение получаемых случайных чисел.
Данный способ является основой построения мультипликативного программного датчика случайных чисел. В этом случае алгоритм построения последовательности случайных чисел сводится к следующему:
1. выбрать в качестве параметра a0 – произвольное нечетное число, например a0 = 513 при разрядности ЭВМ k = 32, M = 231 – 1
2. вычислить коэффициент b по формуле b = 8c ± 3, где c – любое целое положительное число, в частном случае b = 513;
3. вычислить произведение ba0; взять k младших разрядов в качестве первого члена последовательности a1, остальные отбросить;
4. провести нормализацию числа по формуле x1 = a1 / (2k – 1);
5. вычислить очередное псевдослучайное число a2 как k младших разрядов произведения ba1 и вернуться к пункту 4.
Описанный генератор подвергался, как отмечено в [3] широкой экспериментальной проверке и проявил достаточно хорошие свойства. С другими аналитическими способами получения случайных чисел, равномерно распределенных в интервале [0;1], можно ознакомиться в [1]. В случае применения методов перемешивания очередное число последовательности получается путем хаотического перемешивания разрядов предыдущего случайного числа с помощью операций сдвига, специальных сложений и различных арифметических операций. Например, часто используются следующие комбинации операций для перемешивания разрядов предыдущего случайного числа:
сдвиг предыдущего числа на некоторое число разрядов влево и специальное сложение результатов этого сдвига с предыдущим числом последовательности;
сдвиг предыдущего числа на некоторое число разрядов влево и вправо и специальное сложение результатов этих сдвигов.
Данные операции заканчиваются взятием модуля и нормализацией. В качестве начальной константы для формирования последовательности обычно берут иррациональные числа
Имитация случайных событий. Пусть в результате эксперимента должно наступить одно из несовместимых событий A1, A2, …, Ak, …, An, которые образуют полную группу событий, то есть.
где Pk – вероятность наступления события Ak..
Разбиваем отрезок [0; 1] на n частей длиной P1, P2, …, Pn; при этом точки деления отрезка имеют следующие координаты:
Пусть теперь x – очередное число от генератора случайных чисел. Если lk-1 £ x £ lk то считаем, что произошло событие Ak.
Действительно,
P (Ak) = P (lk-1 £ x £ lk) = lk – lk-1 = Pk.
Рассмотренная процедура может быть положена в основу выбора направления передачи требований при моделировании замкнутых сетей массового обслуживания.. Аналогичным образом можно моделировать дискретные случайные величины при конечном числе их значений. Если имеем дискретную случайную величину y, причем y = 1 с вероятностью P, а y =0 с вероятностью 1 – P, то при имитации ее на ЭВМ необходимо каждый раз решать следующую систему неравенств: если 0 £ xi £ P, то yi = 1; если P £ xi £ 1, то yi = 0, где xi – очередное случайное число от генератора случайных равномерно распределенных чисел.
Имитация непрерывных случайных величин. В литературе рассматриваются несколько способов имитации, основанных на различных преобразованиях равномерно распределенных случайных чисел в числа с заданным законом распределения.
Метод обратной функции. Он основан на использовании следующей теоремы. Если x – случайная величина, равномерно распределенная на отрезке [0; 1], то случайная величина y, являющаяся решением уравнения:
, (9.3)
имеет плотность распределения f (y).
Данный метод позволяет сформулировать правило генерирования случайных чисел, имеющих произвольное непрерывное распределение f (y):
вырабатывается случайное число xi генератором случайной равномерной последовательности;
случайное число yi , имеющее распределение f (y), находится из решения уравнения
Таким образом, последовательность чисел x0, x1, x2, …, xi преобразуется в последовательность y0, y1, y2, …, yi, имеющую заданную плотность распределения f (y). Рассмотрим примеры.
Пример 1. Необходимо получить последовательность чисел, равномерно распределенных на отрезке [a,b]. Тогда, используя (9.3) имеем:
,
откуда yi = xi (b – a) +a.
Пример 2. Необходимо получить последовательность чисел, имеющих распределение по показательной функции:
- В. В. Мыльник б. П. Титаренко в. А. Волочненко
- Содержание
- Часть I. Основы построения и финансирования систем управления.......................
- Глава 1. Системы и их закономерности................................................
- Глава 2. Управление и кибернетика.............................................................................
- Глава 3. Автоматизация управления............................................................................
- Глава 4. Методология разработки систем управления...............................................
- Глава 8. Исследование операций.................................................................................
- Глава 9. Имитационное моделирование.....................................................................
- Глава 10. Планирование экспериментов.....................................................................
- Глава 11. Распознавание объектов, явлений и ситуаций...........................................
- Глава 12. “Чёрный” и “белый” ящик как научные методы.......................................
- Глава 13. Экспертные оценки......................................................................................
- Глава 14. Оценка эффективности систем управления...............................................
- Предисловие
- Часть I. Основы построения и финансирования систем управления Глава 1 Системы и их закономерности
- 1.1. Системы
- У внутренней среды и
- Множество выходных элементов
- Классификация систем и их характеристика
- Признаки систем Виды систем
- 1.3. Основные закономерности систем
- Вопросы для самоконтроля
- Литература
- Глава 2 Управление и кибернетика
- Управление
- 2.2. Кибернетика и её принципы
- Кибернетика
- 2.3. Производственная организация как кибернетическая система
- Интернет
- Вопросы для самоконтроля
- Литература
- Глава 3 Автоматизация управления
- 3.1. Основные направления автоматизации управления
- 3.2. Классификация аису
- Признаки аису Виды аису
- 3.3. Структурное построение иаису
- Обеспечивающая Системная Функциональная
- Конфигурация рабочих мест в процессе реализации
- 3.4. Общесистемные принципы создания иаису
- Методы синтеза структуры иаису
- 3.6. Цели и критерии эффективности систем управления
- Вопросы для самоконтроля
- Литература
- Глава 4 Методология разработки систем управления
- 4.1. Организация разработки систем управления
- 4.2. Инвестиционный цикл проекта и его структура
- Вопросы для самоконтроля
- Литература
- Глава 5 Источники и методы финансирования систем управления
- 5.1. Источники финансирования
- 5.2. Основные методы финансирования
- Льготы по налогообложению
- Учетный
- Контокорректный
- Акцептный
- Вопросы для самоконтроля
- Литература
- Часть II. Методы исследования и оценки эффективности
- 7.2. Процедуры системного анализа
- 7.3. Разработка, построение и исследование моделей
- Вопросы для самоконтроля
- Литература
- Глава 8 Исследование операций
- 8.1. Вводные понятия
- 8.2. Методы безусловной и условной оптимизации Задача 1. Найти f(x1…,xn) max , (8.2)
- Задача 2. Найти f(x1…,xn) max (8.6)
- Задача 3. Найти f(x1,…,xn)max (8.10)
- Задача 3а.
- 8.3. Корреляционный и регрессионный анализ
- 8.4. Робастные методы и процедуры
- 8.5. Выводы по анализу применяемых методов
- Вопросы для самоконтроля
- Литература
- Глава 9 Имитационное моделирование
- 9.1. Понятие об имитационном моделировании
- 9. 2. Имитация функционирования систем с дискретными событиями
- 9. 3. Методы имитации случайных факторов
- В соответствии с (9.3) имеем:
- Вопросы для самоконтроля
- Литература
- Глава 10 Планирование экспериментов
- 10.1. Полный факторный эксперимент и дробные реплики
- 10.2. Поиск области оптимума
- Вопросы для самоконтроля
- Литература
- Глава 11 Распознавание объектов, явлений и ситуаций
- 11.1 Сущность процесса распознавания
- 11.2 Системы распознавания и их классификация
- 11.3. Задачи при создании системы распознавания
- 11.4 Математические методы распознавания
- Вопросы для самоконтроля
- Литература
- Глава 12
- 12.2. Исследование поведения “чёрного” ящика
- Вопросы для самоконтроля
- Литература:
- Глава 13 Экспертные оценки
- 13.1. Сущность метода экспертных оценок
- 13.2. Подбор экспертов
- 13.3. Методы проведения опроса экспертов
- 13.4. Обработка экспертных оценок
- Анализ оценки относительной важности влияния I-х локальных аису на статьи затрат себестоимости продукции
- Коллективная экспертная оценка
- Вопросы для самоконтроля
- Литература
- Глава 14. Оценка эффективности систем управления
- 14.1. Эффективность инвестиций в системы управления
- 14.2. Методы оценки эффективности систем управления
- 14.3. Статические методы
- 14.4. Дисконтирование потоков денежных ресурсов
- 14.5. Динамические методы
- 14.6. Определение затрат на создание и эксплуатацию систем управления
- 14.7. Факторы и источники формирования социально-экономических результатов
- 14.8. Оценка социально-экономических результатов
- 14.9. Учет инфляционных процессов
- 14.10. Учет неопределенности и рисков
- Вопросы для самоконтроля
- Глоссарий