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

Решение матричной игры можно свести к решению стандартной задачи линейного программирования.

Рассмотрим игру с m х n-матрицей выигрышей Н.

Теорема 17.9.Тройка (X*, Y*, v) является решением игры Г = <Sm, Sn, Н> тогда и только тогда, когда (X*, Y*, kv + а) является решением игры Г' = <Sm, Sn, kH + a>, где а — любое вещественное число, k>0.

Доказательство. Утверждение теоремы следует из того, что неравенства

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

и

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

эквивалентны.

В силу теоремы 17.9 всегда можно добиться того, чтобы было v>0 (в противном случае следует прибавить ко всем элементам матрицы выигрышей достаточно большую константу, что, по теореме 17.9, не меняет множества оптимальных стратегий игроков). Поэтому, не нарушая общности, будем считать, что все элементы матрицы Н положительны.

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

Пусть сведение матричной игры к задаче линейного программирования - student2.ru — произвольная стратегия игрока I в игре Н. Положим сведение матричной игры к задаче линейного программирования - student2.ru . Из положительности элементов H следует, что v(X)>0. Мы имеем

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

сведение матричной игры к задаче линейного программирования - student2.ru и равенство v(X)=v(H) является необходимым и достаточным условием оптимальности стратегии X. Следовательно, оптимальность стратегии X равносильна тому, что

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

Так как v(X) > 0, обе части неравенства (17.34) разделим на v(X) и введем новую переменную сведение матричной игры к задаче линейного программирования - student2.ru . В результате получим

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

То, что X — стратегия, означает

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

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

Из соотношений (17.35) и (17.37) следует, что стратегия X будет оптимальной тогда и только тогда, когда

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

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

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

при условиях

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

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

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

при условиях

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

Решив эти задачи, найдем х*, у* и v из соотношений

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

Пример. Решить игру

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

Чтобы гарантировать v > 0, прибавим ко всем элементам матрицы Н константу +1. Тогда получим матрицу

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

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

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

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

Номер итерации Базисные переменные сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru сведение матричной игры к задаче линейного программирования - student2.ru
    y5 1/7
y6 1/6
y7
L -1 -1 -1 -1  
    I сведение матричной игры к задаче линейного программирования - student2.ru 1/7 6/7 4/7 1/7 1/7
y6 1/7 41/7 67/7 71/7 -6/7 1/71
y7 6/7 71/7 38/7 146/7 -1/7 3/73
L 1/7 -1/7 -3/7 -6/7 1/7  
    II сведение матричной игры к задаче линейного программирования - student2.ru 10/71          
сведение матричной игры к задаче линейного программирования - student2.ru 1/71 41/71 67/71 -6/71 7/71  
y7 40/71          
L 11/71 25/71 27/71 5/71 6/71  

После второй итерации симплексного метода получим оптимальное решение

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

Отсюда

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

Таким образом, оптимальная стратегия игрока II есть

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

Из индексной строки против переменных у5, уб, у7 получаем оптимальное решение первой задачи

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

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

Итак,

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

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