Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
1.28 Mб
Скачать

5. Методы решения матричных игр

Найдем оптимальную смешанную стратегию второго игрока. Разберем следующие возможности.

à) 0 < p01 < 1.

Этот случай представлен на рис. 5.1. Возьмем две прямые lj1 è lj2 , проходящие через точку (p01, v) и имеющие угловые коэффициенты kj1

0, kj2 ≤ 0. Рассмотрим уравнение

kj1 q + kj2 (1 − q ) = 0.

(5.2)

Оно имеет решение q , принадлежащее отрезку [0,1]. Из (5.2) следует,

что угловой коэффициент прямой lj1 (p1)q + lj2 (p1)(1 − q ) равен нулю. Смешанная стратегия второго игрока

q0 : qj0 =

1 q , j = j2

,

 

 

q ,

 

j = j1

,

 

 

 

 

оптимальна, поскольку при

 

0,

 

j = j1, j2,

 

p1

 

[0, 1]

 

 

 

 

 

6

 

0

 

 

 

 

âñåõ

 

 

 

A(p, q ) = lj1 (p1)q + lj2 (p1)(1 − q ) = v.

á) p01 = 0.

В этом случае чистая стратегия 2 первого игрока является оптимальной. Покажем, что у второго игрока также имеется чистая оптимальная

стратегия. Действительно, найдется прямая lj1 , проходящая через точку (0, v) и имеющая угловой коэффициент kj1 ≤ 0. Выбирая чистую стратегию j1, второй игрок не позволит первому выиграть больше, чем v, поскольку A(p, j1) = lj1 (p1) ≤ v ïðè âñåõ p1 [0, 1]. Итак, матрица игры имеет седловую точку (2, j1).

â) p01 = 1.

В этом случае, аналогичном б), матрица игры также имеет седловую точку.

Пример 5.2. Решим игру с матрицей A =

2

4

1 .

 

 

1

2

3

Построив три прямые (рис. 5.2)

 

 

 

l1

(p1) = (−1)p1 + 2(1 − p1) = 2 − 3p1,

 

 

 

l2

(p1) = (−2)p1 + 4(1 − p1) = 4 − 6p1,

 

 

 

l3

(p1) = 3p1 + 1(1 − p1) = 1 + 2p1,

 

 

 

найдем, что максимум нижней огибающей достигается в p01 = 1/5 − точке пересечения прямых l1 è l3.

41

ГЛАВА I. АНТАГОНИСТИЧЕСКИЕ ИГРЫ

4

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

J

 

 

 

 

 

 

 

 

J l2

 

 

 

 

 

 

 

J

 

 

 

l3

2

 

J

JJ

 

 

 

 

 

 

 

Z

 

 

 

 

 

Z

 

 

 

 

 

v

Z J

 

 

 

 

1

 

 

 

Z J

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z J

 

 

 

 

 

 

 

 

 

ZJ

 

 

-

p1

 

 

 

 

 

Z

 

 

 

0

 

p0

=

1

JZ

l1

1

 

 

1

 

 

5

J

 

 

 

Ðèñ. 5.2

Значение игры v = l1(p01) = 7/5 è p0 = (1/5, 4/5). Здесь j1 = 3, k3 = 2, j2 = 1, k1 = −3. Из уравнения 2q + (−3)(1 − q ) = 0 находим q =

3/5. Отсюда q0 = (2/5, 0, 3/5) − оптимальная стратегия второго игрока. Сделайте проверку условия ( ) теоремы 4.1 0 для найденного решения

(p0, q0, v).

Упражнение 5.3. Найдите все оптимальные стратегии игроков в игре

 

3

1

0

с матрицей A =

0

1

3 .

Теперь рассмотрим игру с m × 2-матрицей A. Смешанная стратегия

q = (q1, 1 − q1) второго игрока определяется величиной q1 [0, 1]. Значе- ние игры, согласно следствию теоремы 4.2 0, представимо в виде

v = min max A(i, q) =

0

min

max [a

i1

q

1

+ a

i2

(1

q

)].

q

 

Q 1

i

m

q1

1 1

i

m

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому необходимо построить верхнюю огибающую max li(q1) семей-

1≤i≤m

ства прямых li(q1) = ai1q1 +ai2(1−q1), i = 1, ..., m, и найти на отрезке [0,1]

точку q10 ее минимума. Она будет соответствовать оптимальной смешанной стратегии второго игрока. Оптимальная стратегия первого игрока строится с использованием уравнения, аналогичного (5.2).

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

Сведение решения матричной игры к задачам линейного программирования − наиболее эффективный прием, позволяющий использовать

алгоритм симплекс-метода.

42

5. Методы решения матричных игр

Без потери общности будем предполагать, что значение матричной èãðû v положительно. Согласно следствию теоремы 4.2 0, оно представи-

ìî â âèäå

 

 

 

 

 

 

 

 

m

Введем вспомогательную переменную u è

 

 

P

 

 

v = max min A(p, j) = max min

piaij.

 

 

 

p P 1≤j≤n

 

 

p P 1≤j≤n i=1

 

 

 

 

 

 

 

 

запишем задачу нахожде-

ния максимина как задачу линейного программирования

v = max u, ãäå

 

 

 

 

 

 

 

(u,p) B

m

 

 

 

 

 

m

 

 

P

 

 

 

pPP максимальное значение u при

B = {(u, p) | i=1 piaij u, j = 1, ..., n,

i=1 pi = 1,

pi ≥ 0, i = 1, ..., m}.

Действительно, при фиксированном

 

 

 

 

ограничениях

(

u, p

)

B равно

min A(p, j).

 

 

 

 

 

1≤j≤n

 

 

 

 

Поскольку v > 0, можно считать, что u принимает положительные

значения. Сделаем замену переменных zi = pi/u, z = (z1, ..., zm). Тогда, учитывая ограничения (u, p) B, получим

mm

 

X

X

 

 

 

zi ≥ 0, i = 1, ..., m.

 

 

zi = 1/u,

aijzi ≥ 1, j = 1, ..., n,

 

 

 

i=1

i=1

 

 

 

 

 

Отсюда

 

1

 

 

 

 

 

v = max u =

,

 

 

 

 

 

 

 

 

 

 

 

m

 

 

0

 

(u,p) B

 

z0

 

 

 

 

 

iP

 

 

 

 

 

 

 

i

 

 

 

 

 

 

=1

 

 

 

ãäå z − оптимальное решение задачи линейного программирования

 

 

 

m

 

 

 

 

 

 

 

Xi

 

 

 

 

 

 

 

zi → min

 

 

 

 

 

=1

 

 

 

 

 

 

m

 

 

 

 

 

 

 

Xi

 

zi ≥ 0,

 

 

 

aijzi ≥ 1, j = 1, ..., n,

i = 1, ..., m.

(I)

 

=1

 

 

 

 

 

 

Ïî z0 находим значение игры и оптимальную смешанную стратегию пер-

 

 

m

 

 

 

 

вого игрока: v = 1/

zi0

, p0 = vz0.

 

 

 

Аналогично

 

P

 

 

 

 

 

 

i=1

 

 

 

 

 

можно получить, что

 

 

 

 

 

v = min max A(i, q) =

 

1

,

 

 

n

 

 

 

 

q Q 1≤i≤m

 

w0

 

 

 

 

jP

 

 

 

 

 

j

 

 

 

 

=1

 

43

ГЛАВА I. АНТАГОНИСТИЧЕСКИЕ ИГРЫ

ãäå w0 оптимальное решение задачи линейного программирования

n

Xj

 

 

wj → max

 

 

=1

 

 

n

 

 

Xj

≥ 0, j = 1, ..., n.

 

aijwj ≤ 1, i = 1, ..., m, wj

(II)

=1

 

 

Здесь q0 = vw0 оптимальная смешанная стратегия второго игрока. Задачи (I) è (II) двойственны одна по отношению к другой.

Отметим свойство дополняющей нежесткости для оптимальных решений z0 è w0 задач (I) è (II) :

n

= 1;

1) zi0 > 0 j=1 aijwj0

P

 

m

 

2) wj0 > 0 P aijzi0 = 1.

i=1

Оно непосредственно вытекает из утверждения теоремы 4.3 0 после заме-

ны переменных p0 = vz0, q0 = vw0.

2

 

−3

 

Пример 5.3. Решить игру с матрицей A =

1

. Отметим, что

 

0

3

4

 

стратегия p = (1/2, 1/2) обеспечивает первому игроку положительный выигрыш. Поэтому v > 0. Выпишем задачи линейного программирования

z1 + z2 → min

 

2z2 ≥ 1, 3z1 + z2 ≥ 1, 4z1 − 3z2 ≥ 1,

(I)

z1, z2 ≥ 0;

 

w1 + w2 + w3 → max

 

3w2 + 4w3 ≤ 1, 2w1 + w2 − 3w3 ≤ 1,

(II)

w1, w2, w3 ≥ 0.

 

Используя графические построения на плоскости, нетрудно найти, что z0 = (5/8, 1/2) − оптимальное решение задачи (I). Отсюда

v = 1/(z10 + z20) = 8/9, p0 = vz0 = (5/9, 4/9).

44

5. Методы решения матричных игр

Найдем оптимальное решение w0 задачи (II). Поскольку z10, z20 > 0 è 3z10 + z20 > 1, по свойству дополняющей нежесткости

3w20 + 4w30 = 1, 2w10 + w20 − 3w30 = 1, w20 = 0.

Поэтому w0 = (7/8, 0, 1/4), q0 = vw0 = (7/9, 0, 2/9).

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

Здесь рассматривается комбинаторного типа алгоритм решения игры, основанный на переборе подматриц матрицы A.

Определение. Пусть Z − выпуклое множество евклидова пространства. Точка z0 Z называется крайней точкой множества Z, если не существует таких точек z0 6= z00 Z и такого числа 0 < λ < 1, ÷òî z0 = λz0 + (1 − λ)z00.

Другими словами, крайняя точка выпуклого множества Z не являет-

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

тренней точкой множества Z. Однако не всякая граничная точка множества Z является крайней точкой этого множества. Например, у квадрата крайними точками являются только его вершины.

Упражнение 5.4. Пусть Z − выпуклый компакт евклидова простран-

ñòâà è z0 Argmax |z|2. Докажите, что z0 крайняя точка множества

z Z

Z.

Упражнение 5.5. Пусть h(z) − линейная функция, определенная на выпуклом компакте Z евклидова пространства. Докажите, что h(z) достигает максимума в некоторой крайней точке множества Z.

Если множество Z − многогранник, то его крайние точки называются вершинами. Вернемся к игре с матрицей A и рассмотрим множество

оптимальных смешанных стратегий первого игрока

m

P 0 = {p0 P |

=1 pi0aij v, j = 1, ..., n},

 

iP

ãäå v − значение матричной игры. Нетрудно видеть, что P 0 многогранник евклидова пространства.

Определение. Крайней оптимальной смешанной стратегией первого игрока будем называть вершину многогранника P 0.

45

Тогда для любой пары

ГЛАВА I. АНТАГОНИСТИЧЕСКИЕ ИГРЫ

Множество оптимальных смешанных стратегий второго игрока

n

Q0 = {q0 Q | P aijqj0 ≤ v, i = 1, ..., m}

j=1

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

Теорема 5.2. Пусть в игре с матрицей A = (aij)m×n значение v 6= 0. p0, q0 крайних оптимальных смешанных страте-

гий игроков найдется такая невырожденная подматрица A = (ailjt )k×k матрицы A, что выполнены условия

k

 

 

 

 

k

 

 

X

 

 

 

 

Xl

 

 

p0 ai j

t

= v,

t = 1, ..., k,

p0

= 1,

(5.3)

il

l

 

 

il

 

 

l=1

 

 

 

 

=1

 

 

k

 

 

 

 

k

 

 

X

 

 

 

 

Xt

 

 

ailjt qj0t = v,

l = 1, ..., k,

qj0t

= 1.

(5.4)

t=1

 

 

 

 

=1

 

 

Доказательство. Определим следующие множества чистых страте-

гий игроков:

n

I1 = {i | p0i > 0}, I2 = {i | P aijqj0 = v},

j=1

m

J1 = {j | qj0 > 0}, J2 = {j | P p0i aij = v}.

i=1

Из свойства дополняющей нежесткости (теорема 4.3 0) следует, что I1 I2, J1 J2. Без потери общности будем считать, что

I1 = {1, ..., r}, I2 = {1, ..., d}, J1 = {1, ..., s}, J2 = {1, ..., h},

ãäå r ≤ d è s ≤ h. Этого всегда можно добиться подходящей перестанов-

кой строк и столбцов матрицы A.

 

 

Рассмотрим подматрицу

˜

 

 

˜

A = (aij)d×h матрицы A. Докажем, что пер-

âûå r строк матрицы A линейно независимы. Предположим противное.

Тогда найдутся такие числа αi, i = 1, ..., r, не все равные нулю, что

 

r

 

 

 

Xi

 

 

 

αiaij = 0,

j = 1, ..., h.

(5.5)

=1

 

 

 

Покажем, что при этом

r

 

 

 

 

 

 

Xi

 

 

 

αi

= 0.

(5.6)

 

=1

 

 

46

5. Методы решения матричных игр

Действительно, из (5.5) и из определения множества I2 следует, что

h

r

r

h

r

X X

X X

Xi

0 =

( αiaij)qj0 =

 

αi( aijqj0) = v

αi.

j=1

i=1

i=1

j=1

=1

Поскольку v 6= 0, отсюда следует (5.6). Чтобы придти к противоречию,

рассмотрим ненулевой вектор α = (α1, ..., αr, 0, ..., 0) Em è ïðè ε 6= 0 определим вектор pε = p0 + εα. Из (5.6) следует, что сумма компонент

вектора pε равна единице и при достаточно малом ε эти компоненты можно сделать неотрицательными. Таким образом, при малом ε вектор pε является смешанной стратегией первого игрока. Покажем, что при достаточно малом ε стратегия pε оптимальна. Действительно, используя (5.5) и определение множества J2, при малом ε получим

A(pε, j) = i=1 piεaij = i=1 pi0aij + ε

=1 αiaij (> v,

j > h.

m

m

r

= v,

j=1,...,h,

X

X

Xi

 

 

Следовательно, смешанная стратегия pε при малых ε оптимальна. Наконец, p0 = (pε + p−ε)/2, что противоречит определению стратегии p0.

˜

Аналогично доказывается, что первые s столбцов матрицы A линейно

˜

независимы. Обозначим через k ранг матрицы A. Из доказанного вытекает, что k ≥ max[r, s]. Без потери общности можно считать базисными

˜

первые k строк и первые k столбцов матрицы A. На их пересечении стоит

невырожденная подматрица A = (aij)k×k. Для этой подматрицы справедливы равенства

k

 

k

X

 

Xi

pi0aij = v,

j = 1, ..., k,

pi0 = 1,

i=1

 

=1

k

 

k

X

 

Xj

aijqj0 = v,

i = 1, ..., k,

qj0 = 1,

j=1

 

=1

которые представляют собой системы (5.3) и (5.4), если вернуться к исходной нумерации строк и столбцов.

Упражнение 5.6. Докажите, что условия (5.3) и (5.4) достаточны для того, чтобы оптимальные смешанные стратегии p0 è q0 были крайними

оптимальными.

47

ГЛАВА I. АНТАГОНИСТИЧЕСКИЕ ИГРЫ

Покажем, что система k + 1 линейных уравнений (5.3) относительно

k + 1 неизвестных p0 , l = 1, ..., k, v либо не имеет решения, либо имеет

il

единственное решение. Действительно, расширенная матрица системы (5.3) имеет вид

· · ·

·· ·· ··

· · ·

−1

0 .

ai1j1

 

aikj1

−1

0

ai1jk · · · aikjk −1

0

1

· · ·

1

0

1

 

 

 

 

Нетрудно видеть, что ее ранг равен k + 1. Если система (5.3) имеет ре-

шение, то по теореме Кренекера-Капелли ранг матрицы системы также равен k + 1 è îíà невырожденная. Отсюда следует единственность

решения системы (5.3).

Выпишем в последнем случае решения систем (5.3) и (5.4) в явном виде. Для этого введем векторы

 

 

0

 

 

0

, t = 1, ..., k), e = (1, ..., 1)

E

k

 

 

p = (pil

, l = 1, ..., k), q = (qjt

 

и запишем систему (5.3) в матричных обозначениях

pA = ve, p, e = 1.

Умножая первое равенство справа на матрицу (A)−1, выразим вектор p через v : p = ve(A)−1. Подставляя это выражение в уравнение

p, e = 1, получим

e(

A

)−1

1

p = , v = . e(A)−1, e e(A)−1, e

Аналогично из системы (5.4) находится

q = (A)−1e . (A)−1e, e

Упражнение 5.7. Приведите пример 2 × 2-матрицы A, для которой

система (5.3) не имеет решения.

Рассмотрим теперь алгоритм решениÿ матричной игры. Перебираем все невырожденные k Ч k-подматрицы A матрицы A, начиная с k = 2.

48

5. Методы решения матричных игр

Для каждой подматрицы A решаем системы уравнений (5.3) и (5.4). Если решения не существует или некоторые компоненты

0

, l = 1, ..., k,

0

, t = 1, ..., k

pil

qjt

отрицательны, то переходим к следующей подматрице A. Пусть указан-

ные компоненты решений неотрицательны. Тогда определим смешанные стратегии

 

p

 

: pi

= (0,l

i = il;

q0

: qj =

(0,t

j = jt.

 

 

 

 

0

0

 

pi0

, i = il,

 

 

0

qj0

, j = jt,

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

6

 

 

 

ìû 4.1

 

 

 

0

, q

0

, v)

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

(p

 

необходимо проверить условие

теоре-

Теперь для тройки

 

 

 

 

 

 

0. Если оно выполнено, то искомое решение (p0, q0, v) найдено. В

 

 

 

 

 

противном случае переходим к следующей подматрице A.

 

 

Пример 5.4. Рассмотрим матрицу вида

0 .

 

 

 

 

 

 

 

 

 

 

A =

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь нет слабо доминируемых строк (даже никакими выпуклыми комбинациями − докажите!) и слабо доминирующих столбцов . Если приме-

нить указанный выше алгоритм, то подматрица

 

 

a11

a15

 

1

0

A =

=

 

 

a41

a45

 

0

1

даст решение в смешанных стратегиях

p0 = (1/2, 0, 0, 1/2), q0 = (1/2, 0, 0, 0, 1/2), v = 1/2.

V. Метод Брауна.

В этом параграфе мы рассмотрим итерационный метод приближенного решения игры с матрицей A. Пусть задано число ε > 0. Требуется

найти значение игры с точностью до величины ε, а также ε-максиминную и ε-минимаксную смешанные стратегии игроков.

Метод Брауна состоит в многократном фиктивном разыгрывании матричной игры, при котором игроки по определенным правилам выбира-

ют свои чистые стратегии. Пусть за k повторений игры первый игрок ri

49

ГЛАВА I. АНТАГОНИСТИЧЕСКИЕ ИГРЫ

раз выбрал стратегию i, i = 1, ..., m, а второй lj раз выбрал стратегию j, j = 1, ..., n. Векторы частот выбора чистых стратегий

p(k) =

k1

, ...,

k

!, q(k) =

k , ...,

k !

 

r

 

rm

 

l1

ln

являются смешанными стратегиями игроков. Определим итерационный процесс Брауна.

Øàã 1. Игроки выбирают произвольно стратегии i1 è j1.

Пусть за k повторений игры первый игрок выбрал стратегии i1, ..., ik,

а второй − стратегии j1, ..., jk. При этом p(k) и q(k) − соответствующие векторы частот.

Øàã k + 1. Игроки выбирают стратегии ik+1 è jk+1 из условий

A(ik+1, q(k)) = max A(i, q(k)) = v1(k),

1≤i≤m

A(p(k), jk+1) = min A(p(k), j) = v2(k).

1≤j≤n

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

Покажем, что v1(k) è v2(k) − оценки для значения v матричной игры:

 

 

 

 

 

 

 

 

v2(k) ≤ v ≤ v1(k),

 

 

k = 1, 2, ....

 

 

 

 

(5.7)

Действительно, используя следствие теоремы 4.2 0, получим

v

2

(

k

) =

min A(p(k), j)

 

max min A p, j

) =

v

=

 

 

1

 

j

n

 

p

 

P 1

j

n

(

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

min max A(i, q)

max A

 

i, q

(

k

)) =

v

1(

k .

 

 

 

q

 

Q 1

i

m

1

i

m

(

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для доказательства сходимости последовательностей {v1(k)}, {v2(k)} к значению игры v нам потребуется обобщенный итерационный процесс.

Пусть c(0) Em, d(0) En два вектора, удовлетворяющие условию

max ci(0) = min dj(0). Возьмем

 

 

 

 

 

 

 

 

 

1≤i≤m

1≤j≤n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

1

 

Arg

max c

(0),

j

1

 

Arg min d

(0).

 

 

1

i

m i

 

 

1

j

n

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

50