Глава 7. ЭЛЕМЕНТЫ ТЕОРИИ МАТРИЧНЫХ ИГР В теории игр исследуется процесс принятия решений в конфликтных ситуациях, т. е. в случаях, когда существует несколько сторон с разными интересами. Различают игры двух (парные) и n ≥ 3 лиц. Участников игры принято называть игроками. Игра состоит из последовательности действий (ходов), среди которых могут быть как личные ходы, так и случайные. Выбор личных ходов основан на стратегии игрока. Определение 7.1. Стратегия игрока – это набор правил для определения варианта действий, используемых при выборе каждого личного хода. Результат ходов игроков оценивается платежными функциями участников игры, которые можно интерпретировать как их выигрыши. Если сумма выигрышей всех игроков равна нулю, то такую игру называют игрой с нулевой суммой. Определение 7.2. Стратегия игрока называется оптимальной, если при многократном повторении игры его средний выигрыш максимален. В дальнейшем будем считать, что игроки ведут себя разумно (без риска и азарта). В рамках данного пособия рассмотрим матричные игры. Определение 7.3. Матричная игра – это парная игра, в которой заданы: {1, …, m} – множество стратегий первого игрока, {1, …, n} – множество стратегий второго игрока, и для любой пары стратегий i ∈ {1, …, m} и j ∈ {1, …, n} определен выигрыш первого игрока, равный aij. Матрицу A = (aij, i = 1, …, m, j = 1, …, n) называют платежной. В разд. 7.2 будет введено понятие смешанной стратегии, поэтому, упомянутые выше стратегии, называют чистыми. В матричной игре целью первого игрока является максимизация своего выигрыша, а цель второго игрока – минимизация выигрыша первого игрока. 67 7.1. Принцип осторожности Предположим, что второй игрок знает все ходы первого игрока заранее. Тогда на каждый ход первого игрока i = 1, …, m он отвечает лучшей стратегией j(i), для которой ai,j(i) ≤ aij, j = 1, …, n. Обозначим α i0 = ai,j(i) = min aij, i = 1, …, m. 1≤ j≤ n Тогда лучшей чистой стратегией (максиминной стратегией) первого игрока является стратегия i0, для которой α 0 = max min aij = α i00 . 1≤ i≤ m 1≤ j≤ n С другой стороны, если предположить, что первый игрок отвечает на любую стратегию j второго игрока своей лучшей стратегией i(j), то второй игрок стремится минимизировать величину β 0j = ai(j),j = max aij, j = 1, …, n, 1≤ i ≤ m что приводит к выбору стратегии β 0 = min max aij = β 0j 0 . 1≤ j ≤ n 1≤i ≤ m Стратегию j0, определенную таким образом, называют минимаксной стратегией второго игрока. Стратегии i0 и j0 определяются игроками по принципу осторожности, так как каждый игрок при выборе хода учитывает самый плохой для себя вариант развития событий. Величина α 0 называется нижней, а величина β 0 – верхней ценами игры. Если первый игрок придерживается принципа осторожности, то его выигрыш будет не менее α 0 . Если второй игрок придерживается принципа осторожности, то выигрыш первого игрока не превысит величины β 0 . Лемма 7.1. (О максимине и минимаксе). Для любой функции f(x, y), x ∈ X, y ∈ Y справедливо неравенство max min f(x, y) ≤ min max f(x, y). x∈X y∈Y y∈Y x∈X Доказательство. Пусть min f(x, y) = f(x, y(x)), x ∈ X, и max f(x, y(x)) = f(x*, y(x*)). x∈X y∈Y Тогда 68 max min f(x, y) = f(x*, y(x*)) = min f(x*, y) ≤ min max f(x, y).♦ x∈X y∈Y y∈Y y∈Y x∈X Из леммы 7.1 следует, что α ≤ β . Следовательно, случай 0 0 α = β 0 удовлетворяет обоих игроков, и выбор стратегий, на кото0 рых достигается равенство, является оптимальным (решением матричной игры в чистых стратегиях). Определение 7.4. Седловой точкой матрицы A называется пара номеров строка-столбец (i0, j0), для которой справедливы неравенства: a ij0 ≤ a i0 j0 ≤ a i0 j , i = 1, ..., m, j = 1, …, n (т. е. элемент a i0 j0 является одновременно максимальным в столбце и минимальным в строке). Теорема 7.1. Необходимым и достаточным условием равенства нижней и верхней цен игры является существование седловой точки в платежной матрице A. Доказательство. Докажем необходимость. Пусть α 0 = β 0 . По определению, α 0 = max min aij = min a i0 j ≤ a i0 j0 , 1≤ i ≤ m 1≤ j ≤ n 1≤ j ≤ n β = min max aij = max a ij ≥ a i j . 0 1≤ j ≤ n 1≤i ≤ m 1≤ i ≤ m 0 0 0 Следовательно, α 0 ≤ a i0 j0 , β 0 ≥ a i0 j0 . Из равенства α 0 = β 0 следует a ij0 ≤ max a ij0 = a i0 j0 = min a i0 j ≤ a i0 j . 1≤ j≤ n 1≤ i ≤ m Значит, a ij0 ≤ a i0 j0 ≤ a i0 j , для любых i и j и, следовательно, (i0, j0) – седловая точка. Покажем достаточность. Пусть (i0, j0) – седловая точка. Из определения седловой точки следует, что min max aij ≤ max a ij0 ≤ a i0 j0 ≤ min a i0 j ≤ max min aij. 1≤ j ≤ n 1≤i ≤ m 1≤ j ≤ n 1≤i ≤ m 1≤ i ≤ m 1≤ j ≤ n С другой стороны, по лемме 7.1 справедливо неравенство min max aij ≥ max min aij. 1≤ j≤ n 1≤ i ≤ m 1≤ i ≤ m 1≤ j≤ n Следовательно, α 0 = max min aij = min max aij = β 0 .♦ 1≤ i ≤ m 1≤ j ≤ n 1≤ j ≤ n 1≤ i ≤ m 69 7.2. Решение матричных игр в смешанных стратегиях Очевидно, не всякая матрица имеет седловую точку. Что делать, если платежная матрица не имеет седловой точки? В этом случае при выборе любых чистых стратегий будет иметь место строгое неравенство α 0 < β 0 . Что считать решением матричной игры в этом случае? Для решения матричной игры в общем случае было введено понятие смешанных стратегий. Определение 7.5. Смешанная стратегия – это вероятностное распределение на множестве чистых стратегий. Смешанные стратегии игроков определяются векторами: p = (p1, …, pm) ∈ Pm = {p : q = (q1, …, qn) ∈ Qn = {q : m ∑p i = 1, pi ≥ 0}, j = 1, qj ≥ 0}, i =1 n ∑q j =1 где компонента pi является вероятностью использования первым игроком чистой стратегии i, а qj – вероятность использования вторым игроком чистой стратегии j. Применение смешанных стратегий – это чередование чистых стратегий согласно их вероятностям при многократном повторении игры. Для любой пары смешанных стратегий (p, q) определим платежную функцию как математическое ожидание величины выигрыша первого игрока: m E(p, q) = n ∑∑ a ij pi q j . i =1 j =1 Принцип осторожности в данном случае приводит к определению следующих характеристик: α(p) = min E(p, q); α = max min E(p, q); q∈Q p∈Pm q∈Q n n β(q) = max E(p, q); β = min max E(p, q), p∈Pm q∈Q n p∈Pm где α − нижняя, а β − верхняя цены игры в смешанных стратегиях. Справедлива следующая теорема. 70 Теорема 7.2 (Фон Неймана). В любой матричной игре существует такая пара смешанных стратегий (p*, q*), что: 1) E(p, q*) ≤ E(p*, q*) ≤ E(p*, q), p ∈ Pm, q ∈ Qn; 2) α = β = ν = E(p*, q*). Доказательство. Сформулируем задачи первого и второго игроков в виде задач линейного программирования. Заметим, что, добавив достаточно большое число ко всем элементам платежной матрицы, можно добиться положительности цены игры ν. Задача первого игрока α(p) → max . p∈Pm Имеем α(p) = min E(p, q) ≤ E(p, qj) = q∈Q ∑ aij pi, j = 1, …, n, i n (7.1) pi , i = 1, …, m. Слеα ( p) довательно, ui ≥ 0. Разделив члены соотношений (7.1) на α(p), полугде qj = (0, …, 0, 1 , 0, …, 0). Обозначим ui = j m чим ∑ aij ui ≥ 1, j = 1, …, n. Просуммировав ui, получим ui = 1 . Тогда задачу первого игрока можно переписать в α ( p) i =1 m ∑ i =1 виде m f(u) = ∑u i → min; m ∑a u ij i (7.2) u i =1 ≥ 1, j = 1, …, n; (7.3) i =1 ui ≥ 0, i = 1, …, m. Задача второго игрока: β(q) → vj= qj β (q ) (7.4) min . Введем переменные q∈Q n . Тогда задачу можно переписать в виде 71 n ∑v ϕ(v) = → max ; j n ∑a v ij (7.5) v j =1 ≤ 1, j = 1, …, n; j (7.6) j =1 vj ≥ 0, j = 1, …, n. (7.7) Пусть u* и v* − оптимальные решения двойственных задач v *j ui* * * иqj= . Согласно (7.2)−(7.4) и (7.5)−(7.7). Значит, p i = ϕ (v * ) f (u * ) принципу дополняющей нежесткости [6], справедливы равенства u *i ( m ∑a u − 1) = 0, j = 1, …, n, ∑a v − 1) = 0, i = 1, …, m. v *j ( * ij i i =1 m ij * j j =1 Просуммировав обе группы последних равенств по j = 1, …, n и по i = 1, …, m соответственно и разделив на f(u*)⋅ϕ(v*), получим 1 1 E(p*, q*) = . = * f (u ) ϕ ( v * ) Из неравенств (7.3) и (7.6) следует, что pi aij q *j = E(p, q*) = ∑ ∑ ∑p ∑ i aij j i v *j ϕ (v ) * E(p*, q) = i j ≤ 1 ϕ (v * ) ∑ qj j ui* ∑ ∑ pi = i 1 , ϕ (v * ) aij p *i = i 1 1 qj = . * f (u ) f (u ) j f (u * ) j i Таким образом, первое утверждение теоремы доказано. Докажем второе. Из неравенств ∑ qj ∑ aij * ≥ 72 ∑ следует, что E(p, q*) ≤ E(p*, q*) ≤ E(p*, q), p ∈ Pm, q ∈ Qn, max E(p, q*) ≤ E(p*, q*) ≤ min E(p*, q), p∈Pm или q∈Q n β ≤ β(q*) ≤ E(p*, q*) ≤ α(p*) ≤ α. Значит, β ≤ α. С другой стороны, по лемме 7.1 справедливо неравенство α ≤ β, откуда получаем равенства α = α(p*) = E(p*, q*) = β = β(q*).♦ Величина ν называется ценой игры. 7.3. Методы решение матричных игр Если платежная матрица имеет седловую точку, то решение игры существует в чистых стратегиях, которые определяются седловой точкой матрицы. Предположим, что седловой точки в платежной матрице нет. Тогда матричную игру следует решать в смешанных стратегиях. Введем следующие определения. Определение 7.6. Строка i доминирует строку k, если aij ≥ akj, для всех j = 1, …, n, и существует столбец d такой, что a id > a kd . Определение 7.7. Столбец j доминирует столбец k, если aij ≤ aik, i = 1, …, m, и существует строка d такая, что a dj < a dk . Очевидно, что подмножества доминируемых строк и столбцов могут быть исключены из платежной матрицы. Определение 7.8. Чистая стратегия i является активной, если она используется в некоторой оптимальной стратегии с положительной вероятностью. Другими словами, если существует оптимальная стратегия p (q) такая, что pi > 0 (qj > 0), то чистая стратегия i (j) является активной для первого (второго) игрока. Теорема 7.3 (Об активных стратегиях). Если один игрок придерживается оптимальной стратегии, то его соперник достигает цены игры ν, применяя любую свою смешанную стратегию, в которой используются только активные стратегии. Доказательство. Пусть первый игрок использует оптимальную стратегию p*, а второй − смешанную стратегию q, в которой qj > 0, j ∈ J′, где J′ − подмножество активных стратегий второго игрока. Необходимо показать, что цена игры ν = E(p*, q). 73 Пусть νj = E(p*, qj), где qj = (0, …, 0, 1 , 0, …, 0). Очевидно, νj ≥ ν, j для любого j = 1, …, n. Покажем, что для активной стратегии j имеет место равенство νj = ν. По определению цены игры имеем m ν = E(p*, q*) = ∑ i =1 n ∑ q *j νj = j =1 ∑ n ∑ aij p *i q *j = j =1 ν ∑ q *j q *j νj + q *k νk ≥ ν ∑ m ∑ aij p *i = i =1 j =1 j ≠k n n ∑ q *j + q *k νk = j ≠k q *j + q *k (νk − ν) = ν + q *k (νk − ν) ≥ ν. j =1 Следовательно, q *k (νk − ν) = 0. Если стратегия k ∈ J′, то q *k > 0 и, значит, νk − ν = 0. Итак, для всех j ∈ J′ имеет место равенство νj = ν. qj = 1 получаем Из свойства ∑ j∈J ′ E(p*, q) = m ∑ ∑ i =1 j∈J ′ aij p *i qj = ∑ j∈J ′ qjνj = ν ∑ qj = ν.♦ j∈J ′ Теорема 7.3 позволяет решать матричные игры малой размерности. Способы решения игр 2 × n и m × 2, использующие теорему об активных стратегиях, подробно рассмотрены в работе [3], поэтому здесь мы их опустим. Разберем случай 3×3. Пример 7.1. Решить матричную игру, заданную следующей платежной матрицей ⎛ − 2 3 − 4⎞ ⎜ ⎟ ⎜ 3 − 4 5 ⎟. ⎜ − 4 5 − 6⎟ ⎝ ⎠ Решение. По теореме 7.3, взяв q1 = (1, 0, 0), q2 = (0, 1, 0) и q3 = (0, 0, 1), получим ⎧− 2 p1 + 3 p2 − 4 p3 ⎫ ⎪ ⎪ α ( p ) = min E ( p, q) = min ⎨ 3 p1 − 4 p2 + 5 p3 ⎬. q∈Q3 ⎪− 4 p + 5 p − 6 p ⎪ 1 2 3⎭ ⎩ 74 Выразим p3 = 1 – p1 – p2 и запишем задачу первого игрока: ⎧ − 4 + 2 p1 + 7 p2 = f1 ⎫ ⎪ ⎪ min ⎨ 5 − 2 p1 − 9 p2 = f 2 ⎬ → max . p , p ≥ 0; ⎪− 6 + 2 p + 11 p = f ⎪ 0≤1 p12+ p2 ≤1 1 2 3⎭ ⎩ Пусть D = {(p1, p2) | 0 ≤ p1 + p2 ≤ 1; p1, p2 ≥ 0} − допустимая область. Определим в D подобласти, где максимальное значение принимает одна из величин fi, i = 1, 2, 3. Для этого рассмотрим следующие случаи: a b 1 1 D1 9/16 1/2 D2 0 R1 R2 0 1 7/12 1 Рис. 8 а) Сравним f1 и f3. Если f1 = f3, то 7p2 – 4 = 11p2 – 6 и, следовательно, p2 = 1/2. Значит, в области D1 = {(p1, p2) | p2 ∈ [1/2, 1], p1 ∈ [0, 1 – p2]} имеет место неравенство f1 ≤ f3, а в области 75 D2 = {(p1, p2) | p2 ∈ [0, 1/2], p1 ∈ [0, 1 – p2]} − неравенство f1 ≥ f3 (см. рис. 8, a). б) Сравним f1 и f2. Если f1 = f2, то 2p1 + 7p2 – 4 = 5 – 2p1 – 9p2 и, следовательно, 4p1 + 16p2 = 9. Значит, если (p1, p2) ∈ R1 = {(p1, p2) | p1 ∈ [0, 7/12], p2 ∈ [(9 – 4p1)/16, 1 – p1]}, то f2 ≤ f1. А в случае (p1, p2) ∈ R2 = {(p1, p2) | p1 ∈ [0, 7/12], p2 ∈ [0, (9 – 4p1)16], p1 ∈ [7/12, 1], p2 ∈ [0, 1 – p1]} имеем f2 ≥ f1 (рис. 8, b). b a 1 1 9/16 K2 K 1 11/20 1/2 K3 S1 11/20 S2 0 9/16 0 1 1/4 K4 K5 K6 9/16 7/12 1 Рис. 9 в) Сравним f2 и f3. Если f2 = f3, то 5 – 2p1 – 9p2 = 2p1 + 11p2 – 6 и, следовательно, 4p1 + 20p2 = 11. Значит, если (p1, p2) ∈ S1 = {(p1, p2) | p1 ∈ [0, 9/16], p2 ∈ [(11 – 4p1)/20, 1 – p1]}, то f2 ≤ f3. А в случае (p1, p2) ∈ S2 = {(p1, p2) | p1 ∈ [0, 9/16], p2 ∈ [0, (11 – 4p1)/20], p1 ∈ [9/16, 1], p2 ∈ [0, 1 – p1} 76 имеем f2 ≥ f3 (рис. 9, a). Итак, область D делится прямыми p2 = 1/2, 4p1 + 16p2 = 9 и 4p1 + 20p2 = 11 на шесть подобластей Kj, j = 1, …, 6 (см. рис. 9, b). Следовательно: − если (p1, p2) ∈ K2 ∪ K3, то min{f1, f2, f3} = f1; − если (p1, p2) ∈ K1 ∪ K4, то min{f1, f2, f3} = f2; − если (p1, p2) ∈ K5 ∪ K6, то min{f1, f2, f3} = f3. Значит, нижняя цена игры равна f1 ( p1 , p2 ), max f 2 ( p1 , p2 ), α 0 = max{ max ( p1 , p 2 )∈K 2 ∪ K 3 max ( p1 , p 2 )∈K 5 ∪ K 6 ( p1 , p 2 )∈K1 ∪ K 4 f 3 ( p1 , p2 )}. Так как линейная функция принимает экстремальные значения на границе области, то справедливы следующие равенства. 1 1 9 1 max f1 ( p1 , p2 ) = max{ f1 (0, ), f1 (0, ), f1 ( , )} = 16 2 4 2 ( p1 , p2 )∈K 2 ∪ K 3 1 1 , − , 0} = 0; 16 2 9 7 9 1 1 max f 2 ( p1 , p2 ) = max{ f 2 ( , ), f 2 (0, ), f 2 ( , ), f 2 (0, 1)} = 16 16 16 4 2 ( p1 , p2 )∈K1 ∪ K 4 max{− 1 1 , − , − 4} = 0; 16 16 max f 3 ( p1 , p2 ) = max{0, − ( p1 , p2 )∈K 5 ∪ K 6 1 1 1 9 7 max{ f 3 (0, 0), f 3 (0, ), f 3 ( , ), f 3 ( , ), f 3 (0, 1)} = 2 4 2 16 16 1 1 max{−6, − , 0, − , − 4} = 0. 2 16 Таким образом, нижняя цена игры, которая по теореме 7.3 является ценой игры, равна 1 1 1 1 1 1 α 0 = ν = f1 ( , ) = f 2 ( , ) = f 3 ( , ) = 0, 4 2 4 2 4 2 1 1 1 * а оптимальная стратегия первого игрока p = ( , , ) . 4 2 4 77 Чтобы найти оптимальную смешанную стратегию второго игрока достаточно еще раз воспользоваться теоремой об активных 1 1 1 стратегиях. Получим q * = ( , , ) . 4 2 4 Для решения матричной игры с произвольными n и m можно применять как метод линейного программирования (см. теорему 7.2), так и итеративный метод Брауна−Робинсон (см. [3]). 78