logo search
Теория игр

Линейное программирование для решения матричных игр

Пусть имеется некоторая матричная игра Г=<X,Y,H> (где X и Y — множества стратегий 1го и 2го игроков соответственно, а Н — платежная матрица), H=(aij) Rm*n

Требуется найти оптимальную смешанную стратегию, т.е.

p*=(p1*,p2*,…,pm*) и q*=(q1*,q2*,…,qn*), при которых

,

где v — цена игры.

Для решения этой задачи можно применять линейное программирование.

Будем считать, что все aij 0, игра Г’ эквивалентна игре Г, H’=H+L, L — число, при котором неравенство будет выполняться (при переходе от игры Г к игре Г’).

Далее предположим, что 2й игрок принимает стратегию yk , , тогда выигрыш игрока 1 будет определяться условием

p1a1k + p2a2k + … + pmamk v, (*)

(равенство v достигается, если k-я стратегия является рабочей)

pi 0 , ; pi aik > 0 v>0 (т.к. левая часть неравенства (*) больше нуля).

Разделим неравенство (*) на v :

t1a1k + t2a2k +…+ tmamk 1, где ti= , ti 0,

Цель стратегии 1-го игрока — максимизировать выигрыш:

v max min

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

1) ti 0 ,

2) min

3) , причем zk=0 для рабочих стратегий , zk>0 для нерабочих стратегий.

Решение этой задачи позволяет:

  1. Вычислить ti*.

  2. Определить те k, при которых zk=0 (т.е. найти рабочие стратегии 2го игрока)

  3. pi*=ti* v

Для определения стратегии 2го игрока можно поступить двояко:

    1. сформулировать двойственную задачу

    2. использовать информацию о полезных стратегиях 2-го игрока (полезные стратегии – при zk=0 )

Пусть найдена полезная стратегия игрока yj, , . Для определения оптимальной стратегии qj*, для рабочих стратегий 1-го игрока можно записать условие

q1ai1 + q2ai2 + … + qkaik v,

(причем если i-я стратегия 1-го игрока рабочая, то =v,а если нет, то< v)

q1ai1 + q2ai2 + … + qkaik v ,

- система уравнений для определения оптимального q.

ПРИМЕР.

Пусть имеется некоторая игра с матрицей A=

A+5 A1=

Предположим, что все стратегии рабочие. Составляем систему уравнений:

7t1 + 2t2 + 9t3 - z1 = 1

2t1 + 9t2 - z2 = 1

9t1+11t3 - z3 = 1

Решение этих уравнений при условии t1 + t2 + t3 min :

t1 = 0,05

t2 = 0,1

t3 = 0,05

v(A1) = = 5 p1=0,05*5=0,25

p2=0,1*5=0,5

p3=0,05*5=0,25

v(A)=v(A1) - 5=0 игра справедливая. Найдём стратегию второго игрока:

q1* + q2* + q3* = 1

2q1 + 9q2 = 5 q1=q3=0,25

9q1 + 11q3 =5 q2=0,5