Теория игр: важное начало для дальнейшего понимания
Теория игр – это набор инструментов, способствующих принятию обоснованных, логических и точных решений, а также помогают понимать данные. Чем больше информации об игроках и ситуации мы имеем, тем точнее можем провести анализ и сделать предсказание.
Сегодня мы начнем с простого введения – определим, что такое теория игр, зачем она
нужна и что она охватывает. Далее мы будем последовательно использовать эти знания на
практике.
Теория игр: что это?
Давайте подумаем о таком сценарии: утро в городе, всюду снег, вам нужно добраться в IT школу
GoMother. Есть два варианта: взять автомобиль или использовать общественный транспорт. Вы
знаете, что общественным транспортом вы точно доберетесь в школу за час: автобусы ездят
по расписанию, вы уже неоднократно пользовались этим маршрутом. Автомобилем можно
преодолеть расстояние вдвое быстрее, но это зависит от трафика – если пробки, можно потерять и
несколько часов.
Предположим, вы решили уехать на автомобиле. Вы примерно помните, где обычно
образуются пробки зимой, и вы выбираете маршрут, чтобы избежать их и прибыть вовремя.
Но, когда вы подъезжаете к необходимой улице, обнаруживаете, что и здесь уже образовалась пробка. Так сложилось, что многие выбрали такую же стратегию, как и вы, и пытаются обойти возможные
пробки через этот маршрут.
В этом случае вы не оказали влияния на выбор других водителей их маршрута. Однако их действия непосредственно повлияли на вас – вы попали в пробку. Они также не знали, что вы выбрали этот маршрут и принимали свои решения на основе собственных расчетов. Это, как автомобильный навигатор выбирает самый эффективный путь.
Из этого следует, что кто-то может выбрать старый маршрут, от которого вы отказались и не нарваться на пробки – из-за того, что пробки уже переместились в другие участки. Некоторые могут выбрать общественный транспорт, снизив трафик на дорогах, и это также помогает избежать пробок на предварительном маршруте. Другие могут вообще не ехать никуда, оставшись дома.
Основное мнение заключается в том, что разные решения разных людей в разных ситуациях имеют разное
влияние на нас. Это влияние также имеет обратный эффект – наши действия влияют на других. Иногда возможно предсказать, как выбор действий влияет на ситуацию. В этом и заключаеться суть теории игр.
Понятие игры
Автор теории игр – физик, математик и инженер Джон фон Нейман (в некоторых источниках –
Нойман). Он определял игру, подразумевая ситуацию, где выполняются следующие условия:
- В ней есть по крайней мере два участника.
- У каждого участника есть свой интерес.
- У каждого участника есть несколько вариантов действий.
- Каждый принимает решение на основе информации о действиях других.
- Есть общие правила, известные всем. Они могут изменяться, сокращаться или расширяться, но становятся известны всем достаточно быстро.
С этой точки зрения большинство наших бытовых ситуаций подвергается влиянию теории игр. Даже
обычные переговоры по заработной плате или тому, где провести отпуск, подлежат воздействию
теории игр.
Сначала Джон фон Нейман исследовал покер как игру и пытался найти универсальные стратегии, которые приводили к победе (отсюда и название теории). Но затем он расширил применение своей теории на все подобные ситуации, где поведение одного участника влияет на его позиции и поведение других.
Теория игр: стратегия
Теория игр заключается в поиске максимально выгодной стратегии для конкретного игрока. Стратегия – это последовательность действий: что он делает и какие сообщения он посылает другим игрокам. В некоторых играх победить невозможно, и в таком случае лучшей стратегией будет проиграть с наименьшими потерями или оставаться в игре как можно дольше. Такую стратегию имеют онлайн-шутеры, где игровое поле постоянно сжимается.
Мы в основном будем говорить о стратегиях победы, но одновременно будем рассматривать и другие результаты. Задача аналитики данных в этом случае – собрать информацию обо всех игроков и их стратегии и понять, какая стратегия лучше всего подойдет для нас.
Виды различных игр
В зависимости от поведения участников и правил, регулирующих игру, можно распределить игры на несколько разных категорий. Эти категории могут взаимодействовать и переплетаться друг с другом.
Игры с нулевой и ненулевой суммой
В играх с нулевой суммой победа одного участника означает поражение другого и наоборот. В играх с ненулевой суммой, победа одного участника не обязательно приводит к поражению другого. В таких играх возможно, что все участники получают свой выигрыш.
Кооперативные и некооперативные игры
В кооперативных играх участники могут совместно действовать, чтобы добиться наилучших результатов и координировать свои действия. Однако это сотрудничество не является постоянным, и любой игрок может в любой момент выйти из такой коалиции и играть самостоятельно.
Симметричные и ассиметричные игры
В симметричных играх каждый участник имеет одинаковый набор стратегий, тогда как в асимметричных играх могут быть разные наборы стратегий для разных игроков.
Игры с полной или неполной информацией
В играх с полной информацией каждый игрок знает все возможные стратегии других участников и могут делать выводы на их основе. В играх с неполной информацией никто не знает, какую стратегию избрал другой игрок. Наш пример с пробками на дорогах относятся к играм с неполной информацией.
Параллельные и последовательные игры
В последовательных играх участники действуют поочередно (не обязательно по порядку, но в один ход действует только один игрок). В параллельных играх все игроки действуют одновременно и не знают о действиях других до тех пор, пока они не совершили свои действия. Пример с дорогой до школы есть примером параллельной игры.
Применение игр в математике
Теория игр использует сложный математический аппарат. Это означает, что для каждой игры
можно создать симуляцию или модель и рассмотреть различные возможные результаты при разных
стратегиях игроков. Некоторые стратегии имеют математическое подтверждение, в то время как другие
основаны на вероятностях успеха при выборе определенной стратегии.
В нашем случае это полезно, поскольку для более простых игр мы можем создать алгоритм и
сразу проверить его на практике — симулировать поведение разных игроков и проанализировать,
к какому результату это приведет. Это мы также более подробно рассмотрим в следующих
статьях. Для этого нам понадобится язык программирования Python – универсальный инструмент
для построения разных моделей. Если вы еще не знакомы с языком программирования Python — наша
школа предлагает курс по изучению этого языка с нуля.
Области применения теории игр
Теория игр находит применение практически во всех областях жизни:
- в экономике – при выборе партнеров для торговли и заключения сделок;
- в переговорах – для определения стратегий договоренности и условий сотрудничества;
- в математике – существует отдельный раздел, посвященный комбинаторным играм;
- в политике – при принятии решений на основе действий других государств;
- в повседневной жизни – когда нужно решить задачи на основе неполной информации;
- в видеоиграх – для поиска самых эффективных стратегий.
Что дальше?
В следующий раз мы исследуем проблему заключенного – этот пример часто используется
для демонстрации принципов теории игр в реальной жизни Это не единственный пример, но наиболее
известный. Мы рассмотрим, как этот пример функционирует в теории, и попытаемся симулировать
его на практике – напишем программный код и определим оптимальную стратегию. Так что
следите за нашим сайтом, а также подписывайтесь на наши социальные сети!