Лабораторная работа №1
Моделирование случайных величин, имеющих равномерный закон распределения
Цель работы: Изучить алгоритмические принципы построения генераторов псевдослучайных чисел, равномерно распределенных в интервале (0;1) и получить практические навыки оценки качества этих генераторов.
Постановка задачи: для реализации метода статистического моделирования обычно требуется большое количество случайных чисел, в связи с этим необходимо выбирать такие способы получения псевдослучайных чисел, которые реализуются с возможно наименьшими затратами и, кроме того, обеспечивают простоту и удобство дальнейших преобразований. Как правило, случайные величины подчиняются различным законам распределения (нормальному, пуассоновскому) и получаются в результате преобразования чисел с равномерным распределением в интервале (0;1).
Поэтому необходимо знать различные методы получения последовательности равномерного распределенных случайных чисел в интервале (0;1) и уметь реализовать их на ЭВМ.
Пояснения к работе:
Математическое описание
Случайное число называется равномерно распределенным в интервале (0;1), если плотность распределения f(x)определятся как:
fx=10при 0t0) зависят от только его состояния вданный момент времени t0и не зависят от того, когда и как система пришла в это состояние.
В практической деятельности с некоторой степенью приближения можно свести случайные процессы к марковским.
Случайная последовательность событий называется марковской цепью, если для каждого шага вероятность перехода из состояние Si в какое-то другое состояние Sjне зависит от того, когда и как система пришла в состояние Sj. В лабораторной работе рассматриваются вопросы применения марковских цепей на примере моделирования поведения лягушки в естественной среде обитания (биологическая система).
I.1 Выберем математическую модель для описания биологической системы.
K – лягушка сидит на кочке
Л – лягушка находится на листе
В – лягушка плавает в воде
Зная вероятности переходов из одного состояния в другое и ее начальное положение, определить вероятности пребывания лягушки в каждом состоянии через nшагов (nминут).
I.2 Обоснование выбора модели
Так как переход лягушки из одного состояния в другое состояние зависит только от ее положения в данный момент, мы имеем дело с марковским случайным процессом.
Для моделирования принимаются следующие допущения:
Будем считать, что лягушка совершает прыжки (меняет состояние) строго через определенные промежутки времени (через одну минуту).
Считаем, что количественные характеристики случайных событий наблюдались при достаточно большом числе опытов и незначительно колеблются относительно среднего значения
Поскольку лягушка меняет свое состояние в дискретные моменты времени, мы имеем дело со случайной последовательностью, а так как вероятности перехода не зависят от шага и предыстории (допущение 2), то – с однородной марковской погрешностью.
I.3. Обработка результатов моделирования
Представим нашу систему (лягушка+среда обитания) в виде ориентированного графа, в котором вершины соответствуют состояниям системы К,Л,В, а дуги обозначают возможные переходы из одного состояния в другое. Дуги, соединяющие две вершены Siи Sjпомечаются соответствующими вероятностями периода Pij.
Данный граф можно представить в виде матрицы переходов П
K Л В
П= P11P12P13P21P22P23P31P32P33
Вероятности перехода P11, P22,P33 характеризуют вероятность того, что лягушка не изменит своего текущего состояния.
Состояние лягушки на шаге nбудем характеризовать вектором вероятностиP(n)=(P1(n), P2(n),P3(n)), где P1(n), P2(n), P3(n) – вероятности нахождения лягушки в состояниях К, Л, В соответственно. Например, если вероятность образует набор (1,0,0), то это значит, что лягушка находится на кочке, а в случае набора (1/3, 1/3, 1/3) все состояния равновероятны.
В теории марковских процессов доказано, что вектор вероятности состояний P(n) определяется через начальное состояние вектора вероятности P(0) по формуле:
Pn=P0*Пn,
где Пn – переходная матрица, возведенная в степень n
Порядок выполнения работы
Ознакомиться с различными видами случайных процессов, методами построения математических моделей на основе марковских процессов.
Получить задание у преподавателя
Разработать алгоритм, моделирующий поведение биологической системы
Выполнить моделирование биологической системы при n=5,10,15 мин, т.е. определить вектор вероятности состояний P(n)
Установить тенденцию изменения вектора вероятности состояний P(n) при возрастании n.
Оформить отчет.
Содержание отчета
Название и цель работы.
Постановка задачи моделирования системы с данными своего задания.
Алгоритм моделирования системы.
Результаты расчетов.
Выводы по работе.
В данном случае, расчет вероятностей сводится к работе с матрицами. Зададим в MicrosoftExcel в виде таблицы вектор начального состояния и переходную матрицу П (таблица 1):
Таблица 1
Далее возводим переходную матрицу П в степень n (5, 10, 15). Т.к. в Excel отсутствует функционал, позволяющий это сделать, поэтому воспользуемся VBA:
Исполняя программу, возводим переходную матрицу в степень n=5 и умножаем на вектор начального состояния. Результат приведен в таблице 2.
Таблица 2.
Вектор вероятности состояний для n=5 имеет вид:
P(5)=(2,41308; 2,08212; 0,94692)
Для случая n=10 действия аналогичны, разве что желательно изменить формат ячеек на «Числовой» и добавить знаков после запятой, для большей точности и наглядности. (таблица 3)
Таблица 3.
Вектор вероятности для n=10 имеет вид:
P(10)=(12,31928; 10,61505484; 4,828289)
Для случая n=15: (таблица 4)
Таблица 4.
Вектор вероятности для n=15 имеет вид:
P(15)=(62,84869703; 54,15436324; 24,63226793)
Таблица 5.
Варианты исходных данных
Вариант |
Начальное состояние |
Переходная матрица |
||||||||||
P1(0) |
P2(0) |
P3(0) |
P11 |
P12 |
P13 |
P21 |
P22 |
P23 |
P31 |
P32 |
P33 |
|
1 |
1 |
0 |
0 |
0,5 |
0,7 |
0,3 |
0,8 |
0,3 |
0,1 |
0,5 |
0,6 |
0,4 |
2 |
0 |
1 |
0 |
0,4 |
0,6 |
0,1 |
0,5 |
0,2 |
0,8 |
0,3 |
0,5 |
0,1 |
3 |
0 |
0 |
1 |
0,8 |
0,6 |
0,7 |
0,1 |
0,5 |
0,4 |
0,6 |
0,2 |
0,8 |
4 |
1 |
0 |
0 |
0,1 |
0,6 |
0,5 |
0,3 |
0,8 |
0,5 |
0,7 |
0,3 |
0,1 |
5 |
0 |
1 |
1 |
0,5 |
0,3 |
0,1 |
0,7 |
0,5 |
0,2 |
0,3 |
0,5 |
0,8 |
1 Необходимо учитывать, что в данном примере действует жесткая привязка формул к ячейкам. В случае выполнения работы, в каждом конкретном случае - ссылки на ячейки будут отличаться.
2 Выражение (7), заданное в виде соотношения значений ячеек в MS Excel.