Теория игр

Теория игр  —  это область математического знания, изучающая принятие решений среди соревнующихся игроков. Она была впервые сформулирована математиком Джоном фон Нейманом и экономистом Оскаром Моргенштерном в 1940-х годах. Она была названа теорией игр, так как попыталась объяснить стратегии двух или более игроков в данной ситуации. В теории игр взаимодействие между двумя или более игроками обычно определяется в рамках игры с особым набором правил. Это относится к играм с нулевой суммой, что означает выигрыш одного игрока и проигрыш всех остальных. С помощью явления игры можно смоделировать многие явления в психологии, эволюционной биологии, войнах, политике, экономике, бизнесе, информатике. Таким образом, теория игр имеет очень широкую сферу применения. Она подразумевает 4 главных элемента:

  • Игрок: стратегическое лицо, принимающее решения.
  • Стратегия: правила, применимые к конкретной игре.
  • Исход: результат после принятия решения.
  • Равновесие: та точка, когда оба игрока приняли решения, и не могут сделать другой ход.

В теории игр есть две основные категории: кооперативная и некооперативная


Некооперативная

Некооперативная игра  —  это соревнование среди отдельных игроков, в которой есть несколько победителей и несколько проигравших. Самый известный пример некооперативной теории  —  это дилемма заключённого.

Имеется двое заключенных, которых зовут Джон и Алекс. Их арестовали и посадили в 2 отдельные комнаты так, что они не могут друг с другом общаться. Возможные исходы:

  • Если Джон и Алекс свалят вину друг на друга, то каждому присудят по два года тюрьмы
  • Если Джон обвинит Алекса, а Алекс сознается, то Джона освободят, а Алексу присудят три года тюрьмы
  • Если сознается Джон, а Алекс обвинит Джона, то Джона приговорят к трем годам лишения свободы, а Алекса освободят
  • Если и Алекс, и Джон сознаются, то обоим присудят по одному году заключения

В дилемме заключенного Алекс и Джон выбирают стратегию: обвинить или сознаться. В общей сложности эти варианты дают четыре комбинации, каждая из которых соответствует исходу. Таким образом, мы можем проиллюстрировать матрицу исходов (также называемых платежами) для каждой комбинации стратегий:

Нужно подчеркнуть, что у Джона и Алекса нет других инструментов, чтобы вознаградить или наказать партнера, кроме полученных ими тюремных сроков. Также принятые ими решения не отразятся на их репутации в будущем. Так как обвинить партнера  —  стратегия, которая обеспечит больший платеж, чем признание, все более или менее рациональные и заинтересованные в своей выгоде заключенные выберут вариант “обвинить партнера”, что означает единственный возможных для них обоих вариант: обвинить друг друга. Рассуждения основаны на дилемме:

  • Алекс признается или обвинит Джона.
  • Если Алекс признается, Джон должен обвинить Алекса, потому что свобода лучше одного года заключения.
  • Если Алекс обвинит Джона, то Джону тоже целесообразно обвинить Алекса, потому что срок в два года меньше, чем в три. Таким образом, Джону тоже стоит обвинить Алекса. Параллельные рассуждения говорят о том, что Алексу тоже целесообразно обвинить Джона.

Так как стратегия “обвинить” всегда дает лучший результат, чем “сознаться”, независимо от выбора другого игрока, она является доминирующей стратегией. Единственное равновесие Нэша (набор стратегий, для которых ни один из игроков не может улучшить свой исход, сменив стратегию)  —  это взаимное обвинение. Дилемма состоит в том, что хотя взаимное признание дает лучший результат, чем взаимное обвинение, оно не является рациональным результатом, так как выбор признания с точки зрения личной выгоды нерационален. Это некооперативная игра, так как все игроки выиграют, если нанесут другому удар в спину. Дилемма заключенного применима ко многим проблемам реального мира. Когда вы соревнуетесь с другими, наилучший выход — выбрать действие, наиболее выгодное для вас, вне зависимости от того, что выберут другие.


Кооперативная

В кооперативной теории игр каждый игрок выражает согласие работать вместе над общей целью. Принято называть группу коалицией, так как ее участники работают совместно в кооперации. Задачей кооперативной игры является определить то, какой вклад вносит каждый игрок и какую он должен получить от этого отдачу. Говоря простым языком, теория пытается определить, насколько честными являются условия. Если некооперативная игра определяется равновесием Нэша, то кооперативную можно описать с помощью вектора Шепли, который делит прибыль и затраты между игроками, основываясь на вкладе, который они внесли в коалицию. Это работает путем удовлетворения следующих аксиом:

Маржевой вклад. Вклад каждого игрока можно определить, убрав его из коалиции. Предположим, целью коалиции является произвести столько напитков, сколько возможно. Если из коалиции убрать Джона, то коалиция произведет на 100 напитков меньше, чем в день, когда Джон в ней состоял. Таким образом, маржевой вклад Джона равен 100.

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

У фиктивного игрока нулевая ценность. Если игрок в коалиции не вносит никакого вклада, его вознаграждение также должно быть равно нулю. Если вы посетите ресторан с другом и ничего не закажете, вы не будете оплачивать никаких счетов за то, что даже не попробовали еду.

В игре, состоящей из множества частей, затраты и платежи должны быть распределены по этим частям. Если в понедельник вы производили минеральную воду, а в пятницу — красное вино, то ваш заработок за пятницу должен быть выше, чем за понедельник. Говоря простым языком, нечестно каждый раз использовать одно и то же решение. Таким образом, коалиции следует регулярно пересматривать суммы, чтобы вносить изменения.

Если все вышеизложенные условия выполнены, то вектор Шепли для игрока i в коалиционной игре можно вычислить по следующей формуле:

Где:

  • N — суммарное число участников, и сумма распространяется на все подмножества S из N, за исключением игрока i
  • S — это подмножество N
  • v(S) — это ценность для коалиции S

Таким образом, это можно интерпретировать как:

Чтобы упростить, представьте, что вы работаете один, чтобы произвести 10 напитков в час, пока ваш друг производит 20 напитков в час. Затем вы решаете работать совместно. Разделив задачи, вы работаете над упаковкой, пока ваш друг трудится на кухне. Оказывается, что вместе вы можете произвести 40 напитков в час. Скажем, один напиток стоит 1 рубль. Так как же разделить прибыль?

Вы производите 10 напитков в час, и, если вычесть это количество из общей суммы, то получится 40–10 = 30. Вот, что произойдет, если вы исключите из коалиции вашего друга. Таким образом, маржевой вклад вашего друга равен 30. Ваш друг производит 20 напитков в час, вычтем это количество из общей суммы: 40–20 = 20. Это ваш маржевой вклад. Если вы можете сделать 10 напитков в час, и ваш маржевой вклад равен 20, то, в соответствии с вектором Шепли, нужно найти среднее между этими величинами. Таким образом, ваше вознаграждение должно быть (20+10)/2 = 15. Ваш друг может сделать 20 напитков в час, и его маржевой вклад равен 30. Его вознаграждение должно быть (20+30)/2 = 25. Таким образом, из 40 рублей вам полагается 15 рублей, а вашему другу  —  25.


Заключение

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

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Luthfi Ramadhan: Game Theory

Предыдущая статьяСтруктурированное логирование JSON в приложениях на Golang
Следующая статьяГенерация API-документации из docstrings на Python