Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / MODELIROVANIE_SISTEM_12.docx
Скачиваний:
240
Добавлен:
17.06.2016
Размер:
3.17 Mб
Скачать

8. Случайные факторы и их модели

Под случайным фактором условимся понимать случайное событие, случайную величину, многомерную случайную величину, случайную функцию одного или нескольких переменных и вообще любые объекты, выбор которых определяется соответствующими вероятностными распределениями. А под реализацией случайного фактора - сам акт выбора, то есть статистическую выборку одного элемента из множества, наделенного вероятностной мерой.

В данной главе рассмотрение будет ограничено моделированием случайных событий и случайных величин.

При моделировании случайных факторов будем исходить из того, что используемый датчик БСВ является идеальной моделью базовой случайной величины z ~ R[0,1], то есть выдает равномерно распределенные и независимые случайные значения z. Это позволит нам строить модели случайных факторов и устанавливать их свойства теоретически - опираясь только на положения теории вероятностей и не прибегая к громоздким процедурам статистического тестирования.

В то же время в целях наглядности, модели случайных факторов будем иллюстрировать примерами с простой статистической обработкой выходных данных.

8.1. Моделирование случайных событий

Пусть задана некоторая система непересекающихся событий {A, ... , A } c их вероятностями p , ... , p соответственно;

Чтобы построить программную модель такого события, разобьем интервал (0,1) на n отрезков длиной p ,p , ... ,p. Это всегда возможно, так как Тогда модель случайного события A может быть написана в соответствии с простым алгоритмом, изображенным на рис. 8.1, где запись (p) обозначает "отрезок длиной p ".

В качестве примера построим модель операции, состоящей в вытаскивании шара из урны, содержащей пять белых шаров (Б), три красных (К) и два черных (Ч). Так как исходы Б,К,Ч имеют вероятности p= 0.5, p = 0.3 и p= 0.2 соответственно, то интервал (0,1) разбиваем на отрезки (0;0.5), (0.5;0.8) и (0.8;1).

Алгоритм моделирования имеет примерно следующий вид:

(1) Получить значение z из датчика БСВ.

(2) Если z  1/2 , вывести "Б", иначе, если z  8/10 , вывести "К", иначе вывести "Ч".

Рис. 8.1. Модель случайного события

Вот пример 60-кратного выполнения этого алгоритма на компьютере; мы видим, что частота появления каждого исхода примерно соответствует его вероятности:

БКБКБКБКББКЧБББККББКЧЧББЧЧКББЧБЧББЧБКЧЧБББККББЧКБЧКББЧКБЧББ.

Так, исход "Б" здесь появился 31 раз (52% случаев), "К" - 15 раз (25%) и "Ч" - 14 раз (23%).

8.2. Моделирование дискретных случайных величин

Моделирование дискретной с.в. в принципе ничем не отличается от моделирования случайного события. Дискретная с.в. d задается множеством возможных значений {d , ... ,d } и их вероятностями p , ... , p. Поэтому дискретная с.в. реализуется по алгоритму рис.8.1, только вместо "Исход A" в нем нужно записать " d=d" для всех i=1,... ,n.

Единственное, что здесь имеет смысл добавить сверх сказанного, это о возможности модифицировать алгоритм рис. 3.4. в двух частных случаях с целью упрощения программы.

Первый случай - это когда d  { 0, 1, ... , n-1 } и исходы равновероятны: p = ... = p = 1/n. В этом случае все промежуточные операции, включая разбиение интервала (0,1) на n отрезков и поиск среди них того, в который попало значение z, сокращаются за счет применения функции  x  вычисления целой части от x. И весь алгоритм сворачивается в одну формулу:

d = nz. (8.1)

Действительно, в этом случае при z  (0,1/n) будет d = 0, при z  (1/n,2/n) будет d = 1 и т.д. Случаи, когда z попадает точно на границы отрезков, здесь не рассматриваются, так как их вероятность равна нулю.

Ясно, что формулу (8.1) легко приспособить к близким ситуациям. Например, для моделирования игральной кости с числом очков от 1 до 6 можно ее "выбрасывание" реализовать по формуле

d =  6z  + 1, (8.2)

где z получается от датчика БСВ, d - выпавшее число очков.

Применение формулы (8.2) для 60-ти "выбрасываний кости" компьютером дало последовательность: