Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чм.docx
Скачиваний:
70
Добавлен:
10.02.2016
Размер:
1.02 Mб
Скачать

Тема 4.2. Имитационное моделирование на метауровне

§ 4.2.1. Методы и алгоритмы генерирования случайных величин

При имитационном моделировании на метауровне необходимо использоывать выборки случайных величин для представления параметров систем в различные моменты времени.

Рассмотрим некоторые процедуры генерации случайных величин (СВ) по заданному закону распределения.

Принципиально возможны три метода получения последовательности СВ по заданному закону распределения: аппаратный, табличный и алгоритмический.

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

При табличном в память ЭВМ заносится таблица случайных чисел, которую можно найти в литературе по математической статистике.

Алгоритмический заключается в генерировании случайных величин по определенному алгоритму. Рассмотрим этот метод более детально.

Алгоритмический метод использует для формирования выборок СВ математические методы для получения случайных чисел имеющих равномерный закон распределения .

Фактические числа, получаемые таким способом, являются псевдослучайными, потому что возможно повторное использование алгоритма и получение снова такой же последовательности. Одним из наиболее простых и первых использовавшихся алгоритмов был алгоритм срединных квадратов. Предложенный Фон Нейманом и Метронолисом в 1946 г.

В нем каждое новое число последовательности получается взятием средних M цифр из числа полученного возведением в квадрат начального m-значного числа.

Например, если Х0 = 2152, то 0)2 = 04631104

Х1 = 6311 1) 2 = 39828721

Х2 = 8287 3) 2 = 68674369 и т.д.

Последовательные случайные числа должны быть независимыми одно от другого (не коррелированны).

Известны рекуррентные, мультипликативные и аддитивные алгоритмы. Хорошие выборки случайных чисел дает такой рекуррентный алгоритм:

где M, D - целые числа.

Алгоритм вырабатывает случайные целые числа между 1 и D-1.

Хорошую последовательность дают значение M = 8192 и D = 671101323.

В алгоритмическом языке Бейсик есть арифметическая функция RND(X), которая в зависимости от значения X, настраивает датчик случайных чисел. При моделировании можно использовать команду RANDOMIZE(n).

Мультипликативный алгоритм:

Ri+1 = aRi(modm), где

a= 8T± 3, T- любое целое положительное число. В качестве случайного начального числа берется любое положительное число меньшее 1.

Аддитивный алгоритм Ri+1 = (Ri + Ri-1)(modm), где два случайных числа можно получить по мультипликативному алгоритму.

Для получения нормального распределения можно использовать такие алгоритмы:

1-ий алгоритм:

в данном алгоритме Yi - случайная величина, которая генерируется; yi - случайная величина, распределенная по нормальному закону; xi - случайная величина, распределенная по равномерному закону; - среднеквадратичное отклонение.

2-ий алгоритм:

при использовании данного алгоритма следует иметь в виду, что при S<1 случайные числа исчисляются по формулам, а при S>1 следует начинать новый цикл расчета.

3-ій алгоритм:

при использовании этого алгоритма необходимо знать n (n > 6) случайных чисел распределенных по равномерному закону. В литературе можно найти алгоритмы и для других видов распределения случайных величин.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]