Сведение матричной игры к задаче линейного программирования

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

Рассмотрим игру двух лиц с нулевой суммой, заданную платежной матрицей

Сведение матричной игры к задаче линейного программирования - student2.ru .

Если платежная матрица не имеет седловой точки, т.е. a <b и Сведение матричной игры к задаче линейного программирования - student2.ru , то решение игры представлено в смешанных стратегиях Сведение матричной игры к задаче линейного программирования - student2.ru (x1, x2, ..., xm) и Сведение матричной игры к задаче линейного программирования - student2.ru (y1, y2, ..., yn).

Применение первым игроком оптимальной стратегии Сведение матричной игры к задаче линейного программирования - student2.ru опт должно обеспечить ему при любых действиях второго игрока выигрыш не меньше цены игры.

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru .

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

Сведение матричной игры к задаче линейного программирования - student2.ru

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

Сведение матричной игры к задаче линейного программирования - student2.ru (1)

где

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru . (2)

По условию x1 + x2 + … +xm = 1. Разделим обе части этого равенства на v.

Сведение матричной игры к задаче линейного программирования - student2.ru .

Оптимальная стратегия Сведение матричной игры к задаче линейного программирования - student2.ru (x1, x2, ..., xm) игрока А должна максимизировать величину v, следовательно, функция

Сведение матричной игры к задаче линейного программирования - student2.ru (3)

должна принимать минимальное значение.

Таким образом, получена задача линейного программирования: найти минимум целевой функции (3) при ограничениях (1), причем на переменные наложено условие неотрицательности (2). Решая ее, находим значения Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru и величину1/v, затем отыскиваются значения xi = vti.

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

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru .

Рассмотрим задачу отыскания оптимальной стратегии игрока B, для которой имеют место ограничения

Сведение матричной игры к задаче линейного программирования - student2.ru

Преобразуем систему ограничений, разделив все члены неравенств на v.

Сведение матричной игры к задаче линейного программирования - student2.ru (4)

где

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru . (5)

По условию y1 + y2 + … +yn = 1. Разделим обе части этого равенства на v.

Сведение матричной игры к задаче линейного программирования - student2.ru .

Оптимальная стратегия Сведение матричной игры к задаче линейного программирования - student2.ru (y1, y2, ..., yn) игрока В должна минимизировать величину v, следовательно, функция

Сведение матричной игры к задаче линейного программирования - student2.ru (6)

должна принимать максимальное значение.

Получена задача линейного программирования: найти максимум целевой функции (6) при ограничениях (4), причем на переменные наложено условие неотрицательности (5).

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

Пример.Найти решение игры, заданной матрицей

Сведение матричной игры к задаче линейного программирования - student2.ru .

a = max (2, 3, 1) = 3, b = min (4, 5, 6, 5) = 4, a ¹ b, Сведение матричной игры к задаче линейного программирования - student2.ru .

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

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

Сведение матричной игры к задаче линейного программирования - student2.ru ,

Сведение матричной игры к задаче линейного программирования - student2.ru

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru .

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

Сведение матричной игры к задаче линейного программирования - student2.ru ,

Сведение матричной игры к задаче линейного программирования - student2.ru

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru .

Оптимальные решения пары двойственных задач имеют вид

Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru , Сведение матричной игры к задаче линейного программирования - student2.ru .

Учитывая соотношения между xi и ti , yj и sj, а также равенство

Сведение матричной игры к задаче линейного программирования - student2.ru ,

можно найти оптимальные стратегии игроков и цену игры:

Сведение матричной игры к задаче линейного программирования - student2.ru (1/2, 1/2, 0), Сведение матричной игры к задаче линейного программирования - student2.ru (3/4, 0, 0, 1/4), v=7/2.

Игры с природой

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

Условия игры задаются матрицей

Сведение матричной игры к задаче линейного программирования - student2.ru .

Пусть игрок Аимеет стратегии А1, А2, …, Аm, а природа – состояния В1, В2, …, Вn. Наиболее простой является ситуация, когда известна вероятность pj каждого состояния природы Вj. При этом, если учтены все возможные состояния, p1 + p2 + … + pj + … + pn = 1.

Если игрок Авыбирает чистую стратегию Аi , то математическое ожидание выигрыша составит p1 ai1 + p2 ai2 + … + pn ain. Наиболее выгодной будет та стратегия, при которой достигается

Сведение матричной игры к задаче линейного программирования - student2.ru ( p1 ai1 + p2 ai2 + … + pn ain ).

Если информация о состояниях с природой мала, то можно применить принцип недостаточного основания Лапласа, согласно которому можно считать, что все состояния природы равновероятностны:

Сведение матричной игры к задаче линейного программирования - student2.ru ,

т.е. стратегию, для которой среднее арифметическое элементов соответствующей строки максимальное.

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

1. Критерий Вальда. Рекомендуется применять максиминную стратегию. Она выбирается из условия

Сведение матричной игры к задаче линейного программирования - student2.ru

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

2. Критерий максимума. Он выбирается из условия

Сведение матричной игры к задаче линейного программирования - student2.ru .

Критерий является оптимистическим, считается, что природа будет наиболее благоприятна для человека.

3. Критерий Гурвица. Критерий рекомендует стратегию, определяемую по формуле

Сведение матричной игры к задаче линейного программирования - student2.ru ,

где a - степень оптимизма и изменяется в диапазоне [0, 1].

Критерий придерживается некоторой промежуточной позиции, учитывающей возможность как наихудшего, так и наилучшего поведения природы. При a = 1 критерий превращается в критерий Вальда, при a = 0 - в критерий максимума. На a оказывает влияние степень ответственности лица, принимающего решение по выбору стратегии. Чем больше последствия ошибочных решений, больше желания застраховаться, тем a ближе к единице.

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

Сведение матричной игры к задаче линейного программирования - student2.ru .

Элементы матрицы рисков находятся по формуле

Сведение матричной игры к задаче линейного программирования - student2.ru ,

где Сведение матричной игры к задаче линейного программирования - student2.ru - максимальный элемент в столбце исходной матрицы.

Оптимальная стратегия определяется выражением

Сведение матричной игры к задаче линейного программирования - student2.ru .

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

Пример. Возможно строительство четырех типов электростанций: А1 (тепловых), А2 (приплотинных), А3 (бесшлюзовых), А4 (шлюзовых). Состояния природы обозначим через Р1, Р2, Р3, Р4. Экономическая эффективность строительства отдельных типов электростанций изменяется в зависимости от состояния природы и задана матрицей

Сведение матричной игры к задаче линейного программирования - student2.ru .

1) Согласно критерию Вальда

Сведение матричной игры к задаче линейного программирования - student2.ru Сведение матричной игры к задаче линейного программирования - student2.ru ,

следует строить бесшлюзовую электростанцию.

2) Воспользуемся критерием Сэвиджа. Построим матрицу рисков:

Сведение матричной игры к задаче линейного программирования - student2.ru .

Согласно критерию Сэвиджа определяем

Сведение матричной игры к задаче линейного программирования - student2.ru .

В соответствии с этим критерием также предлагается строить бесшлюзовую электростанцию.

3) Воспользуемся критерием Гурвица. Положим a=1/2.

Сведение матричной игры к задаче линейного программирования - student2.ru ,

т.е. следует принять решение о строительстве приплотинной электростанции.

4) Если принять известным распределение вероятностей для различных состояний природы, например считать эти состояния равновероятностными (р1234=1/4), то для принятия решения следует найти математические ожидания выигрыша:

Сведение матричной игры к задаче линейного программирования - student2.ru ,

Сведение матричной игры к задаче линейного программирования - student2.ru ,

Сведение матричной игры к задаче линейного программирования - student2.ru ,

Сведение матричной игры к задаче линейного программирования - student2.ru .

Так как максимальное значение имеет М3, то следует строить бесшлюзовую электростанцию.

Наши рекомендации