Принятие решений в условиях неопределенности
Предмет и задачи теории игр. Игры с природой в условиях неопределенности. Критерий пессимизма-оптимизма Гурвица. Решение задачи нахождения оптимального варианта из множества решений, заданных матрицей с использованием критерия минимакса риска Сэвиджа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 19.11.2017 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство связи
Уральский технический институт связи и информатики (филиал)
ФГБОУ ВО «Сибирский государственный университет телекоммуникаций и информатики» в г. Екатеринбурге
(УрТИСИ СибГУТИ)
КУРСОВОЙ ПРОЕКТ
по междисциплинарному курсу: «Математические методы»
на тему: «Принятие решений в условиях неопределенности»
Выполнил:
студент группы 581
Иксанов С.А.
г. Екатеринбург, 2016г.
- Содержание
- Введение
- 1. Теория игр
- 1.1 Предмет и задачи теории игр
- 1.2 Основные понятия и определения
- 2. Принятие решений в условиях неопределенности. Элементы теории статистических решений
- 2.1 Игры с природой в условиях неопределенности
- 2.2 Критерий пессимизма-оптимизма Гурвица
- 2.3 Критерий Сэвиджа (критерий минимакса риска)
- 2.4 Рассмотрим пример решения задачи с помощью критерия Сэвиджа
- 3. Разработка программы
- 3.1 Блок-схема программы
- 3.2 Обоснование выбора средств разработки
- 3.3 Руководство пользователя
- Заключение
- Список использованных источников
- Введение
Часть условий при разработке решения всегда неопределенна, поэтому практически все решения принимаются в условиях некоторой неопределенности.
Неопределенными могут быть как условия выполнения операции, так и сознательные действия противников или других лиц, от которых зависит успех операции. Кроме того, неопределенность в той или другой степени может относиться также к целям (задачам) операции, успех которой не всегда может быть исчерпывающим образом охарактеризован одним единственным числом - показателем эффективности.
Разумеется, когда речь идет о неопределенности в каком-то смысле ситуации, то рекомендации, вытекающие из научного исследования, не могут быть столь же четкими и однозначными, как в случаях полной определенности. Разработаны специальные математические методы, предназначенные для обоснования решений в условиях неопределенности. В некоторых наиболее простых случаях эти методы дают возможность фактически найти и выбрать оптимальное решение.
В более сложных случаях эти методы доставляют вспомогательный материал, позволяющий глубже разобраться в сложной ситуации и оценить каждое из возможных решений с различных (иногда противоречивых) точек зрения, взвесить его преимущества и недостатки и, в конечном счете, принять решение, если не единственно правильное, то, по крайней мере, до конца продуманное.
Необходимо учитывать, что при выборе решения в условиях неопределенности всегда неизбежен элемент произвола, а значит, и риска. Недостаточность информации всегда опасна, и за нее приходится платить.
Как отмечалось, риск может быть снижен применением специальных приемов при разработке и принятии решений финансового менеджмента.
Задачами о принятии решений в условиях неопределенности занимает теория игр и теория статистических решений.
Цель курсового проекта заключается в определении оптимальной стратегии выбора решений в условиях неопределенности.
Для достижения поставленной цели были сформированы следующие задачи:
-.выбрать критерий, который будет использоваться для выбора. оптимального решения;
-.разработать алгоритм программы;
-.создать программу.
1. Теория игр
1.1 Предмет и задачи теории игр
Подавляющее большинство социально-экономических решений приходится принимать с учетом противоречивых интересов, относящихся либо к различным лицам или организациям, либо к различным аспектам рассматриваемого явления, либо к тому и другому. В таких случаях невозможно применить традиционные методы оптимизации. В обычных экстремальных задачах речь идет о выборе решения одним лицом, и результат решения зависит от этого выбора, то есть определяется действиями только одного лица. В такую схему не укладываются ситуации, где решения, оптимальные для одной стороны, совсем не оптимальны для другой и результат решения зависит от всех конфликтующих сторон.
Конфликтный характер таких задач не предполагает вражды между участниками, а свидетельствует о различных интересах. Необходимость анализировать подобные ситуации вызвала к жизни специальный математический аппарат -- теорию игр.
Теория игр представляет собой часть обширной теории, изучающей процессы принятия оптимальных решений. Она дает формальный язык для описания процессов принятия сознательных, целенаправленных решений с участием одного или нескольких лиц в условиях неопределенности и конфликта, вызываемого столкновением интересов конфликтующих сторон.
Теория игр, раздел математики, изучающий формальные модели принятия оптимальных решений в условиях конфликта. При этом под конфликтом понимается явление, в котором участвуют различные стороны, наделённые различными интересами и возможностями выбирать доступные для них действия в соответствии с этими интересами. Отдельные математические вопросы, касающиеся конфликтов, рассматривались (начиная с 17 в.) многими учёными. Систематическая же математическая теория игр была детально разработана американскими учёными Дж. Нейманом и О. Моргенштерном (1944) как средство математического подхода к явлениям конкурентной экономики. В ходе своего развития теория игр переросла эти рамки и превратилась в общую математическую теорию конфликтов. В рамках теории игр в принципе поддаются математическому описанию военные и правовые конфликты, спортивные состязания, «салонные» игры, а также явления, связанные с биологической борьбой за существование.
В условиях конфликта стремление противника скрыть свои предстоящие действия порождает неопределённость. Наоборот, неопределённость при принятии решений (например, на основе недостаточных данных) можно интерпретировать как конфликт принимающего решения субъекта с природой. Поэтому теория игр рассматривается также как теория принятия оптимальных решений в условиях неопределённости. Она позволяет автоматизировать некоторые важные аспекты принятия решений в технике, сельском хозяйстве, медицине и социологии. Перспективен подход с позиций теории игр к проблемам управления, планирования и прогнозирования.
Целью теории игр является выработка рекомендаций по рациональному образу действий участников в конфликтных ситуациях, то есть определение оптимальной стратегии каждого из них.
Первые работы по теории игр (Цермело, Борель, фон Нейман) относятся к началу ХХ века. Но только появление и широкое распространение ЭВМ привлекло к теории игр внимание широкого круга специалистов.
Теория стратегических игр, в своей математической форме, возникла в 30-х годах XX века. Ее создателем считается Джон фон Нейман. Практическое значение теории игр состоит в том, что она служит основой моделирования игровых экспериментов, в частности, деловых игр, позволяющих определять оптимальное поведение в сложных ситуациях.
Примеры практического и в том числе экономического содержания призваны, скорее всего, содержательно интерпретировать математические положения теории игр, чем указывать на фактические или возможные их приложения. От реальной конфликтной ситуации игра отличается тем, что ведется по вполне определенным правилам. Реальные конфликты обычно трудно поддаются формальному описанию, поэтому любая игра является упрощением исходной задачи, в ней отражаются лишь основные, первостепенные факторы, отражающие суть процесса или явления.
В зависимости от того, какими данными располагает исследователь, и какую задачу перед собой ставит, могут быть сформулированы различные теоретико-игровые модели. Различают три основных типа задач:
1) нахождение оптимального исхода. В качестве исхода в общем случае может рассматриваться социально-экономическая ситуация. В зависимости от содержания задачи ситуацию можно описать наборами благ, получаемых каждым игроком (выигрышами), или исходом может быть избрание того или иного кандидата, принятие того или иного проекта, договора и т.д. При этом в общем случае надо найти коалиционную структуру и коалиционные стратегии, при которых оптимальный исход реализуется;
2) нахождение оптимального исхода при фиксированной коалиционной структуре, то есть когда нам заведомо известно, что, например, образование коалиций, запрещено, невозможно или имеющаяся коалиционная структура не должна меняться по каким-либо политическим или экономическим соображениям. В этом случае общей задачей является нахождение правил принятия решений в коалициях (порядок вознаграждения ее членов), при которых данная коалиционная структура не распадется, и, значит, система будет функционировать согласно интересам и возможностям ее участников;
3) нахождение устойчивой коалиционной структуры при заданных правилах принятия решений (конституции, нормативных актах, уставе предприятия и др.) в коалициях. Такие задачи часто встречаются при решении экономических и социальных проблем.
Формализованные модели конфликтов известны с давних пор: это игры в буквальном смысле слова - шахматы, карты, кости и т.п. Эти игры носят характер соревнования, протекающего по известным правилам. Терминология, заимствованная из практики таких игр, применима и для других конфликтных ситуаций, которые рассматривает теория игр.
1.2 Основные понятия и определения
Задолго до появления теории игр широко использовали подобные упрощённые модели конфликтов - игры в буквальном смысле слова: шашки, шахматы, домино и т.д. Отсюда и название самой теории игр, и различные термины.
Игрой называется всякая конфликтная ситуация, изучаемая в теории игр и представляющая собой упрощенную, схематизированную модель ситуации. От реальной конфликтной ситуации игра отличается тем, что не включает второстепенные, несущественные для ситуации факторы и ведется по определенным правилам, которые в реальной ситуации могут нарушаться.
Всякая игра включает в себя три элемента: участников игры - игроков, правила игры, оценку результатов действий игроков.
Игроком (лицом, стороной, или коалицией) называется отдельная совокупность интересов, отстаиваемая в игре. Если данную совокупность интересов отстаивает несколько участников игры, то они рассматриваются как один игрок. Игроки, имеющие противоположные по отношению друг к другу интересы, называются противниками. В игре могут сталкиваться интересы двух или более противников. Одна реализация игры называется партией; выбор действия (в пределах правил) - ходом. Ходы бывают личные и случайные. Личный ход предполагает сознательный выбор того или иного действия, разрешенного правилами игры, а случайный - не зависит от воли игрока (например, он может быть определён подбрасыванием монеты или игральной кости и т.п.). Игры, в которых имеются личные ходы, называются стратегическими. Игры, состоящие только из случайных ходов, называют азартными. Характерный пример - игра в лото.
Стратегией игрока называется совокупность правил, определяющих выбор варианта действий при каждом личном ходе в зависимости от сложившейся ситуации.
В зависимости от числа стратегий игры делятся на «конечные» и «бесконечные». Игра называется конечной, если у каждого игрока имеется в распоряжении только конечное число стратегий. В противном случае игра называется бесконечной.
Оптимальной стратегией игрока называется такая, которая обеспечивает ему наилучшее положение в данной игре, т.е. максимальный выигрыш. Если игра повторяется неоднократно и содержит, кроме личных, ещё и случайные ходы, оптимальная стратегия обеспечивает максимальный средний выигрыш.
Игра называется игрой с нулевой суммой, если сумма выигрышей всех игроков равна нулю, т.е. каждый игрок выигрывает только за счёт других. Самый простой случай - парная игра с нулевой суммой - называется антагонистической. Теория антагонистических игр - наиболее развитый раздел теории игр, с чёткими рекомендациями.
2. Принятие решений в условиях неопределенности. Элементы теории статистических решений
Предметом рассмотрения данного раздела служат статистические модели принятия решений, трактуемые как статистические игры или игры с Природой при использовании дополнительной статистической информации о её стратегиях. Характерная черта статистической игры - возможность получения информации в результате некоторого статистического эксперимента для оценки распределения вероятностей стратегий природы. Исследование механизма случайного выбора стратегии природой позволяет принять оптимальное решение, которое будет наилучшей стратегией в игре с неантагонистическим противником человека - природой.
В рассмотренных разделах теории игр предполагалось, что оба противника (или больше двух) активно противодействуют друг другу, что оба они достаточно умны, чтобы искать и найти свою оптимальную стратегию, и осторожны, чтобы не отступать от нее. Такое положение дает возможность предсказывать поведение игроков. Неопределенность была лишь в выборе противником конкретной чистой стратегии в каждой отдельной партии.
Но возможен случай, когда неопределенность в игре вызвана не сознательным противодействием противника, а незнанием условий, в которых будет приниматься решение, случайных обстоятельств. Такие игры называются «играми с природой.
Игра человека с природой тоже отражает конфликтную ситуацию, возникающую при столкновении интересов в выборе решения. Но «стихийным силам природы» нельзя приписать разумные действия, направленные против человека и тем более какой-либо «злой умысел». Таким образом, корректнее говорить о конфликтной ситуации, вызванной столкновением интересов человека и неопределенностью действий природы.
Действия природы могут, как наносить ущерб, так и приносить прибыль. Поведение природы можно оценить статистическими методами, определить присущие ей закономерности. В зависимости от степени знания этих закономерностей, определяющих поведение природы, различаются игры с природой в условиях определенности и игры с природой в условиях неопределенности.
Во-первых, поведение природы известно полностью (заданы вероятностями). Во-вторых - действия природы не известны, или изучены частично.
К явлениям природы, влияющим на результат решения, относят не только погодные и сезонные явления (дождь, засуху, урожай, неурожай), но и проявление любых, не зависящих от нас обстоятельств: например, задержки на транспорте.
Поиском решений в таких ситуациях и занимается теория статистических решений.
Человек, играя с природой, стремиться максимизировать свой выигрыш, поэтому, если он осторожный игрок (а теория игр рассматривает именно таких игроков), он должен при выборе своей стратегии руководствоваться тем, что неизвестные или известные ему закономерные действия природы приведут к наименее благоприятным последствиям. Именно поэтому такие игры можно рассматривать как игры двух лиц с нулевой суммой, которые были уже нами рассмотрены.
Формализация задачи происходит следующим образом: у активного игрока (человека) возможные действия по-прежнему называются стратегиями, а возможные действия пассивного игрока (природы) - состояниями или условиями природы.
В качестве первого игрока всегда выступает человек, поэтому в матрице записывается его выигрыш. Так как нас интересует оптимальная стратегия человека и его гарантированный выигрыш, то в игру достаточно определить максиминную стратегию первого игрока и нижнюю цену игры. Определение верхней цены игры имеет смысл, если данная игра повторяется многократно и оптимальная стратегия может быть смешанной.
2.1 Игры с природой в условиях неопределенности
Если распределение вероятностей будущих состояний природы неизвестно, вся информация о природе сводится к перечню ее возможных состояний. Человек в играх с природой старается действовать осмотрительно, второй игрок (природа, например, покупательский спрос) действует случайно. Таким образом, в сложных структурах каждому допустимому варианту решений вследствие различных внешних условий могут соответствовать различные внешние условия (состояния) и результаты решений. Следующий пример иллюстрирует это положение.
Пусть из некоторого материала требуется изготовить изделие, долговечность которого при допустимых затратах невозможно определить. Нагрузки считаются известными. Требуется решить, какие размеры должно иметь изделие из данного материала.
Варианты решений таковы:
- выбор размеров из соображений максимальной долговечности, т.е. изготовление изделия с минимальными затратами в предположении, что материал будет сохранять свои характеристики в течение длительного времени;
- выбор размеров в предположении минимальной долговечности;
- промежуточные решения.
Условия (состояния), требующие рассмотрения, таковы:
- условия, обеспечивающие максимальную долговечность;
- условия, обеспечивающие минимальную долговечность;
- промежуточные условия.
Под результатом решения здесь можно понимать оценку, соответствующую варианту Xi и условиям Вj и характеризующую экономический эффект (прибыль), полезность или надёжность изделия. Семейство решений описывается некоторой матрицей nЧm, которую называют матрицей решений (условия игры задаются матрицей nЧm). По аналогии с теорией игр, эту матрицу будем называть также платёжной матрицей.
Таблица 2.1 - Матрица решений (nm)
Условия варианты |
||||||||
Конструктор старается выбрать решение с наилучшим результатом, но, так как ему неизвестно, с какими условиями он столкнётся, он вынужден принимать во внимание все оценки, соответствующие варианту .
Оценочная функция
Чтобы прийти к однозначному и по возможности наивыгоднейшему варианту решений даже в том случае, когда каким-то вариантам решений . могут соответствовать различные условия , можно ввести подходящие оценочные (целевые) функции. При этом матрица решений сводится к одному столбцу. Каждому варианту приписывается, таким образом, некоторый результат , характеризующий, в целом, все последствия этого решения. Такой результат мы в дальнейшем будем обозначать тем же символом .
Рассмотрим некоторые оценочные функции, которые в данном примере мог бы выбрать конструктор.
Оптимистическая позиция:
(1)
Из матрицы результатов решений выбирается вариант (строка), содержащий в качестве возможного следствия наибольший из всех возможных результатов. Наш конструктор становится на точку зрения азартного игрока. Он делает ставку на то, что выпадет наивыгоднейший случай, и, исходя из этого, выбирает размеры изделия.
Позиция нейтралитета:
(2)
Конструктор исходит из того, что все встречающиеся отклонения результата решения от «среднего» случая допустимы, и выбирает размеры, оптимальные с этой точки зрения.
Имеется ряд критериев, которые используются при выборе оптимальной стратегии. Рассмотрим некоторые из них.
Особые случаи
Схематическое сопоставление всех возможных полезностей различных решений в матрице таблица 2.1 облегчает поначалу их обозрение, не требуя при этом формальной оценки. Эта матрица может быть меньшего объёма так как представлено в таблице 2.2 и даже выродиться в единственный столбец, если будет представлена полная информация о том, с каким внешним состоянием следует считаться. Это соответствует элементарному сравнению различных технических решений. Матрица решений может, однако, свестись и к единственной строке смотрите таблицу 2.3. В этом случае мы имеем дело с так называемой фатальной ситуацией принятия решений, когда в силу ограничений технического характера, внешних условий и других причин остаётся единственный вариант, хотя его дальнейшие последствия зависят от внешнего состояния , и поэтому результат решения оказывается неизвестным.
Таблица 2.2 - Матрица решений (n2)
Условия варианты |
|||
Таблица 2.3 - Фатальная ситуация в принятии решений
Условия варианты |
||||||||
Случается, и так, что некоторый вариант решения, например, оказывается настолько удачным, что для другого варианта из матрицы выполняются неравенства ? для j=1, …, n. Тогда говорят, что решение доминирует над решением. Решение в этом случае с самого начала оказывается лучшим, а вариант , напротив, с самого начала не представляет далее интереса.
2.2 Критерий пессимизма-оптимизма Гурвица
Представляется логичным, что при выборе решения вместо двух крайностей в оценке ситуации придерживаться некоторой промежуточной позиции, учитывающей возможность как наихудшего, так и наилучшего, благоприятного поведения природы. Такой компромиссный вариант и был предложен Гурвицем. Согласно этому подходу для каждого решения необходимо определить линейную комбинацию min и max выигрыша и взять ту стратегию, для которой эта величина окажется наибольшей, т.е. стараясь занять уравновешенную позицию, Гурвиц предложил критерий (HW), оценочная функция которого находится где-то между точками предельного оптимизма и крайнего пессимизма. Оценочная функция имеет две формы записи:
, (5)
где -- «степень пессимизма» («коэффициент пессимизма», весовой множитель), 0 1.
Правило выбора согласно критерию Гурвица (HW - критерия) формулируется следующим образом:
Матрица решений дополняется столбцом, содержащим средние взвешенные наименьшего и наибольшего результатов каждой строки. Выбираются те варианты , в строках которых стоят наибольшие элементы air этого столбца.
При =1 критерий Гурвица (5) тождественен критерию Вальда, а при =0 - в критерий крайнего оптимизма (критерий азартного игрока), рекомендующий выбрать ту стратегию, при которой самый большой выигрыш в строке максимален. В технических приложениях правильно выбрать этот множитель бывает так же трудно, как и выбрать критерий. Вряд ли возможно найти количественную характеристику для тех долей оптимизма и пессимизма, которые присутствуют при принятии решения. Поэтому чаще всего весовой множитель =0.5 без возражений принимается в качестве некоторой «средней» точки зрения.
На выбор значения степени пессимизма оказывает влияние мера ответственности: чем серьезнее последствия ошибочных решений, тем больше желание принимающего решение застраховаться, то есть степень пессимизма ближе к единице.
Рассмотрим применение критерия Гурвица для данных таблицы 2.4 и степени пессимизма =0.6.
Для стратегии минимальное значение равно 1, а максимальное - 10. Используя формулу (6), вычислим =0.6*1+0.4*10=4.6. Аналогично для второй стратегии. Находим максимальное значение столбца . В результате получим таблицу 2.4.
Таблица 2.4 - Матрица решений (2Чn)
1 |
10 |
1 |
4.6 |
4.6 |
||
1.1 |
1.1 |
1.2 |
1.14 |
Следовательно, по критерию Гурвица при =0.6 следует выбирать стратегию X1.
Замечание. В литературе используется и такая форма критерия Гурвица:
, (6)
где - «степень оптимизма» («коэффициент оптимизма», весовой множитель), 01.
При =0 критерий Гурвица (6) тождественен критерию Вальда, а при =1 совпадает с максиминным решением.
Критерий Гурвица предъявляет к ситуации, в которой принимается решение, следующие требования:
- о вероятностях появления Вj ничего не известно;
- с появлением состояний Вj необходимо считаться;
- реализуется лишь малое количество решений;
- допускается некоторый риск.
2.3 Критерий Сэвиджа (критерий минимакса риска)
На практике, выбирая одно из возможных решений, часто останавливаются на том, осуществление которого приведет к наименее тяжелым последствиям, если выбор окажется ошибочным. Этот подход к выбору решения математически был сформулирован американским статистиком Сэвиджем (Savage) в 1954 году и получил название принципа Сэвиджа. Он особенно удобен для экономических задач и часто применяется для выбора решений в играх человека с природой.
По принципу Сэвиджа каждое решение характеризуется величиной дополнительных потерь, которые возникают при реализации этого решения, по сравнению с реализацией решения, правильного при данном состоянии природы. Естественно, что правильное решение не влечет за собой никаких дополнительных потерь, и их величина равна нулю.
При выборе решения, наилучшим образом соответствующего различным состояниям природы, следует принимать во внимание только эти дополнительные потери, которые по существу, будут являться следствием ошибок выбора.
Для решения задачи строится так называемая «матрица рисков», элементы которой показывают, какой убыток понесет игрок (ЛПР) в результате выбора неоптимального варианта решения.
Риском игрока при выборе стратегии i в условиях (состояниях) природы j называется разность между максимальным выигрышем, который можно получить в этих условиях и выигрышем, который получит игрок в тех же условиях, применяя стратегию i.
Если бы игрок знал заранее будущее состояние природы j, он выбрал бы стратегию, которой соответствует максимальный элемент в данном столбце: , и тогда риск:
Критерий Сэвиджа рекомендует в условиях неопределенности выбирать решение, обеспечивающее минимальное значение максимального риска:
Рассмотрим применение критерия Сэвиджа для данных таблицы 2.5.
Строим матрицу «рисков» для этого находим максимальные значения для каждого столбца таблицы 1. Они равны 1.1, 10 и 1.2 соответственно и находим значения рисков по формуле:
.
Дополняем эту матрицу столбцом наибольших разностей. Выбираем те варианты, в строках которых стоит наименьшее для этого столбца значение. В результате получим таблицу 2.5.
Таблица 2.5 - Матрица рисков
0.1 |
0 |
0.2 |
0.2 |
0.2 |
||
0 |
8.9 |
0 |
8.9 |
Критерий Сэвиджа рекомендует выбрать стратегию X1.
2.4 Рассмотрим пример решения задачи с помощью критерия Сэвиджа
Определить оптимальные варианты из множества решений, заданных матрицей решений с использованием критерия Сэвиджа.
Дана матрица:
1) Из столбца выбирается элемент с максимальным значением (max), далее из него вычитается первый элемент столбца, потом второй, потом третий, потом четвёртый.
2) То же самое проделывается с каждым столбцом исходной матрицы.
3) Полученные числа в том же порядке записываются в новую матрицу.
Вычисление:
8-2=611-5=67-7=04+3=7
8-6=211-(-1) =127-0=74-2=2
8-8=011-1=107-(-3) =104-4=0
8-5=311-7=47-2=54-1=3
4) Из каждой строки новой матрицы выбираем максимальный элемент (max) и заносим его в дополнительный столбец, дальше из этого столбца выбираем минимальный элемент (min) - это и есть ответ
Ответ:
3. Разработка программы
3.1 Блок - схема программы
Ниже на рисунках 3.1, 3.2, 3.3, 3.4 представлена блок - схема, демонстрирующая критерий Сэвиджа.
Рисунок 3.1 - Блок-схема программы
Рисунок 3.2 - Блок-схема программы
Рисунок 3.3 - Блок-схема программы
Рисунок 3.4 - Блок-схема программы
3.2 Обоснование выбора средств разработки
При решении поставленной задачи оптимально использовать для представления информационных материалов язык С++, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения.
Прежде всего, необходимо подчеркнуть, что оценивать достоинства и, в особенности, недостатки C++ необходимо в контексте тех принципов, на которых строился язык.
Достоинства: C++ -- чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности:
Поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы).
Предсказуемое выполнение программ является важным достоинством для построения систем реального времени. Весь код, неявно генерируемый компилятором для реализации языковых возможностей (например, при преобразовании переменной к другому типу), определён в стандарте. Также строго определены места программы, в которых этот код выполняется. Это даёт возможность замерять или рассчитывать время реакции программы на внешнее событие.
Пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме.
Эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования -- при необходимости язык позволяет обеспечить максимальную эффективность программы.
Недостатки: Отчасти недостатки C++ унаследованы от языка-предка -- Си, и вызваны изначально заданным требованием возможно большей совместимости с Си. Это такие недостатки, как:
Операция присваивания обозначается как =, а операция сравнения как ==. Их легко спутать, при этом операция присваивания возвращает значение, поэтому присваивание на месте выражения является синтаксически корректным, а в конструкциях цикла и ветвления появление числа на месте логического значения также допустимо, так что ошибочная конструкция оказывается синтаксически правильной.
Операции присваивания (=), инкрементации (++), декрементации (--) и другие возвращают значение. В сочетании с обилием операций это позволяет, хотя и не обязывает, создавать трудночитаемые выражения. Наличие этих операций в Си было вызвано желанием получить инструмент ручной оптимизации кода, но в настоящее время оптимизирующие компиляторы обычно генерируют оптимальный код и на традиционных выражениях.
Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.
3.3 Руководство пользователя
При запуске программы появляется диалоговое окно, в котором необходимо нажать кнопку «Расчет», пример представлен на рисунке 3.5.
После нажатия кнопки «Расчет» выводится массив, который задается случайными числами, слева Критерий Гурвица «оптимистический» справа Критерий Сэвиджа «критерий минимакса риска», пример представлен на рисунке 3.6.
Рисунок 3.5 - Диалоговое окно
Рисунок 3.6 - Результат
Заключение
В данном курсовом проекте были рассмотрены основные теоретические вопросы по решению задач в условиях не определенности, изучена теория игр, их виды, основные понятия, рассмотрен пример решения задачи нахождения оптимального варианта из множества решений, заданных матрицей решений с использованием критерия Сэвиджа, а также приведен текст программы, позволяющий решить задачу нахождения минимального риска методом Сэвиджа и Гурвица, написанный на языке C++.
В процессе подготовки курсового проекта были:
1) изучены классификация и методы решения «задач в условиях неопределенности»;
2) рассмотрен пример решения «задачи по нахождению минимального риска» методом Сэвиджа;
3) разработана блок-схема программы;
4) произведен анализ средств разработки;
5) реализован алгоритм на языке программирования С++.
Задачи выполнены и цель достигнута.
В результате разработана программа, демонстрирующая работу критериев по нахождению минимального риска.
игра гурвиц оптимизм сэвидж
Список использованных источников
1 Элитариум центр дистанционного образования / Принятие решений в условиях риска и неопределенности.
2 Википедия свободная энциклопедия / Теория принятия решений.
3 Copyright новый семестр / Задача принятия решений в условиях неопределенности. - М, 2016.
4 SRC бизнес - школа / Принятие решений в условиях неопределенности. - М, 2014.
5 Авинаш Диксит Теория игр. Искусство стратегического мышления в бизнесе и жизни / Авинаш Диксит и Барри Нейлбафф. - М.: Бизнес, 2015. - 288 с.
6 Козлов В.Н. Системный анализ, оптимизация и принятие решений: учеб. пособие / Козлов В.Н.. - М.: Программирование, 2013. - 165 с.
7 Д. Блекуэл Теория игр и статистических решений / Д. Блекуэл. - М.: Современная математика, 2014. - 502 с.
8 Воробьев Н.Н. Теория игр для экономистов-кибернетиков / Воробьев Н.Н.. - М.: Кибернетика, 2016. - 87 с.
Приложение
Листинг программы:
#pragma once
#include <iostream>
#include <conio.h>
#include <math.h>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
namespace CppWinForm9 {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
/// <summary>
/// Summary for MyForm
/// </summary>
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::Label^ label1;
private: System::Windows::Forms::TextBox^ textBox2;
private: System::Windows::Forms::TextBox^ textBox3;
private: System::Windows::Forms::Button^ button2;
private: System::Windows::Forms::Label^ label2;
protected:
private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->button1 = (gcnew System::Windows::Forms::Button());
this->label1 = (gcnew System::Windows::Forms::Label());
this->textBox2 = (gcnew System::Windows::Forms::TextBox());
this->textBox3 = (gcnew System::Windows::Forms::TextBox());
this->button2 = (gcnew System::Windows::Forms::Button());
this->label2 = (gcnew System::Windows::Forms::Label());
this->SuspendLayout();
//
// button1
//
this->button1->Location = System::Drawing::Point(378, 338);
this->button1->Name = L»button1»;
this->button1->Size = System::Drawing::Size(75, 23);
this->button1->TabIndex = 0;
this->button1->Text = L»Расчет»;
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &MyForm::button1_Click);
//
// label1
//
this->label1->AutoSize = true;
this->label1->Location = System::Drawing::Point(32, 35);
this->label1->Name = L»label1»;
this->label1->Size = System::Drawing::Size(147, 13);
this->label1->TabIndex = 1;
this->label1->Text = L»Критерий оптимистический»;
this->label1->Click += gcnew System::EventHandler(this, &MyForm::label1_Click);
//
// textBox2
//
this->textBox2->Location = System::Drawing::Point(12, 51);
this->textBox2->Multiline = true;
this->textBox2->Name = L»textBox2»;
this->textBox2->Size = System::Drawing::Size(235, 254);
this->textBox2->TabIndex = 3;
//
// textBox3
//
this->textBox3->Location = System::Drawing::Point(299, 51);
this->textBox3->Multiline = true;
this->textBox3->Name = L»textBox3»;
this->textBox3->Size = System::Drawing::Size(235, 254);
this->textBox3->TabIndex = 4;
//
// button2
//
this->button2->Location = System::Drawing::Point(459, 338);
this->button2->Name = L»button2»;
this->button2->Size = System::Drawing::Size(75, 23);
this->button2->TabIndex = 5;
this->button2->Text = L»Закрыть»;
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System::EventHandler(this, &MyForm::button2_Click);
//
// label2
//
this->label2->AutoSize = true;
this->label2->Location = System::Drawing::Point(315, 35);
this->label2->Name = L»label2»;
this->label2->Size = System::Drawing::Size(103, 13);
this->label2->TabIndex = 6;
this->label2->Text = L»Критерий Сэвиджа»;
//
// MyForm
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(544, 373);
this->Controls->Add(this->label2);
this->Controls->Add(this->button2);
this->Controls->Add(this->textBox3);
this->Controls->Add(this->textBox2);
this->Controls->Add(this->label1);
this->Controls->Add(this->button1);
this->Name = L»MyForm»;
this->Text = L»MyForm»;
this->Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);
this->ResumeLayout(false);
this->PerformLayout();
}
#pragma endregion
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
using std::setw;
using namespace std;
const int n = 20, m = 10;
int i, j, h, p;
i = 0; j = 0;
double arr[n][m], a[n][m], maxE, maxEE[n], maxS[n], maxSS[m], maxSAV, b[n][m], maxmax;
String^ str = ««;
String^ srr = ««;
srand(time(NULL));
//КРИТЕРИЙ ОПТИМИСТИЧЕСКИЙ
for (i = 0; i<n; i++)
{
for (j = 0; j < m; j++)
arr[i][j] = rand() % 100;
}
for (i = 0; i<n; i++)
{
for (j = 0; j<m; j++)
a[i][j] = arr[i][j];
}
for (i = 0; i<n; i++)
{
maxEE[i] = a[i][0];
for (j = 0; j<m; j++)
if (a[i][j]>maxEE[i]) {
maxEE[i] = a[i][j];
}
}
maxE = maxEE[0];
for (i = 1; i<n; i++)
if (maxE<maxEE[i]) {
maxE = maxEE[i];
}
for (i = 0; i<n; i++){
for (j = 0; j < m; j++)
textBox2->Text += a[i][j] + « «;
}
textBox2->Text += «Решение по Оптимистическому: « + maxE;
/////////КРИТЕРИЙ СЭВИДЖА
for (i = 0; i<n; i++)
{
for (j = 0; j<m; j++)
a[i][j] = arr[i][j];
}
for (j = 0; j<m; j++)
{
maxSS[j] = 0;
}
for (j = 0; j<m; j++)
{
for (i = 0; i<n; i++)
if (maxSS[j]<a[i][j]) { maxSS[j] = a[i][j]; }
}
for (j = 0; j<m; j++)
{
for (i = 0; i<n; i++)
b[i][j] = maxSS[j] - a[i][j];
}
for (i = 0; i<n; i++)
{
maxS[i] = 0;
}
for (i = 0; i<n; i++)
{
for (j = 0; j<m; j++)
if (maxS[i]<b[i][j]) {
maxS[i] = b[i][j];
}
}
for (i = 0; i<n; i++)
{
textBox3->Text += maxS[i] + « «;
}
maxmax = maxS[0];
for (i = 1; i<n; i++)
{
if (maxmax>maxS[i]) { maxmax = maxS[i]; }
}
textBox3->Text += «\n» + «\n»;
for (i = 0; i<n; i++)
{
for (j = 0; j < m; j++)
textBox3->Text += b[i][j] + « «;
if (j == m)
textBox3->Text += «\n»;
}
textBox3->Text += «\n»;
textBox3->Text +=«Решение по севиджу: « + maxmax;
}
private: System::Void label1_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
Close();
}
};
}
Размещено на Allbest.ru
...Подобные документы
Теория математических моделей принятия оптимальных решений. Принятие решения в условиях неопределённости. Критерий пессимизма-оптимизма Гурвица, минимаксного риска Сэвиджа, Ходжа-Лемана. Разработка программного приложения. Программная среда разработки.
дипломная работа [999,7 K], добавлен 23.04.2015Принятие решений в условиях неопределенности. Классические и производные критерии принятия решений. Критерии Байеса-Лапласа, Сэвиджа, Гурвица, Ходжа-Лемана и Гермейра. Графоаналитический метод решения матричных игр. Основные элементы матрицы решений.
контрольная работа [1,4 M], добавлен 26.04.2012Критерий Гурвица, обеспечивающий промежуточное решение между крайним оптимизмом и крайним пессимизмом, его необходимые признаки. Критерий Ходжа-Лемана относительно выигрыша. Построение оптимального решения для матрицы решений по критерию Гурвица.
презентация [1,1 M], добавлен 25.12.2015Выбор гибких конструкторских решений. Методический учет факторов базируется на формировании критериев, на основе которых принимаются решения. Критерии Вальда, Сэвиджа, Гурвица и Лапласа прочно вошли в теорию принятия решений. Выбор оптимальной стратегии.
курсовая работа [158,8 K], добавлен 05.04.2009Разработка автоматизированной программы выбора оптимального решения с использованием критерия Гермейера и минимаксного критерия; блок-схема программы. Особенности подхода Гермейера к отысканию пригодных к компромиссу решений в области полиоптимизации.
контрольная работа [524,4 K], добавлен 05.07.2014Человеко-машинные комплексы, специально предназначенные для принятия решений. Процесс принятия решений и его этапы. Методы поиска новых вариантов решений: дерево решений, морфологические таблицы, конференции идей. Принцип математической оценки тенденций.
курсовая работа [272,1 K], добавлен 30.07.2009Построение математической модели. Выбор, обоснование и описание метода решений прямой задачи линейного программирования симплекс-методом, с использованием симплексной таблицы. Составление и решение двойственной задачи. Анализ модели на чувствительность.
курсовая работа [100,0 K], добавлен 31.10.2014Нахождение минимума целевой функции для системы ограничений, заданной многоугольником. Графическое решение задачи линейного программирования. Решение задачи линейного программирования с использованием таблицы и методом отыскания допустимого решения.
курсовая работа [511,9 K], добавлен 20.07.2012Решение задачи минимизации среднеквадратичной интенсивности управления. Использование формулы Коши и приращения критерия качества. Применение программы конечного двойственного метода линейно квадратичного программирования. Выбор метода корректировки.
курсовая работа [262,0 K], добавлен 23.02.2016Исследование основных идей, касающиеся количественной оценки неопределенности и методов формирования нечетких суждений. Теоретические аспекты представления неопределенности, место данной проблематики в исследованиях по искусственному интеллекту.
презентация [180,8 K], добавлен 14.08.2013Определение оптимального плана перевозок однородного груза из k-пунктов отправления в m-пункты назначения. Описание алгоритма нахождения потока минимальной стоимости. Решение транспортной задачи вручную и в среде MathCad, сравнение полученных результатов.
курсовая работа [773,6 K], добавлен 09.12.2010Поиск верхних и нижних границ для оптимального значения на подобласти допустимых решений. Методы и проблемы решения задач нелинейного программирования. Написание и отладка программы. Создание программы для решения задачи "коммивояжёра" прямым алгоритмом.
курсовая работа [176,9 K], добавлен 22.01.2016Принципы реализации программы проверки статистических гипотез с использованием t-критерия Стьюдента, ее общий алгоритм. Особенности применения двухвыборочного критерия для независимых выборок. Функциональные модели решения задачи для различных функций.
курсовая работа [644,2 K], добавлен 25.01.2010Анализ решения задачи линейного программирования. Симплексный метод с использованием симплекс-таблиц. Моделирование и решение задач ЛП на ЭВМ. Экономическая интерпретация оптимального решения задачи. Математическая формулировка транспортной задачи.
контрольная работа [196,1 K], добавлен 15.01.2009Разработка алгоритмического и программного обеспечения для решения задачи поддержки принятия решений о выпуске новой продукции. Математическое обеспечение задачи поддержки принятия решений о выпуске новой продукции, основные входные и выходные данные.
дипломная работа [943,0 K], добавлен 08.03.2011Задача анализа деловой активности, факторы, влияющие на принятие решений. Современные информационные технологии и нейронные сети: принципы их работы. Исследование применения нейронных сетей в задачах прогнозирования финансовых ситуаций и принятия решений.
дипломная работа [955,3 K], добавлен 06.11.2011Решение задачи нелинейного программирования с определением экстремумов функции. Этапы процесса нахождения решения задачи нелинейного программирования с использованием ее геометрической интерпретации. Определение гиперповерхности уровней функции.
курсовая работа [1,5 M], добавлен 25.09.2010Изучение вопросов, связанных с проектированием и эксплуатацией автоматизированных систем управления технологическими объектами. Разработка оптимального управления технологическим объектом управления - парогенератором. Выбор закона регулирования.
курсовая работа [5,2 M], добавлен 18.01.2015Методы решения проблем, возникающих на стадиях и этапах процесса принятия решений, их реализация в информационных системах поддержки принятия решений (СППР). Назначение СППР, история их эволюции и характеристика. Основные типы СППР, области их применения.
реферат [389,3 K], добавлен 22.11.2016Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.
реферат [157,5 K], добавлен 21.08.2008