Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория игр.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
275.3 Кб
Скачать

1. Формулировка пары двойственных задач линейного программирования, эквивалентных заданной парной игре.

2. Определение оптимальных планов двойственных задач.

3. Нахождение решения игры с использованием соотношений между оптимальными планами двойственных задач и оптимальными стратегиями и ценой игры (формулы (5.8)).

Пример 5.7. Предприятие выпускает скоропортящуюся продукцию, которую может сразу отправить потребителю (стратегия В1), отправить на склад для хранения (стратегия В2) или подвергнуть дополнительной обработке (стратегия В3) для длительного хранения.

Потребитель может приобрести продукцию немедленно (стратегия A1), в течение небольшого времени (стратегия A2), по истечении длительного периода времени (стратегия A3).

В случае стратегий B2 и B3 предприятие несет дополнительные затраты на хранение и переработку продукции, которые не требуются для B1, однако при B1 следует учесть возможные убытки из-за порчи продукции, если потребитель выберет стратегии А2 или А3.

Определите оптимальные пропорции продукции для применения стратегий B1, B2 и B3, руководствуясь «минимаксным критерием» (гарантированный средний уровень затрат) при матрице затрат, представленной в таблице 5.5.

Таблица 5.5 - Платежная матрица примера 5.7

B1

B2

B3

A1

2

5

10

A2

8

6

8

A3

12

8

6

Решение.

Проверим игру на наличие седловой точки: = 6, = 8. Седловая точка отсутствует. Упростить игру, путем исключения заведомо невыгодных стратегий не удается.

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

= y1 + y2 + y3 → min;

= x1 + x2 + x3 → max;

2y1 + 8y2 + 12y3 ≥ 1, 5y1 + 6y2 + 8y3 ≥ 1, 10y1 + 8y2 + 6y3 ≥ 1;

2x1 + 5x2 + 10x3 ≤ 1, 8x1 + 6x2 + 8x3 ≤ 1, 12x1 + 8x2 + 6x3 ≤ 1;

y1 ≥ 0,  y2 ≥ 0,   y3 ≥ 0.

x1 ≥ 0,  x2 ≥ 0,   x3 ≥ 0.

Методы решения задач линейного программирования обсуждались нами в разделе "Линейное программирование".

Решая первую из задач, получим:

= 0,04;   = 0;   = 0,1;   = 0,14.

Решение второй задачи дает следующие результаты:

= 0;   = 0,08;   = 0,06;   = 0,14.

Используя соотношения (5.8) найдем решение игры:

v = = ≈ 7,14; = 50/7 ∙ 0,04 = 4/14 ≈ 0,29; = 50/7 ∙ 0 = 0; = 50/7 ∙ 0,1 = 10/14 ≈ 0,71; = 50/7 ∙ 0 = 0; = 50/7 ∙ 0,08 = 8/14 ≈ 0,57; = 50/7 ∙ 0,06 = 6/14 ≈ 0,43.

Таким образом, чтобы гарантировать себе среднюю величину затрат на уровне 7,14 независимо от поведения потребителей, предприятию следует около 57% продукции отправлять на склад для хранения и около 43% продукции подвергать дополнительной обработке.

3. Решение игр в смешанных стратегиях

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

Если игра не имеет седловой точки, то применение чистых стратегий не дает оптимального решения игры. Например, в игре "Поиск" (пример 5.1) седловая точка отсутствует.

В этом случае можно получить оптимальное решение, чередуя чистые стратегии.

Смешанной стратегией игрока А называется применение чистых стратегий А1, А2, …, Аm c вероятностями u1, u2, …, um.

Обычно смешанную стратегию первого игрока обозначают как вектор: U = (u1, u2, …, um), а стратегию второго игрока как вектор: Z = (z1, z2, …, zm).

Очевидно, что:

ui ≥ 0,   , zj ≥ 0,   , ui = 1,   zj = 1.

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

Оптимальное решение игры (или просто - решение игры) – это пара оптимальных стратегий U*, Z*, в общем случае смешанных, обладающих следующим свойством: если один из игроков придерживается своей оптимальной стратегии, то другому не может быть выгодно отступать от своей. Выигрыш, соответствующий оптимальному решению, называется ценой игры v. Цена игры удовлетворяет неравенству:

≤ v ≤ ,

Справедлива следующая основная теорема теории игр.

Теорема Неймана. Каждая конечная игра с нулевой суммой имеет решение в смешанных стратегиях. .

Пусть U* = ( , , ..., ) и Z* = ( , , ..., ) - пара оптимальных стратегий. Если чистая стратегия входит в оптимальную смешанную стратегию с вероятностью, отличной от нуля, то она называется активной.

Теорема об активных стратегиях. Если один из игроков придерживается своей оптимальной смешанной стратегии, то выигрыш остается неизменным и равным цене игры v, если второй игрок не выходит за пределы своих активных стратегий..

Эта теорема имеет большое практическое значение - она дает конкретные модели для нахождения оптимальных стратегий при отсутствии седловой точки.

Рассмотрим игру размера 2x2.

Такая игра является простейшим случаем конечной игры. Если такая игра имеет седловую точку, то оптимальное решение - это пара чистых стратегий, соответствующих этой точке.

Для игры, в которой отсутствует седловая точка в соответствии с теоремой Неймана, оптимальное решение существует и определяется парой смешанных стратегий U* = ( , ) и Z* = ( , ).

Для того чтобы их найти, воспользуемся теоремой об активных стратегиях. Если игрок А придерживается своей оптимальной стратегии U*, то его средний выигрыш будет равен цене игры v, какой бы активной стратегией ни пользовался игрок В. Для игры 2x2 любая чистая стратегия противника является активной, если отсутствует седловая точка.

Выигрыш игрока А (проигрыш игрока В) – случайная величина, математическое ожидание которой является ценой игры. Поэтому средний выигрыш игрока А (при использовании оптимальной стратегии) будет равен v и для первой, и для второй стратегии противника.

Пусть игра задача платежной матрицей:

A =

a11   a12 a21   a22

.

Средний выигрыш игрока А, если он использует оптимальную смешанную стратегию U* = ( , ), а игрок В – чистую стратегию B1 (что соответствует первому столбцу платежной матрицы), равен цене игры v, т.е.:

a11 + a21 = v.

 

Тот же средний выигрыш получает игрок А, если противник применяет стратегию B2, т.е. a12 + a22 = v. Учитывая, что + = 1, получим систему уравнений:

a11 + a21 = v, a12 + a22 = v, + = 1.

(5.1)

Решая систему(5.1), можно найти оптимальную стратегию U* и цену игры v.

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

a11 + a12 = v, a21 + a22 = v, + = 1.

(5.2)

Далее вернемся к решению игры "Поиск" (пример 5.1).

Игра задана платежной матрицей без седловой точки:

A =

-1   1 1   -1

,

= -1,

= 1.

Будем искать решение в смешанных стратегиях. Составим систему уравнений (5.1) для нахождения стратегий игрока А:

- + = v, - = v, + = 1.

 

Выразим из третьего уравнения: = 1 - . Сделаем подстановку в другие уравнения:

- + 1 - = v, - 1 + = v,

 

преобразуя, получим:

2 + v = 1, 2 - v = 1,

 

сложим уравнения:

4 = 2, откуда = 1/2, v = 0, = 1/2.

Система уравнений для игрока B (система (5.2)):

- + = 0, - = 0, + = 1,

 

откуда: = = 1/2.

Таким образом, оптимальная стратегия каждого игрока состоит в том, чтобы чередовать свои чистые стратегии, выбирая каждое из убежищ с вероятностью 1/2, при этом гарантированный средний выигрыш каждого из игроков равен нулю.

Далее рассчитаем еще один пример.

Пример 5.3. Найдите решение игры, заданной платежной матрицей:

A =

2   5 6   4

.

Решение.

Прежде всего, проверим наличие седловой точки. Для этого найдем минимальные элементы в каждой из строк (2 и 4) и максимальные в каждом из столбцов (6 и 5). Таким образом, нижняя цена игры = max (2, 4) = 4, верхняя цена игры = min (6, 5) = 5. Поскольку ≠ , решение игры следует искать в смешанных стратегиях, при этом цена игры находится в следующих пределах: 4 ≤ v ≤ 5.

Предположим, что для игрока А стратегия задается вектором U = (u1, u2). Тогда на основании теоремы об активных стратегиях можно записать систему уравнений:

2 + 6 = v, 5 + 4 = v, + = 1.

 

Решая систему из трех уравнений с тремя неизвестными, получим: = 2/5, = 3/5, v = 22/5.

Теперь найдем оптимальную стратегию игрока В. Пусть стратегия данного игрока задается вектором Z = (z1, z2). Система уравнений (5.2), основанная на использовании теоремы об активных стратегиях, запишется следующим образом:

2 + 5 = 22/5, 6 + 4 = 22/5, + = 1.

 

Решая систему, состоящую из любых двух уравнений, взятых из последней системы, получим = 1/5, = 4/5.

Следовательно, решением игры примера 5.3 являются смешанные стратегии: U* = (2/5, 3/5), Z* = (1/5, 4/5), цена игры v = 22/5.

В 2005 году датская газета Politiken предложила своим читателям сыграть в следующую игру: каждый желающий мог прислать в редакцию действительное число от 0 до 100. Тот, чье число оказалось бы ближе всего к 2/3 от среднего арифметического присланных чисел, выигрывал 5000 датских крон (на тот момент около $800). Данная игра известна в теории игр под названием «угадать 2/3 среднего». Она демонстрирует разницу между абсолютно рациональным поведением и реальными действиями игроков. Представим себе, что все участники игры действуют полностью рационально и, что не менее важно, знают, что остальные также действуют рационально и не сговариваются друг с другом. Какое же число будет оптимальным в такой ситуации? Очевидно, что нет смысла называть числа большие чем 66.(6), т.к. среднее арифметическое не может быть больше 100. Но, если все игроки рассуждают подобным образом, то все числа будут не больше чем 66.(6), значит и среднее арифметическое не превысит этого числа, а значит называть больше чем 2/3*66.(6)=44.(4) снова нет смысла. Повторяя данное рассуждение бесконечно много раз, прийдем к выводу, что единственным правильным ходом будет число 0. Таким образом, если все игроки рассуждают рационально, то все они должны выбрать число 0. Однако в реальной жизни ситуация отличается. Даже если игрок рационален, он знает, что многие из его противников не рациональны, а значит ему придется учитывать, что их числа будут больше 0. Можно предположить, что большинство пришлет более-менее случайные числа, тогда средним будет 50, две трети от 50 приближенно равно 33. Если пойти дальше и предположить, что до числа 33 догадается достаточно много людей, то можно выбрать две трети от 33, т.е. 22. Дальнейшие итерации дадут ~15, ~10 и т.д., но кажется маловероятным, что так далеко будет просчитывать достаточно существенное число игроков. Вернемся к началу статьи. Какое же число выиграло в Дании? Ниже вы видите гистограмму игры, в которой приняло участие 19196 человек. Первое что бросается в глаза — ожидаемые пики в точках 22 и 33. Выигрышное число оказалось немногим меньше чем 22, скорее всего в результате того, что большинство участников поняли бессмысленность выбора чисел больше 66.(6). Любопытно, что нашлись те, кто прислал 67 и больше, включая 100. Интересно, они сделали это не стремясь выиграть или просто не понимали бесполезность такого хода? Еще интересно, руководствовались ли абсолютно рациональными рассуждениями те, кто прислали 0, или просто выбирали круглое число? Еще один любопытный момент: если в условии задачи ограничить выбор только целыми числами, то рационально-выигрышных стратегий становится две: 0 и 1. Дело в том, что из-за дискретности целых чисел, умножение на 2/3 не удастся повторить бесконечное число раз. Когда мы дойдем до 1, следующая итерация даст 2/3, но, округляя до целых, мы вновь получим 1. Предлагаю сыграть в игру на хабре. Присылайте мне по хабрапочте действительные числа от 0 до 100. Внимание: не пишите числа в комментариях, т.к. важной частью игры является незнание игроками чужих чисел. Я оглашу результаты, когда наберется достаточное количество голосов или пройдет длительный промежуток времени. У меня есть теория о том, каким будет выигрышное число, но я ее пока придержу :)