Моделирование процесса разорения
Изучение задачи о разорении игрока и построение ее компьютерной модели. Отображение графической иллюстрации процесса, моментов нарушения постановленных границ и графики функций распределения моментов времени нарушений процессом верхней и нижней границ.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.06.2017 |
Размер файла | 276,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное бюджетное образовательное учреждение высшего образования
"Ульяновский Государственный Университет"
Факультет математики, информационных и авиационных технологий
Курсовая работа
Моделирование процесса разорения
Выполнил студент Белинский И.А.
- Введение
Темой данной курсовой работы является изучение задачи о разорении игрока и построение ее компьютерной модели. Данная тема является актуальной на момент написания настоящей работы и имеет применение в различных областях анализа, бизнеса и экономики.
Цель работы: изучить задачу о разорении, ее математическую модель и написать программу, позволяющую замоделировать процесс разорения, отобразить графическую иллюстрацию самого процесса, моментов нарушения постановленных границ и графики функций распределения моментов времени нарушений процессом верхней и нижней границ.
Постановка задачи о разорении
"За столом сидят два игрока. У первого в распоряжении находится А (А > 0) условных денежных единиц, у второго находится В (В > 0) условных денежных единиц. Перед ними на столе лежит асимметричная монета. (вероятность, что выпадет аверс, может равняться любому числу от 0 до 1 включительно). Если на монете выпадает аверс, то первый игрок выигрывает одну условную единицу (т.е. второй игрок выплачивает первому), а если выпадет реверс, то первый игрок платит второму. Требуется найти вероятность того, что один из игроков проиграется в ноль за n шагов, и вероятность проигрыша каждого азартного игрока. Также необходимо вычислить среднюю длину игры".
Данная ситуация может быть смоделирована подобным образом: имеется блуждающая частица и коридор [A;B]. Рассматривается вероятность того, что частица выйдет из коридора за n шагов (нарушит верхнюю или нижнюю границу), [2]. компьютерный разорение графический
Опишем математическую составляющую данной задачи.
Пусть на конечном вероятностном пространстве (?, А, Р) заданы независимые и одинаково распределенные случайные величины (о(i))i?1 c Р(о(i)=1) = Р(о(i)=-1) = Ѕ. Пусть А - количество денег первого игрока в единицах, В - количество денег второго, и А N, В N, где N = {1, 2, …}. Рассмотрим последовательность S = (Sn)n = 0,1,2, …, где S0 = A, S1 = A + о(1), и для любого n N = {1,2, …} Sn = A + о(1) + … + о(n). Тогда для любого щ ? Sn(щ) Z = {…, -2, -1, 0, 1, 2, 3,...}. Последовательность S называется простым случайным блужданием, [1].
Обозначим момент разорения одного из игроков символом ф = ф(щ): ф = min(n : Sn {0, A+B}). Поскольку S - мартингал относительно потока D = (D0, Dо(1), Dо(1),о(2), Dо(1),о(2),о(3), …) с D0 = (?, ), то по теореме "об остановленном мартингале" выполняется равенство
MSr = MS0 = A.
С другой стороны, для первого игрока
MSr = (А+В)•Р{выигрыша}, [1,2]. Следовательно,
Р{выигрыша} = A/(A+B), Р{проигрыша} = B/(A+B). (1.1)
Для вычисления среднего времени игры рассмотрим тождество
Sn2 = S02 +?2Sk-1•о(k) + ?о(k)2; k = 1,2,3,...,n. (1.2)
Заметим, что ?2Sk-1 • о(k) - мартингал, выходящий из нуля, а о(k)2 ? 1. При этом, очевидно,
MSr2 = (А+В)2 • {A/(A+B)} (1.3)
что вместе с равенством Sr2 = ?2Sk-1•о(k) + ф +A2 влечет соотношение
MSr2 = Mф + A2. (1.4)
Следовательно, среднее время игры равно
Mф = А•В. (1.5)
Имитационная модель процесса разорения
Была построена дискретная модель процесса разорения для одного игрока:
Sn = ?оi, (2.1)
где Р{оi = 1} = p(вероятность выигрыша), Р{оi = -1} = q(вероятность проигрыша).
p+q=1 (2.2)
Так же заданы границы A и B, такие что A ? B, B > 0.
Моменты нарушений границ фиксируются. Так как о - случайная величина, то и момент времени нарушения верхней или нижней границы тоже является случайной величиной. Для удобства построения графиков функций распределения моментов времени нарушений границ производится несколько итераций построения графиков процесса разорения. По полученным значениям строятся графики функций распределения моментов времени нарушения верхней и нижней границ. Компьютерная модель процесса была реализована на языке программирования C++.
Рисунок 1. Компьютерная модель процесса разорения с графиками функций распределения моментов времени нарушения границ с параметрами p = q = 0,5.
В данной программе переменная q - вероятность проигрыша, р - вероятность выигрыша, T - время, В - верхняя граница, А - нижняя граница, М - количество итераций построения графика процесса разорения. При нажатии на кнопку "Построить" - в поле "Процесс разорения" отобразится М графиков процесса разорения, горизонтальная ось отображает время(шаги) T, вертикальная - значения самого процесса. При нажатии на кнопку "Выход" программа закроется. Так же на картинке установлены галочки напротив "Почистить поле перед построением" и "Построить с границами А и В". Первая галочка подразумевает очистку поля с графиками процесса разорения перед следующим нажатием на кнопку "Построить", т. е. после нажатия на кнопку "Построить" графики, построенные до этого, сотрутся, и на их месте построятся новые. При нажатии на вторую галочку в поле "Процесс разорения" графически отобразятся границы B и A двумя горизонтальными красными линиями. Под полем "Процесс разорения" расположены еще два поля "График функции распределения моментов времени нарушения границы В" и "График функции распределения моментов времени нарушения границы А". При каждом нажатии на кнопку "Построить" в этих формах будут отображены графики функций распределения моментов нарушения соответствующих границ для М итераций.
Чтобы проверить корректность вводимых значений вероятностей выигрыша и проигрыша, равенство 2.1 проверяется на выполнение, а именно: сумма значений вероятностей "p" и "q" сравнивается с единицей.
Для моделирования процесса разорения Sn генерируется псевдослучайное число (встроенная функция rand()), равномерно распределенное на интервале [0;32767] и умножается на константу (32767)-1. В итоге мы получаем псевдослучайное число, распределенное равномерно на интервале [0;1]. Далее мы сравниваем полученное значение с вероятностью выигрыша игрока "p": если сгенерированное псевдослучайное число [0;p], то значение процесса S увеличится на 1, иначе уменьшится на 1.
Для построения графиков функций распределения моментов времени нарушения границ А и В проводится М итераций построения графика процесса разорения, если значение процесса Sn равно или больше/меньше значений В/А, фиксируется время Т, на котором процесс нарушил границу и проводится подсчет количества нарушений каждой границы. При проведении всех М итераций полученные два массива, содержащие в себе моменты времени T нарушения границ (в программе ar_max[] и ar_min[]), сортируются по возрастанию. Далее строится компьютерная модель функции распределения моментов времени нарушения границ: при достижении шага, равному первому элемента соответствующего массива (подразумевается тот массив, который содержит в себе моменты времени нарушения определенной границы, т.е. А или В), значение функции распределения увеличивается на величину, численно равную обратному значению количества нарушений данной границы.
Список литературы
1. Ширяев А.Н. Вероятность. Учеб. пособ. для вузов. - второе изд., перераб. и доп. - М.: Наука. 1989. 95-106 с.
2. Бутов А.А. Теория вероятностей. Учебно-методическое пособие. Ульяновск.: УлГУ, 2014. - 20 с.
Приложение
Фрагменты программного кода.
1) Проверка корректности значений вероятностей выигрыша и проигрыша
sumpq = p + q;
if (sumpq != 1.)
{
ShowMessage("Введены неккоректные данные!");
return;
}
2) Изменения максимального и минимального значений вертикальной и горизонтальной осей графика процесса разорения
Chart1->LeftAxis->Automatic=false;
Chart1->LeftAxis->SetMinMax(Min-1,Max+1);
Chart1->BottomAxis->Automatic=false;
Chart1->BottomAxis->SetMinMax(0,n);
//==================================================
3) Программная реализация процесса разорения
for (i = 0; i <= n; i++)
{
if (i==0)
{
step = 0;
trunc = 0;
}
else
{
rnd = (rand()*count);
if (rnd <= p)
{
trunc += 1;
}
else
{
trunc -= 1;
}
step++;
}
4) Заполнение массивов ar_max и ar_min значениями моментов времени нарушений границ T и подсчет количества этих нарушений
if (trunc >= Max)
{
ar_max[countmax] = step;
countmax++;
break;
}
if (trunc <= Min)
{
ar_min[countmin] = step;
countmin++;
break;
}
5) Сортировка массивов ar_max и ar_min
for(i = 0, j = 0; i < countmax; i++)
{
tmp = ar_max[i];
j = i - 1;
while((j >= 0)&&(ar_max[j] > tmp))
{
ar_max[j+1] = ar_max[j];
j = j - 1;
}
ar_max[j+1] = tmp;
}
for(i = 0, j = 0; i < countmin; i++)
{
tmp = ar_min[i];
j = i - 1;
while((j >= 0)&&(ar_min[j] > tmp))
{
ar_min[j+1] = ar_min[j];
j = j - 1;
}
ar_min[j+1] = tmp;
}
6) Программная модель построения графиков функций распределения моментов времени нарушения границ
qmax = 0;
qmin = 0;
if(countmax > 0)
{
qmax = 1./countmax;
}
if (countmin > 0)
{
qmin = 1./countmin;
}
for(i = 0, j = 0; i < n+1; i++)
{
step = i;
if(i == ar_max[j])
{
meanmax += qmax;
j++;
}
}
for(i = 0, j = 0; i < n+1; i++)
{
step = i;
if(i == ar_min[j])
{
meanmin += qmin;
j++;
}
}
Размещено на Allbest.ru
...Подобные документы
Сферы применения машинной графики. Виды компьютерной графики. Цветовое разрешение и цветовые модели. Программное обеспечение для создания, просмотра и обработки графической информации. Графические возможности текстовых процессоров, графические редакторы.
контрольная работа [21,9 K], добавлен 07.06.2010Нахождение рационального порядка следования запросов для обеспечения максимального критерия эффективности использования компонентов вычислительного процесса в системе. Метод ветвей и границ для максимально быстрого выполнения вычислительного процесса.
курсовая работа [196,3 K], добавлен 23.08.2009Ознакомление с понятием компьютерной графики. Области применения конструкторской и рекламной графики, компьютерной анимации. Рассмотрение преимущества графической визуализации бизнес-процессов. Особенности кольцевой, биржевой и лепестковой диаграмм.
реферат [94,6 K], добавлен 02.02.2016Особенности графики системы MATLAB и ее основные отличительные черты. Построение графика функций одной переменной. Графики в логарифмическом масштабе, построение диаграмм, гистограмм, сфер, поверхностей. Создание массивов данных для трехмерной графики.
реферат [1,4 M], добавлен 31.05.2010Формализация задач и целей моделирования. Разработка имитационной модели навигации в морском порту. Определение границ модели и характера переменных. Выбор имитаторов основных функций объекта и внешней среды. Составление структуры моделирующего алгоритма.
курсовая работа [49,6 K], добавлен 14.11.2011Рассмотрение понятия компьютерной графики; характеристика ее видов - растровой, векторной, фрактальной, трехмерной. Описание интерфейса и основных инструментов графического программного обеспечения - Adobe Photoshop, Corel Draw, Autodesk 3ds Max.
реферат [387,8 K], добавлен 02.01.2012Основания для разработки рабочего проекта и программы моделирования объектов. Требования к программному изделию и параметры технических средств его реализации. Построение верхней и нижней крышки корпуса, окружность по контуру вспышки телефона в 3ds max.
курсовая работа [5,7 M], добавлен 18.05.2012Этапы развития компьютерной графики. Общее понятие про трехмерную графику. Организация процесса построения проекции. Проволочная модель, отсечение нелицевых граней, вращение. Программная реализация построения изображения. Построение сложных моделей.
курсовая работа [142,7 K], добавлен 11.06.2012Постановка и решение дискретных оптимизационных задач методом дискретного программирования и методом ветвей и границ на примере классической задачи коммивояжера. Этапы построения алгоритма ветвей и границ и его эффективность, построение дерева графов.
курсовая работа [195,5 K], добавлен 08.11.2009Рассмотрение областей применения компьютерной графики. Изучение основ получения различных изображений (рисунков, чертежей, мультипликации) на компьютере. Ознакомление с особенностями растровой и векторной графики. Обзор программ фрактальной графики.
реферат [192,9 K], добавлен 15.04.2015Особенности метода ветвей и границ как одного из распространенных методов решения целочисленных задач. Декомпозиция задачи линейного программирования в алгоритме метода ветвей и границ. Графический, симплекс-метод решения задач линейного программирования.
курсовая работа [4,0 M], добавлен 05.03.2012Построение базовой аналитической модели оптимизации распределения затрат на рекламу и ее времени между радио и телевидением. Разработка приложения для решения оптимизационной задачи с помощью симплекс-метода. Испытание модели на чувствительность.
курсовая работа [3,2 M], добавлен 11.02.2014Построение схемы модели процесса и разработка анимации; определение характеристики модели с использованием AnyLogic. Сеть Петри для процесса работы порта. Описание программного продукта. Объекты библиотеки Enterprise Library. Результаты работы модели.
курсовая работа [334,1 K], добавлен 25.04.2015Изучение и укрепление на практике всех моментов графического метода решения задач линейного программирования о производстве журналов "Автомеханик" и "Инструмент". Построение математической модели. Решение задачи с помощью электронной таблицы Excel.
курсовая работа [663,9 K], добавлен 10.06.2014Понятия компьютерной графики, история развития. Краткая характеристика программных пакетов, элементы публикации. Виды текстуры, моделирование энергетических преобразований в системах. Стандарты обмена данными. Векторные форматы графических файлов.
дипломная работа [1,1 M], добавлен 14.12.2013Описание и изучение техники построения плоских и трехмерных изображений чертежей машиностроительных деталей средствами компьютерной графики: втулка, гайка, штуцер. Выполнение упрощенного теоретического чертежа судна на плоскости: бок, корпус, полуширота.
курсовая работа [832,6 K], добавлен 15.08.2012Построение функциональной модели бизнес-процесса "Деятельность отдела поставок". Постановка задачи по проектированию автоматизированного рабочего места менеджера отдела поставок. Программное обеспечение для регистрации заказа и отметке о его выполнении.
контрольная работа [948,9 K], добавлен 24.12.2012Разработка модели процесса разгона, переключения передач и выбега автомобиля BMW M5, построение графиков зависимостей скорости автомобиля от пути и времени на этапах разгона и выбега. Оценка разработанной модели, возможность использования ее на практике.
курсовая работа [258,7 K], добавлен 17.03.2011Моделирование процесса обработки 500 сигналов, поступающих с датчиков. Определение среднего времени задержки сигналов в канале и линии-ЭВМ и вероятности переполнения входных накопителей. Разработка и описание алгоритма функционирования программной модели.
курсовая работа [140,7 K], добавлен 09.04.2013Основные понятия компьютерной графики. Представление графической информации в компьютере. Внутреннее устройство персонального компьютера. История графической программы Macromedia Flash, принципы и методы работы с рисунками, технология создания фильма.
дипломная работа [5,9 M], добавлен 06.04.2012