какой критерий позволяет задать меру пессимизма исследователя с помощью специального параметра

Теория игр: принятие решений с примерами на Kotlin

Теория игр — математическая дисциплина, рассматривающая моделирование действий игроков, которые имеют цель, заключающуюся в выбор оптимальных стратегий поведения в условиях конфликта. На Хабре эта тема уже освещалась, но сегодня мы поговорим о некоторых ее аспектах подробнее и рассмотрим примеры на Kotlin.

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

Задача теории игр – выявление оптимальных стратегий игроков. Основное предположение, исходя из которого находятся оптимальные стратегии, заключается в том, что противник (или противники) не менее разумен, чем сам игрок, и делает все для того, чтобы добиться своей цели. Расчет на разумного противника – лишь одна из потенциальных позиций в конфликте, но в теории игр именно она кладется в основу.

Существуют игры с природой в которых есть только один участник, максимизирующий свою прибыль. Игры с природой – математические модели, в которых выбор решения зависит об объективной действительности. Например, покупательский спрос, состояние природы и т.д. «Природа» – это обобщенное понятие не преследующего собственных целей противника. В таком случае для выбора оптимальной стратегии используется несколько критериев.
Различают два вида задач в играх с природой:

Сейчас мы рассмотрим критерии принятия решений в чистых стратегиях, а в конце статьи решим игру в смешанных стратегиях аналитическим методом.

Постановка задачи

Все критерии принятия решений мы разберем на сквозном примере. Задача такова: фермеру необходимо определить, в каких пропорциях засеять свое поле тремя культурами, если урожайность этих культур, а, значит, и прибыль, зависят от того, каким будет лето: прохладным и дождливым, нормальным, или жарким и сухим. Фермер подсчитал чистую прибыль с 1 гектара от разных культур в зависимости от погоды. Игра определяется следующей матрицей:

Далее эту матрицу будем представлять в виде стратегий:

Искомую оптимальную стратегию обозначим . Решать игру будем с помощью критериев Вальда, оптимизма, пессимизма, Сэвиджа и Гурвица в условиях неопределенности и критериев Байеса и Лапласа в условиях риска.

Как и говорилось выше примеры будут на Kotlin. Замечу, что вообще-то существуют такие решения как Gambit (написан на С), Axelrod и PyNFG (написанные на Python), но мы будем ехать на своем собственном велосипеде, собранном на коленке, просто ради того, чтобы немного потыкать стильный, модный и молодежный язык программирования.

Чтобы программно реализовать решение игры заведем несколько классов. Сначала нам понадобится класс, позволяющий описать строку или столбец игровой матрицы. Класс крайне простой и содержит список возможных значений (альтернатив или состояний природы) и соответствующего им имени. Поле key будем использовать для идентификации, а также при сравнении, а сравнение понадобится при реализации доминирования.

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

Опишем интерфейс, соответствующий критерию

Принятие решений в условиях неопределенности

Принятие решений в условиях неопределённости предполагает, что игроку не противостоит разумный противник.

Критерий Вальда

Использование критерия страхует от наихудшего результата, но цена такой стратегии – потеря возможности получить наилучший из возможных результатов.

Рассмотрим пример. Для стратегий найдем минимумы и получим следующую тройку . Максимумом для указанной тройки будет являться значение 1, следовательно, по критерию Вальда выигрышной стратегией является стратегия , соответствующая посадке Культуры 2.

Программная реализация критерия Вальда незатейлива:

Для большей понятности в первый раз покажу, как решение выглядело бы в виде теста:

Критерий оптимизма

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

Читайте также:  при какой плюсовой температуре погибает коронавирус

Рассмотрим пример. Для стратегий найдем найдем максимум и получим следующую тройку . Максимумом для указанной тройки будет являться значение 5, следовательно, по критерию оптимизма выигрышной стратегией является стратегия , соответствующая посадке Культуры 1.

Реализация критерия оптимизма почти не отличается от критерия Вальда:

Критерий пессимизма

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

После знакомства с критериями Вальда и оптимизма то, как будет выглядеть класс критерия пессимизма, думаю, легко догадаться:

Критерий Сэвиджа

Критерий Сэвиджа (критерий сожалеющего пессимиста) предполагает минимизацию наибольшей потерянной прибыли, иными словами минимизируется наибольшее сожаление по потерянной прибыли:

В данном случае S — это матрица сожалений.

Оптимальное решение по критерию Сэвиджа должно давать наименьшее сожаление из найденных на предыдущем шаге решения сожалений. Решение, соответствующее найденной полезности, будет оптимальным.

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

Рассмотрим пример. Для стратегий составим матрицу сожалений:

Тройка максимальных сожалений . Минимальным значением из указанных рисков будет являться значение 4, которое соответствует стратегиям и .

Запрограммировать критерий Сэвиджа немного сложнее:

Критерий Гурвица

Критерий Гурвица является регулируемым компромиссом между крайним пессимизмом и полным оптимизмом:

A(0) — стратегия крайнего пессимиста, A(k) — стратегия полного оптимиста, — задаваемое значение весового коэффициента: ; — крайний пессимизм, — полный оптимизм.

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

Рассмотрим пример. Для стратегий . Примем, что коэффициент оптимизма . Теперь составим таблицу:

Максимальным значением из рассчитанных H будет являться значение 3, которое соответствует стратегии .

Реализация критерия Гурвица уже более объемная:

Принятие решений в условиях риска

Методы принятия решений могут полагаться на критерии принятия решений в условиях риска при соблюдении следующих условий:

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

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

Чтобы можно было и дальше приводить примеры, дополним игровую матрицу вероятностями:

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

Критерий Байеса

Иными словами, показателем неэффективности стратегии по критерию Байеса относительно рисков является среднее значение (математическое ожидание ожидание) рисков i-й строки матрицы , вероятности которых, совпадают с вероятностями природы. Тогда оптимальной среди чистых стратегий по критерию Байеса относительно рисков является стратегия , обладающая минимальной неэффективностью то есть минимальным средним риском. Критерий Байеса эквивалентен относительно выигрышей и относительно рисков, т.е. если стратегия является оптимальной по критерию Байеса относительно выигрышей, то она является оптимальной и по критерию Байеса относительно рисков, и наоборот.

Перейдем к примеру и рассчитаем математические ожидания:

Максимальным математическим ожиданием является , следовательно, выигрышной стратегией является стратегия .

Читайте также:  какой народ ест тухлую рыбу

Программная реализация критерия Байеса:

Критерий Лапласа

Критерий Лапласа представляет упрощенную максимизацию математического ожидания полезности, когда справедливо предположение о равной вероятности уровней спроса, что избавляет от необходимости сбора реальной статистики.

В общем случае при использовании критерия Лапласа матрица ожидаемых полезностей и оптимальный критерий определяются следующим образом:

Рассмотрим пример принятия решений по критерию Лапласа. Рассчитаем среднеарифметическое для каждой стратегии:

Таким образом, выигрышной стратегией является стратегия .

Программная реализация критерия Лапласа:

Смешанные стратегии. Аналитический метод

Аналитический метод позволяет решить игру в смешанных стратегиях. Для того, чтобы сформулировать алгоритм нахождения решения игры аналитическим методом, рассмотрим некоторые дополнительные понятия.

Стратегия доминирует стратегию , если все . Иными словами, если в некоторой строке платёжной матрицы все элементы больше или равны соответствующим элементам другой строки, то первая строка доминирует вторую и называется доминант-строкой. А также если в некотором столбце платёжной матрицы все элементы меньше или равны соответствующим элементам другого столбца, то первый столбец доминирует второй и называется доминант-столбцом.

Нижней ценой игры называется .
Верхней ценой игры называется .

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

И класс, выполняющий решение симплекс-методом. Поскольку в математике я не разбираюсь, то воспользовался готовой реализацией из Apache Commons Math

В этой матрице есть доминирующее множество:
\begin 2& 4\\ 6& 2\end

Решение игры при цене игры равной 3,33

Вместо заключения

Надеюсь, эта статья будет полезна тем, кому необходимо в первом приближении с решением игр с природой. Вместо выводов ссылка на GitHub.

Буду благодарен за конструктивную обратную связь!

Источник

Какой критерий позволяет задать меру пессимизма исследователя с помощью специального параметра

При построении двойственной задачи к задаче линейного программирования в стандартной форме строится столько ограничений, сколько в прямой задаче:
1. основных переменных
2. ограничений
3. другое

Сколько оптимальных значений может иметь целевая функция задачи линейного программирования?
1. всегда 1
2. 0 или 1
3. 0, 1 или бесконечное множество

Теневые цены можно использовать для определения изменения оптимума задачи при изменении свободных членов:
1. любом
2. только в сторону увеличения
3. в диапазоне устойчивости двойственных оценок

В задаче с параметром в целевой функции задано фиксированное значение параметра. Оно включено в два промежутка, для которых найдены оптимальные решения. Сколько значений оптимума (не формул, а именно значений) ему соответствует?
Ответ

В построенной на этой лекции задаче о кондитерской фабрике параметр К означает количество:
Ответ

В транспортной задаче пять пунктов отправления с запасами по 10 тонн и два пункта назначения с потребностями по 30 тонн. Чему равны запасы фиктивного поставщика?
Ответ

В транспортной задаче пять пунктов отправления с запасами по 20 тонн и три пункта назначения с потребностями по 40 тонн. Чему равны запасы фиктивного поставщика?
Ответ

В транспортной задаче сумма запасов составляет 300 ед. продукции, а сумма потребностей – 450 ед. продукции. При преобразовании модели в закрытую вводят фиктивного поставщика. Сколько единиц продукции составит его потребность?
Ответ

Если в закрытой модели по 10 поставщиков и потребителей, сколько в ней переменных?
Ответ

Если в некоторой задаче свободный член равен параметру К, то чему равен коэффициент при К в этом свободном члене?
Ответ

Если приедут 10 полных автомашин с пюре, сколько тонн карамели «Снежинка» будет произведено?
По материалам лекции 11
Ответ

Какая часть диаграммы изменяется при графическом решении задачи с параметром в целевой функции?
Ответ

На лекции 12 была решена симплекс-методом задача. Чему равна переменная х1 при К=0,4?
Ответ

На лекции была решена симплекс-методом задача. Сколько значений параметра рассмотрено?
1. ноль
2. четыре
3. бесконечно много

Отметьте верное (-ые) утверждение (-ия) о «Поиске решения»:
1. подключенный «Поиск решения» находится на вкладке данные
2. для неразрешимых задач «Поиск решения» информирует о причине неразрешимости
3. для неразрешимых задач «Поиск решения» не информирует о причине неразрешимости

Читайте также:  какой кит самый большой представитель отряда китообразных

Результат решения параметрической задачи параметрической производственного планирования на кондитерской фабрике можно представить в виде таблицы:

Количество автомашин с фруктовым пюре, шт (К) Производство карамели «Снежинка», т (x1*) Производство карамели «Яблочная», т (x2*) Прибыль, ден. ед. (z*)
[0;2] ОДП=Ø ОДП=Ø ОДП=Ø
[2;2,5] 2000K-4000 0 216000K-432000
[2,5;9,3] 1,333-133,3К 213,3К-533,3 69333,3+15466,7К
[9,3;+∞] 90,9 1454,5 213454,5
Если фруктовое пюре будет привезено на трех автомашинах, одна из которых будет загружена на 0,1 (т.е. приедут 2,1 автомашины с пюре), сколько тонн карамели «Снежинка» будет произведено?
Ответ

Результат решения параметрической задачи производственного планирования на кондитерской фабрике можно представить в виде таблицы:
Количество автомашин с фруктовым пюре, шт (К) Производство карамели «Снежинка», т (x1*) Производство карамели «Яблочная», т (x2*) Прибыль, ден. ед. (z*)
[0;2] ОДП=Ø ОДП=Ø ОДП=Ø
[2;2,5] 2000K-4000 0 216000K-432000
[2,5;9,3] 1,333-133,3К 213,3К-533,3 69333,3+15466,7К
[9,3;+∞] 90,9 1454,5 213454,5

При решении задачи о кондитерской фабрике с параметром в ограничении в какое число промежутков было включено граничное значение К = 2?

Результат решения параметрической задачи производственного планирования на кондитерской фабрике можно представить в виде таблицы:
Количество автомашин с фруктовым пюре, шт (К) Производство карамели «Снежинка», т (x1*) Производство карамели «Яблочная», т (x2*) Прибыль, ден. ед. (z*)
[0;2] ОДП=Ø ОДП=Ø ОДП=Ø
[2;2,5] 2000K-4000 0 216000K-432000
[2,5;9,3] 1,333-133,3К 213,3К-533,3 69333,3+15466,7К
[9,3;+∞] 90,9 1454,5 213454,5

Сколько вариантов решения/неразрешимости было получено для задачи о кондитерской фабрике с параметром в ограничении?

Результат решения параметрической задачи производственного планирования на кондитерской фабрике можно представить в виде таблицы:
Количество автомашин с фруктовым пюре, шт (К) Производство карамели «Снежинка», т (x1*) Производство карамели «Яблочная», т (x2*) Прибыль, ден. ед. (z*)
[0;2] ОДП=Ø ОДП=Ø ОДП=Ø
[2;2,5] 2000K-4000 0 216000K-432000
[2,5;9,3] 1,333-133,3К 213,3К-533,3 69333,3+15466,7К
[9,3;+∞] 90,9 1454,5 213454,5
Сколько оптимальных планов с постоянными координатами (не зависящими от параметра) было получено для этой задачи?

Результат решения параметрической задачи производственного планирования на кондитерской фабрике можно представить в виде таблицы:
Количество автомашин с фруктовым пюре, шт (К) Производство карамели «Снежинка», т (x1*) Производство карамели «Яблочная», т (x2*) Прибыль, ден. ед. (z*)
[0;2] ОДП=Ø ОДП=Ø ОДП=Ø
[2;2,5] 2000K-4000 0 216000K-432000
[2,5;9,3] 1,333-133,3К 213,3К-533,3 69333,3+15466,7К
[9,3;+∞] 90,9 1454,5 213454,5
Сколько промежутков было рассмотрено при решении этой задачи?

Решая задачу параметрического линейного программирования с параметром в правых частях ограничений, в общем случае можно применить:
1. только прямой симплекс-метод
2. только двойственный симплекс-метод
3. и прямой, и двойственный симплекс-метод

Решая задачу целочисленного линейного программирования методом ветвей и границ, на каждом этапе метода:
1. решают задачу без ограничений целочисленности только графически
2. решают отдельные целочисленные задачи
3. решают задачу без ограничений целочисленности любым подходящим способом – графически и или симплекс-методом

С помощью транспортной задачи можно моделировать:
1. только распределение работников по различным видам работ
2. только транспортные перевозки
3. более широкий круг экономических ситуаций

Сколько значений параметра было рассмотрено в результате решения параметрической задачи о кондитерской фабрике (лекция 11)?
1. два
2. бесконечно много
3. четыре

Сколько общих значений параметра может быть в двух промежутках оптимальности для одной и той же задачи с параметром в ограничении?

Сколько оптимальных планов имеет задача о кондитерской фабрике с параметром в целевой функции при K=14,5?
1. два
2. бесконечно много
3. один

Сколько оптимумов имеет задача о кондитерской фабрике с параметром в целевой функции при K=14,5?
1. бесконечно много
2. два
3. один

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

Источник

Сказочный портал