Лабораторная работа 11 Тема: Теория игр
Цель работы: Найти решение матричной игры в смешанных стратегиях, представленной моделью задачи линейного программирования.
Теоретические сведения
Для двух игроков А и В задана платежная матрица
|
|
Стратегии игрока B |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
||
Стратегии игрока A |
A1 |
-2 |
3 |
-1 |
1 |
4 |
A2 |
-1 |
4 |
-2 |
2 |
3 |
|
A3 |
7 |
0 |
1 |
-1 |
0 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
|
A5 |
6 |
-1 |
1 |
-1 |
-1 |
Игрок А использует логику, которая гарантирует ему максимальный выигрыш вне зависимости от поведения игрока В.
Определяются минимальные элементы каждой строки, что соответствует минимальным выигрышам игрока А при каждой стратегии и среди них, находится максимальное число, равное -1.
Таким образом, свой выбор, игрок А остановит на стратегии A3, которая обеспечит ему выигрыш -1, т.е. потерю не более 1 ден.ед.
Значение равное -1, называется нижней ценой игры.
|
|
Стратегии игрока B |
Минимальный элемент в строке |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
|||
Стратегии игрока A |
A1 |
-2 |
3 |
-1 |
1 |
4 |
-2 |
A2 |
-1 |
4 |
-2 |
2 |
3 |
-2 |
|
A3 |
7 |
0 |
1 |
-1 |
0 |
-1 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
-1 |
|
A5 |
6 |
-1 |
1 |
-1 |
-1 |
-1 |
Игрок В использует логику, которая гарантирует ему минимальный проигрыш вне зависимости от поведения игрока А.
Определяются максимальные элементы каждого столбца, что соответствует максимальным проигрышам игрока В при каждой стратегии и среди них, находится минимальное число, равное 1.
Свой выбор, игрок В остановит на стратегии В3, которая обеспечит ему проигрыш 1, т.е. потерю не более 1 ден.ед.
Значение равное 1, называется верхней ценой игры.
|
|
Стратегии игрока B |
Минимальный элемент в строке |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
|||
Стратегии игрока A |
A1 |
-2 |
3 |
-1 |
1 |
4 |
-2 |
A2 |
-1 |
4 |
-2 |
2 |
3 |
-2 |
|
A3 |
7 |
0 |
1 |
-1 |
0 |
-1 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
-1 |
|
A5 |
6 |
-1 |
1 |
-1 |
-1 |
-1 |
|
Максимальный элемент в столбце |
|
7 |
4 |
1 |
3 |
4 |
|
Если верхняя цена игры равна нижней цене игры (седловая точка), то было бы найдено решение, которое устраивает обоих игроков, исходя из их логики. В рассматриваемом примере, если игроки пользуются только чистыми стратегиями, оптимальное решение не найдено. Но, всегда есть решение в смешанных стратегиях.
Смешанной стратегией игрока А называется применение чистых стратегий A1 , A2 , A3 , A4 , A5 c вероятностями p1 , p2 , p3 , p4 , p5 .
Смешанную стратегию первого игрока обозначают как вектор
P = ( p1 , p2 , p3 , p4 , p5 ) ,
где p1 + p2 + p3 + p4 + p5 = 1; p1 , p2 , p3 , p4 , p5 0.
Смешанной стратегией игрока B называется применение чистых стратегий B1 , B2 , B3 , B4 , B5 c вероятностями q1 , q2 , q3 , q4 , q5 .
Смешанную стратегию второго игрока обозначают как вектор
Q = ( q1 , q2 , q3 , q4 , q5 ) ,
где q1 + q2 + q3 + q4 + q5 = 1 и q1 , q2 , q3 , q4 , q5 0
Оптимальное решение игры (или просто - решение игры) - это пара оптимальных смешанных стратегий
P* ( p*1 , p*2 , p*3 , p*4 , p*5 ) и Q* ( q*1 , q*2 , q*3 , q*4 , q*5 ),
Таким образом, если один из игроков придерживается своей оптимальной стратегии, то другому невыгодно отступать от своей стратегии.
Выигрыш игрока А равный проигрышу игрока В, соответствующий оптимальному решению, называется ценой игры v.
Цена игры больше либо равна нижней цены игры и меньше или равна верхней цены игры, т.е. -1 v 1.
Исходную платежную матрицу можно уменьшить, если исключить из нее стратегии, которыми заведомо не выгодно пользоваться игрокам.
|
|
Стратегии игрока B |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
||
Стратегии игрока A |
A1 |
-2 |
3 |
-1 |
1 |
4 |
A2 |
-1 |
4 |
-2 |
2 |
3 |
|
A3 |
7 |
0 |
1 |
-1 |
0 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
|
A5 |
6 |
-1 |
1 |
-1 |
-1 |
1. Стратегия A4 является доминирующей над стратегией A1 , т.к. каждый элемент строки 4 больше или равен соответствующего элемента строки.
Игроку А заведомо не выгодно пользоваться стратегией A1. Удаляем стратегию A1 из рассмотрения.
|
|
Стратегии игрока B |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
||
Стратегии игрока A |
A2 |
-1 |
4 |
-2 |
2 |
3 |
A3 |
7 |
0 |
1 |
-1 |
0 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
|
A5 |
6 |
-1 |
1 |
-1 |
-1 |
2. Стратегия A3 является доминирующей над стратегией A5 , поэтому удаляем стратегию A5 из рассмотрения.
|
|
Стратегии игрока B |
||||
B1 |
B2 |
B3 |
B4 |
B5 |
||
Стратегии игрока A |
A2 |
-1 |
4 |
-2 |
2 |
3 |
A3 |
7 |
0 |
1 |
-1 |
0 |
|
A4 |
-1 |
3 |
0 |
3 |
4 |
3. Стратегия B4 является доминирующей над стратегией B5. Удаляется стратегия B5 из рассмотрения.
|
|
Стратегии игрока B |
||
B1 |
B3 |
B4 |
||
Стратегии игрока A |
A2 |
-1 |
-2 |
2 |
A3 |
7 |
1 |
-1 |
|
A4 |
-1 |
0 |
3 |
4. Игроку А заведомо не выгодно пользоваться стратегией A2. Удаляется стратегия A2 из рассмотрения.
|
|
Стратегии игрока B |
||
B1 |
B3 |
B4 |
||
Стратегии игрока A |
A3 |
7 |
1 |
-1 |
A4 |
-1 |
0 |
3 |
После преобразований платежной матрицы, оптимальное решение будем искать в виде :
P* = ( 0 , 0 , p*3 , p*4 , 0 ) ,
Q* = ( q*1 , 0 , q*3 , q*4 , 0 ).
В задаче, значение цены игры определяется неравенством -1 v 1. В дальнейшем, потребуется, чтобы цена игры была положительной, для этого воспользуемся следующей теоремой.
Если к каждому элементу платежной матрицы прибавить положительное число, то цена игры увеличится на это число, при этом оптимальное решение игры не изменится. Если все элементы матрицы больше или равны нулю, то и цена игры будет положительной.
Таким образом, необходимо ко всем элементам матрицы прибавить число, равное по модулю наименьшему элементу матрицы.
Прибавим 1 к каждому элементу матрицы. Тогда, цена исходной игры v = v1 -1, где v1 - цена игры новой матрицы.
|
|
Стратегии игрока B |
||
B1 |
B3 |
B4 |
||
Стратегии игрока A |
A3 |
8 |
2 |
0 |
A4 |
0 |
1 |
4 |
Если P* = ( 0 , 0 , p*3 , p*4 , 0 ) и Q* = ( q*1 , 0 , q*3 , q*4 , 0 ) являются оптимальным решением, то должны выполняться две следующие системы неравенств :
8 p*3 v1
2 p*3 + p*4 v1
4 p*4 v1
и
8 q*1 + 2 q*3 v1
q*3 + 4 q*4 v1
Рассмотрим первую систему.
Разделим все члены системы на цену игры v1. Знаки в неравенствах системы не изменятся, так как цена игры положительная.
Введем новые обозначения:
y1 = p*3 / v1 , y2 = p*4 / v1
Рассмотрим сумму:
y1 + y2 = p*3 / v1 + p*4 / v1 = 1/v1 * ( p*3 + p*4 ) = 1/v1,
где ( p*3 + p*4 )=1 (сумма вероятностей используемых стратегий равна единице).
Игрок A старается увеличить свой выигрыш, т.е. цену игры v1, поэтому выражение 1/v1 будет стремиться к минимуму. Таким образом, из первой системы будет получена задача линейного программирования.
Требуется найти минимум линейной функции
F = y1 + y2
при следующей системе ограничений:
8 y1 1
2 y1 + y2 1
4 y2 1
Рассмотрим вторую систему.
Разделим все члены системы на цену игры v1. Знаки в неравенствах системы не изменятся, так как цена игры положительная.
Введем новые обозначения:
x1 = q*1 / v1 , x2 = q*3 / v1 , x3 = q*4 / v1
Рассмотрим сумму:
x1 + x2 + x3 = q*1 / v1 + q*3 / v1 + q*4 / v1 = 1/v1 * ( q*1 + q*3 + q*4 ) = 1/v1
Игрок B старается уменьшить свой проигрыш, т.е. цену игры v1, поэтому выражение 1/v1 будет стремиться к максимуму. Таким образом, из первой системы будет получена задача линейного программирования.
Требуется найти максимум линейной функции
L = x1 + x2 + x3
при следующей системе ограничений :
8 x1 + 2 x2 1
x2 + 4 x3 1
Полученные задачи являются парой симметричных взаимно двойственных задач.
Если решить одну из этих задач, то автоматически будет получено решение второй.
Для решения воспользуемся симплекс-методом, реализованного в виде надстройки Excel Поиск решений (лабораторная работа 3).
В книге Поиск решений на странице Таблица с формулами последовательно внести данные первой и второй систем и найти решение. Предварительно изменить формат ячеек для переменных и целевой функции на числовой с двумя знаками после запятой.
Решение для первой задачи
y1 = 0,38; y2 = 0,25; F = 0,63.
Решение для второй задачи
х1 = 0; х2 = 0,5; х3 = 0,13; L = 0,63.
Максимальное значение функции прямой задачи равно минимальному значению функции двойственной задачи.
Найдем цену игры v1.
v1 = 1 / F = 1 / L = 1/0,63 = 1,6
Так как к каждому элементу матрицы мы прибавили 1, следовательно, цена исходной игры равна:
v = v1 - 1 = 1,6 - 1 = 0,6.
Теперь можно найти оптимальное решение игры.
Вероятности стратегий игрока А.
p*1 = 0;
p*2 = 0;
p*3 = y1 * v1 = 0,38 * 1,6 = 0,6;
p*4 = y2 * v1 = 0,25 * 1,6 = 0,4;
p*5 = 0;
P* = ( 0; 0; 0,6; 0,4; 0 );
Цена игры v = 0,6.
Вероятности стратегий игрока В.
q*1 = x1 * v1 = 0 * 1,6 = 0;
q*2 = 0;
q*3 = x2 * v1 = 0,5 * 1,6 = 0,8;
q*4 = x3 * v1 = 0,13 * 1,6 = 0,2;
q*5 = 0.
Q* = ( 0; 0; 0,8; 0,2; 0 )
Цена игры v = 0,6.
Анализ результата решения задачи.
Выигрыш игрока А составит 3/5 денежных единиц, а проигрыш игрока В составит ту же сумму (игра с нулевой суммой).
Игрок А использует свои стратегии следующим образом:
-
A1 на 0 %
-
A2 на 0 %
-
A3 на 60 %
-
A4 на 40 %
-
A5 на 0 %
Игрок B использует свои стратегии следующим образом:
-
B1 на 0 %
-
B2 на 0 %
-
B3 на 80 %
-
B4 на 20 %
-
B5 на 0 %