|
Лекция 23.
|
Рис. 23.1. Схема использования генератора случайных чисел для имитации случайного события |
Фрагмент алгоритма представлен на рис. 23.2.
Рис. 23.2. Блок-схема алгоритма имитации случайного события |
Заметим, что не важно, как вы расположите на отрезке [0; 1] интервал Pб в начале или в конце, поскольку метод Монте-Карло учитывает только частоту попадания случайных точек в интервал, а она зависит только от величины интервала и не зависит от его месторасположения.
События называются несовместными, если вероятность появления этих событий одновременно равна 0. Отсюда следует, что суммарная вероятность группы несовместных событий равна 1.
Обозначим через a1, a2, , an события, а через P1, P2, , Pn вероятности появления отдельных событий.
Так как события несовместны, то сумма вероятностей их выпадения равна 1: P1 + P2 + + Pn = 1.
Снова используем для имитации выпадения одного из событий генератор случайных чисел, значение которых также всегда находится в диапазоне от 0 до 1. Отложим на единичном интервале [0; 1] отрезки P1, P2, , Pn. Понятно, что в сумме отрезки составят точно единичный интервал. Точка, соответствующая выпавшему числу из ГСЧ на этом интервале, укажет на один из отрезков. Соответственно в большие отрезки случайные числа будут попадать чаще (вероятность появления этих событий больше!), в меньшие отрезки реже (см. рис. 23.3).
Рис. 23.3. Схема генерации несовместных случайных событий с помощью генератора случайных чисел |
На рис. 23.4 показана блок-схема, которая реализует описанный алгоритм. Алгоритм определяет с помощью фильтра, построенного в виде последовательности условных операций (IF), в какой из интервалов от 0 до P1, от P1 до (P1 + P2), от (P1 + P2) до (P1 + P2 + P3) и так далее попало число, сгенерированное генератором случайных чисел. Если число попало в какой-то из интервалов (что произойдет всегда и обязательно), то это соответствует выпадению связанного с ним события.
Рис. 23.4. Блок-схема алгоритма имитации случайных несовместных событий |
Пример с возможным исходом четырех несовместных случайных событий.
Промоделируем выпадение последовательности событий будем выбирать из колоды карт наугад карту (определять ее масть). Карты в колоду возвращать не будем.
В колоде 36 карт четырех мастей по 9 карт каждой масти. Интервал от 0 до 1 разделим на равные четыре части: [0.000.25], [0.250.50], [0.500.75], [0.751.00]. Первая часть будет соответствовать картам масти червей (Ч), вторая картам масти пик (П), третья картам масти виней (В), четвертая бубей (Б).
Взять случайное равномерно распределенное число в интервале от 0 до 1 из таблицы случайных чисел или стандартного ГСЧ. Пусть, например, это будет число 0.597. Данное число попадает в третий интервал, соответствующий масти В. Произошло случайное событие: «Масть выпавшей карты В».
Поскольку теперь в колоде 9 карт масти Ч, 9 карт масти П, 8 карт масти В, 9 карт масти Б, то интервал от 0 до 1 будет разбит на отрезки длиной: 9/35, 9/35, 8/35, 9/35, то есть [0.0000.257], [0.2570.514], [0.5140.743], [0.7431.000]. Разыграем случайное равномерно распределенное число в интервале от 0 до 1. Например, 0.321. Данное число попадает во второй интервал, соответствующий масти П.
Продолжая процесс, можно получить (в зависимости от конкретных случайных чисел), например, такую последовательность: ВПВЧБПЧ (в качестве иллюстрации см. рис. 23.5).
Рис. 23.5. Иллюстрация работы генератора случайных чисел на примере выбора карт из колоды |
Лекция 22. Генераторы случайных чисел | Лекция 24. Моделирование случайной величины | ||||||||||||||||
|