
Теория игр для начинающих
27 постов
27 постов
Всем привет! Я продолжаю свою серию постов по популяризации науки :) Пока я выкладываю материалы по теории игр.
Прошлые посты тут:
Игра с природой, или что такое математическое ожидание? : Часть 1, Часть 2
Сегодня, мы перейдём непосредственно к играм рациональных игроков.
Дилемма заключенного
Наверное, самая известная из модельных задач − так называемая «Дилемма заключённого». Она была формализована в 1950 году Альбертом Такером в Принстоне, но сформулирована ещё до него Мерриллом Фладом и Мелвином Дрешером.
Одна из её формулировок звучит следующим образом:
Дилемма заключённого. Окружной прокурор в городе Чикаго знает, что Франкенштейн и Дракула − гангстеры, которые являются виновными в совершении тяжкого преступления, но он не может уличить их в этом, если ни один из них не сознается. Он приказывает арестовать их и по отдельности (да они и так не смогли бы договориться) предлагает каждому следующий контракт:
Если Вы признаете вину, а ваш соучастник не захочет признаться, тогда вы идете домой и вообще свободны, ибо мы сможем забыть, что вы соучастник за ваше признание. Если вы не готовы признать вину, но ваш соучастник признает, то вы будете осуждены и приговорены к максимальному сроку в тюрьме. Если вы оба признаетесь, то вы оба будете осуждены, но не на максимальный срок. Если ни один не признается, то я ненадолго посажу обоих, а за что, уж будьте уверены --- найду.
Здесь речь идет о не очень честном прокуроре, который может сфабриковать дело, чтобы посадить этих персонажей в тюрьму.
При данном условии, Дракула и Франкенштейн играют в некую игру. Для каждого из них есть две стратегии: «Признать вину» и «Молчать».
Условимся записывать каждую возможную ситуацию, как пару выбранных стратегий, где на первом месте стоит выбор Франкенштейна, а на втором − Дракулы. Например, пара («Признать вину», «Молчать») означает, что Франкенштейн заложил Дракулу, который решил, что он добренький.
Так как сидеть в тюрьме, а, особенно, сидеть в тюрьме долго, никому не хочется, будем считать, что цель каждого игрока − минимизировать свой срок заключения. Срок будем записывать в виде чисел, обозначающих потерю очков.
Рассмотрим все возможные ситуации для того, чтобы составить так называемую платёжную матрицу данной игры. В каждой ячейке данной матрицы указана пара чисел, показывающая выигрыши игроков при выборе данной пары стратегий.
Допустим, Франкенштейн выбирает молчание, а Дракула признаётся, тогда Франкенштейна выставляют единственным виновным, и он получает максимальный срок в 10 лет. Мы записываем этот исход как −10 очков для Франкенштейна по стратегии («Молчать», «Признать вину»), и 0 очков для Дракулы по данной стратегии.
Если Франкенштейн признаётся, а Дракула молчит, то Франкенштейна отпускают − записываем Франкенштейну 0 очков по стратегии («Признать вину», «Молчать»), а Дракуле --- −10 очков.
Если же оба решат скрыть все свои тайны, получаем стратегию («Молчать», «Молчать»). По правилам, в таком случае окружной прокурор фабрикует какое-нибудь мелкое дело, и оба идут в тюрьму на 1 год. Записываем −1 очко каждому при данной стратегии.
Наконец, если оба признают вину, то и Франкенштейн и Дракула должны были бы сесть на 10 лет, но так как признание есть смягчающее обстоятельство, то оба в итоге получают по 9 лет. Запишем обоим −9 по стратегии («Признать вину», «Признать вину»).
Мы только что составили матрицу платежей. Сразу введём следующее определение.
Нормальная, или стратегическая форма игры − есть спецификация пространства стратегий и функций выигрышей каждого игрока на всех возможных стадиях игры. Таким образом, игра описывается её платёжной матрицей. Обе стороны матрицы − игроки. Стратегии первого игрока определяются строками, стратегии второго − столбцами, пересечение строк --- выигрыши игроков.
Заметим, что у нас есть проблема: ни Дракула не знает, какую стратегию изберёт Франкенштейн, ни Франкенштейн не знает, какую стратегию изберёт Дракула. Иначе они бы только глянули на соответствующую стратегии другого игрока строку или столбец и выбрали бы лучший исход из предлагаемых им.
В данной игре, на самом деле, всё просто − какую бы стратегию не выбрал соперник, признание всегда ведёт к максимизации очков. Но в таком случае, оба игрока признаются и оба попадут на нары на 9 лет, хотя могли бы оба смолчать и получить всего по 1 году заключения.
Как же так? Почему рациональные действия двух человек привели к настолько нерациональному исходу? А вот это и является дилеммой...
На самом деле, критикам теории игр вообще не нравится дилемма заключенного, потому что они видят, что и Дракуле, и Франкенштейну было бы лучше, если бы они оба молчали. Если бы вместо Франкенштейна поймали подругу Дракулу, Мину Харкер, возможно, они бы так и поступили, но, на самом деле, если люди не связаны до игры, поступки большинства из нас будут достаточно эгоистичными. Если вы посидите на ютубе, вы обнаружите, например, примеры телешоу, основанные на дилемме заключенного, например, шоу «Golden Balls ».
Одна из многочисленных попыток решить парадокс рациональности в дилемме заключенных − это использовать симметрию игры, рассматривая Дракулу и Франкенштейна как близнецов.
Это выглядит следующим образом:
Две рациональных человека, перед которыми стоит одна и та же проблема, придут к такому же выводу. Поэтому Дракула должен исходить из того, что Франкенштейн сделает такой же выбор, как и он. Поэтому либо оба идут в тюрьму на девять лет, или они оба идут в тюрьму на один год. Поскольку последний вариант является предпочтительным, Дракула должен молчать. Так как Франкенштейн его близнец, он будет рассуждать таким же образом и тоже будет молчать.
Но есть одна проблема: это, по сути, превращает данную игру в игру с одним игроком, то есть, дилемма перестаёт быть дилеммой как таковой. Дилемма как раз и заключается в независимости принимаемых игроками решений.
Всем привет! Продождаю свою работу по популяризации науки =)
Первая часть тут, спасибо читателям за полезные комментарии, особенно про понятие "мартингейл". Забавно, что во французском это именно общее название для выигрышных стратегий в азартных играх, а в русском та же статья на Вики уже немного не такое определение даёт, при этом в жизни многие имеют в виду вообще только алгоритм удвоения ставок в рулетке.
Сегодня мы как раз разберём этот алгоритм, но начнём с более житейского применения теории вероятности для споров.
Парадокс дней рождений
Как определить, является ли игра справедливой? Иногда интуиция нас подводит.
Например, я предлагаю всем вам, кто хотел бы рискнуть, поиграть в своем кругу друзей или в офисе в следующую игру: Если среди вас есть хотя бы два человека, у которых день рождения совпадает, то они угостят вас пиццей, иначе же вы купите им пиццу. Это пари справедливо или нет для вас? Давайте проверим.
Давайте посчитаем несколько вероятностей. Выведем формулу, показывающую вероятность того, что в группе из n людей имеется хотя бы одна пара с одинаковыми днями рождения.
Предположим, что существует 366 различных дней рождения и все они равновероятны (на самом деле рожденных 29 февраля в среднем должно быть меньше, чем рожденных 28 февраля, но здесь это пока не важно). Самый простой способ получить объявленный результат — вычислить вероятность того, что у каждого человека день рождения отличается от дня рождения других: противоположное тому, что мы ищем.
Мы можем действовать по индукции: таким образом, у первого человека есть 366 вариантов, у второго — 365, у третьего — 364, у четвертого — 363 и так далее. Здесь мы будем действовать путем подсчета, то есть мы посчитаем количество случаев, когда у n людей разные дни рождения, и разделим его на количество возможных вариантов. Для двух человек вероятность совпадения равна 1/366, следовательно, вероятность несовпадения − 365/366.
Будем добавлять по человеку в компанию и считать вероятность совпадения его дня рождения с уже рассмотренными --- ведь если дней рождения до сих пор не совпало, их можно считать «занятыми» и нас будут интересовать только «свободные». Когда пришёл третий человек, искомая вероятность несовпадения стала 365/366*364/366, так как было 364 «свободных» дня. Рассуждая подобным образом дальше, мы можем вывести формулу, определяющую вероятность несовпадения дней рождения ни для одной из пар в компании из n человек:
p=365/366*364/366∙∙∙∙∙(366-n)/366 .
Дело за малым. Нужно просто вычислять это выражение до тех пор, пока произведение дробей не станет меньше единицы. На компьютере это сделать легче лёгкого. Получается, что уже при n = 23 дробь меньше 1/2, так что, если в вашей группе есть хотя бы 23 человека, то игра уже выгодна для вас.
Можно ли выиграть у казино?
Давайте рассмотрим ещё один пример, на этот раз он связан с другой популярной игрой с природой --- рулеткой.
В интернете бывают все, всем приходили письма с предложением открыть секрет выигрыша в рулетку. Это могут быть не письма, а навязчивая реклама на сайте. Что же там предлагается, если мы предположили, что игра в рулетку несправедливая?
Игра во французскую рулетку заключается в бросании маленького шарика на колесо с 37 ячейками. Они пронумерованы от 0 до 36 (числа, образующие часть барабана), и покрашены красным и черным, за исключением нуля, который имеет зеленый цвет.
Игрок ставит определенную сумму М на одну из ячеек. Если шарик останавливается на ячейке с загаданным игроком числом, ему возмещается его ставка, увеличенная в 36 раз (тогда его выигрыш равен 35M = 36M − M), в противном случае он проигрывает (тогда его выигрыш равен −M = 0 − M).
Есть и другие варианты игры, например ставки на красное. Таким образом, когда шарик останавливается на ячейке с красным номером, ставка удваивается. Тогда вероятность выпадения на красную ячейку равна 18/37, на черную — также 18/37 и на ноль — 1/37.
Математическое ожидание выигрыша при ставке в один евро равно
E=18/37∙1+19/37∙(-1)=-1/37.
Как видим, в среднем мы заработаем отрицательную сумму. Действительно, несправедливая игра. Хорошо, но ведь есть и другие варианты? Можно поставить на конкретное число и вам выплатят выигрыш в 36 раз больший, чем ставка. Подсчитаем математическое ожидание выигрыша?
E=1/37 ∙35+36/37∙(-1)=-1/37.
Казино не обманешь, правила составлены именно таким образом, что математическое ожидание выигрыша для каждого из возможных вариантов игр в рулетку всегда ровно -1/37 от ставки.
Американская рулетка отличается от французской или европейской рулетки своим цилиндром, числа которого распределены по-разному и который имеет дополнительный номер: двойное зеро. То есть, правила там еще строже.
Давайте попробуем обмануть казино, воспользовавшись предлагаемым рецептом выигрыша. Для упрощения дальнейших выкладок положим невозможное: игра в рулетку − справедливая игра и математическое ожидание выигрыша равно нулю.
Итак, я первой ставкой назначаю один рубль и ставлю на красное. Если я выиграла, то выигрыш я откладываю на депозит в банке и больше его никогда не трогаю. Если я проиграла, то я ставлю два рубля опять на красное. При выигрыше выигранный рубль опять отправляется на депозит и я начинаю игру с самого начала. Я верю, что при любой сколь длинной серии обязательно выпадет красное, и тогда при такой стратегии, постоянно удваивая ставки при проигрыше и забирая деньги при выигрыше, я стану непобедимой. Права ли я?
Давайте посмотрим, чему равна вероятность выпадения чёрного цвета 20 раз подряд. Она будет равна (1/2)^20~10^(-6), то есть, примерно одной миллионной. Сколько денег я должна поставить очередной раз в этом случае? 2^20, то есть, примерно миллион рублей. Есть ли у меня такие деньги с собой? А если есть, то что же насчёт выпадения чёрного цвета 21 раз подряд? Это ведь уже примерно два миллиона? А 30 раз подряд? Это маловероятно, но ведь и проигрыш в этом случае получается астрономическим! Вторая проблема состоит в том, что в реальных казино максимальный размер ставок ограничен. Предположим, что больше миллиона рублей ставить нельзя.
Мы только что с ужасом наблюдали, как шарик 19 раз подряд выпал на чёрное, для того, чтобы отыграться (ну не может же он и 20-й раз выпасть на чёрное) мы должны поставить 1048576 рублей, но правила ограничивают нашу ставку до 1000000 рублей. Даже если мне повезёт (а игроки верят, что им обязательно повезёт), то мне выплатят 1000000 рублей, а ведь я поставила уже 1048576 рублей. Мой чистый проигрыш составил 48576 рублей, и мне, чтобы отыграться, нужно успешно сыграть 48576 раз. А теперь вспомним, что вероятность выигрыша отнюдь не 1/2, а 18/37...
Подсчёт показывает, что даже при справедливой игре (что невозможно) за 20 лет постоянной игры вероятность выигрыша составляла 99%, то необходимо иметь не менее 2^18= 262144 рублей карманных денег, выигрывая каждый день по рублю. Не проще ли было положить деньги в банк под самый минимальный процент? Или хотя бы найти работу?
Попытка добиться успеха в такой игре напоминает анекдот:
Посетитель официанту: сколько стоит одна капля коньяка?
Официант: нисколько.
Посетитель: тогда накапайте мне стакан.
Здесь срабатывает закон больших чисел. Ну а мы резюмируем, что в справедливой игре (а тем более в несправедливой) никакая стратегия не может привести к гарантированному выигрышу.
Всем привет ! Я решила немного повыкладывать научпоп, надеюсь, кому-нибудь зайдёт. Вначале будет немного математики, это самая скучная часть, но нужна будет, чтобы по-настоящему насладиться тем, что будет дальше. Это курс по теории игр для начинающих, который я в своё время вела на олимпиадных школах при физтехе (был жутко популярным), а потом сильно переработанный (и изданный в виде книги) читала и читаю во Франции на научпоп-лекциях. Итак, поехали !
Что такое случайность?
Все мы знакомы (ну или думаем, что знакомы) с таким понятием, как «случайность». Какое представление вы имеете о значении этого термина?
Самый распространенный ответ на этот вопрос: «Случайность случается, когда случаются неожиданные вещи». Что это за неожиданные вещи? Я думаю, вы и сами понимаете, что такое определение не имеет особого смысла. Вот определение, которое Аристотель дает термину «случайность»: «Когда этот случайный характер проявляется в фактах, произведенных с определенной целью, тогда мы говорим о действиях фортуны и случайности», но он утверждает, что «... является определенной причиной всего, что, как мы говорим, происходит случайно или по счастливой случайности».
Введём более формальное определение. «Случайность − это фактор, который определяет исход эксперимента из множества возможных исходов, известных заранее».
Но можем ли мы говорить о случайности, если мы не знаем заранее множество возможных исходов? Например, приходите вы на контрольную и получаете задачи. Являются ли они для вас случайными? А являются ли они случайными для вашего преподавателя? Подумайте об этом.
Случайность можно разделить на два различных типа:
Онтологическая случайность − случайность является частью бытия. Например, подбрасывание монетки можно отнести к данному типу случайности.
Эпистемологическая случайность −это случайность, которая возникает из-за незнания, невежества или невозможности понимания каких-то процессов, но на самом деле тут вполне всё предопределено.
Например, приходите вы в школу и выясняете, что сегодня у вас будет контрольная. Вам кажется, что это случайно, а на самом деле это было давно запланировано на педагогическом совете. Но вы об этом просто не знали.... Фраза «Случайности не случайны» − как раз об эпистемологической случайности.
Очень многие люди и по сей день, не говоря уже о более ранней поре, считали и считают, что онтологической случайности не существует, что вся случайность носит только эпистемологический тип. Большинство учёных от эпохи Просвещения до начала двадцатого века считали, что, возможно, мы просто не знаем, как именно что-то работает, но всё предопределено заранее. Течение, в котором утверждается, что всё предопределено, называется детерминизмом. На принципе детерминизма построена классическая физика, а вот в квантовой физике всё достаточно сложно, и философы, и физики пока сами не до конца определились. Например, Поль Тири д'Гольбах, ученый-материалист и философ немецкого происхождения и французского выражения (1723-1789), писал: «В пылевом вихре, поднятом стремительным ветром, каким бы беспорядочным он ни казался нашим глазам, в самой страшной буре, возбуждаемой встречными ветрами, возмущающими волны, нет ни одной молекулы пыли или пылинки, у которой нет достаточной причины, чтобы занять то место, где она находится, и которое не действует строго так, как должно действовать. Геометр, точно знавший различные силы, действующие в этих случаях, и свойства движущихся молекул, показал бы, что, согласно данным причинам, каждая молекула действует именно так, как должна действовать, и не может действовать иначе, чем она действует.».
Гольбах связывает причинности разной природы, в частности механическую модель, основанную на всеобщей связи движения, и химическую модель, основанную на сродствах и включающую в себя человеческие страсти и желания. Он утверждает основной принцип всеобщей необходимой причинности: каждое следствие имеет естественную причину. Таким образом, он настаивает на «простых и общих законах», потому что они предлагают постоянный, обнадеживающий и достаточный критерий против сверхъестественного. Особенно сильно данное мнение у дуалистов, утверждающих, что помимо материи существуют элементы метафизики, в том числе божественное начало. Очевидно, что случайность онтологическая абсолютно несовместима с принятием чего-то всемогущего и всезнающего.
Изучение философии, надеюсь, не пройдёт мимо вас − в большинстве высших учебных заведений она включена в программу, а в аспирантуре по любой специальности она вообще является основным предметом. Но добавлять в наш курс помимо математики, экономики и психологии ещё и философию было бы жестоко с моей стороны.
Что такое вероятность?
Никто не умеет предсказывать, упадёт монета, если её бросить, орлом, решкой или вообще ребром. Поэтому подбрасывание монеты так часто и используют для определения своего действия в спорной ситуации − например, идти ли на первый урок или остаться в постели.
Первое использование этой игры в такой форме датируется созданием металлических денег. Однако до этого существовали другие формы подобных «запросов к мирозданию», в которых использовались предметы с двумя выделенными сторонами, например, раковина. Тогда выбор был оставлен на волю случая. Даже сегодня, мы загадываем «орёл или решка, когда мы хотим оставить решение на волю случая, в зависимости от того, какая сторона монеты выпадет после подбрасывания.
В каких ситуациях мы бросаем монету? Когда хотим, чтобы за нас решила «судьба», то есть, чтобы одинаково вероятно нам попался любой из двух исходов (падение на ребро обычно исходом не считают и просто перебрасывают монетку). В таких случаях вероятность выпадения орла оценивают как один к двум, ещё зачастую говорят о процентном соотношении орлов и решек «50 на 50».
Сколько примерно орлов выпадет, если мы подбросим монетку 1000 раз? Вероятность выпадения одного орла необходимо умножить на количество действий, так как, можно сказать, что в каждом броске в среднем у нас выпадает «пол-орла». Тогда получим, что в среднем выпадет 1000/2=500 орлов.
Так что такое вероятность? Обычно в рамках школьной программы дают следующее определение:
Вероятностью называют отношение числа благоприятных исходов к общему количеству равновероятных исходов.
Что такое благоприятный исход? Например, выпадение орла при подбрасывании монетки. Общее количество исходов − это всё множество исходов − в данном случае «орёл и решка», то есть их два.
Зачем же в определении вероятности есть слово «равновероятных»? Может, стоит просто делить устраивающие нас исходы на их общее количество?
Данное определение можно проиллюстрировать следующим анекдотом:
Спрашивают блондинку: Какова вероятность того, что, выйдя на улицу, вы встретите динозавра.
Б: 50 процентов.
- Это как?????
Б: Ну, или я его встречу, или нет..
Тут каноническая блондинка как раз и поделила один благоприятный исход «встречи с динозавром» на возможные два исхода.
Ну вы уже поняли, что оно так не работает. Мало того, если монетку подпилить, то она перестанет быть идеально симметричной и вероятности выпадения орла и решки теперь могут перестать быть равными. Так, например, поступают мошенники.
Игры с природой
Одна из главных причин популярности, да и вообще возникновения и развития теории вероятностей --- это желание получить много денег сразу и без труда. Например, выиграть их в лотерею или в рулетку. Попытка найти закономерности и «обмануть систему» − это мощный стимул к развитию соответствующего математического аппарата.
Кажется, что если мы знаем законы вероятности и правила, управляющие случайностью, то можем выиграть в любой игре, то есть найдём некую выигрышную стратегию (называемую специальным термином «мартингейл»). На самом деле это несбыточная мечта, и мы собираемся это доказать.
Главное, что мы должны понимать --- игра является случайной, если игрок не может иметь вообще никакого влияния на исход игры. Например, шахматы неслучайны, преферанс не совсем случаен, а вот подбрасывание монеты, рулетка и даже русская рулетка --- игры случайные. Будем называть те игры, в которых важную роль играет случай, пусть и подчинённый неким математическим зависимостям, «играми с природой». Можно играть только с природой, подбрасывая монетку. Можно сыграть с кем-то и природой − например, в «дурака». Тогда, с одной стороны, карты вам раздала природа (или шулер, но мы верим в доброту и честность людей, и вообще, колода у нас своя), но действия второго игрока уже неслучайны.
Есть ряд игр, в которых игроку суждено только приобрести билет и после этого никакого участия он не принимает. Так обстоит дело, например, с простой лотереей. Игра в рулетку − пример другого класса игр, в которых игроку дают возможность выбрать ставку и тип игры. С математической точки зрения игра в рулетку не является справедливой, так как при любом типе игры в выигрыше всегда оказывается казино. А как мы определяем, справедливая ли игра? Для этого потребуется понятие математического ожидания, впервые введённого в 1670 году голландским математиком Яном де Виттом. Он опубликовал первый современный трактат об оценке пожизненной ренты с помощью математического ожидания (приведенной стоимости будущих платежей).
Математическое ожидание
Что же такое, это математическое ожидание? Представим, что мы играем в какую-либо игру. Пока нам не важно, игра это с природой или с другим соперником. Пусть это будет игра в кости с игральным кубиком. За право сделать бросок мы платим 10 рублей. Если в сумме брошенных двух костей выпадет 7 очков, то нам дают 50 рублей, если выпадет другая сумма − ничего не дают. Выгодна ли эта игра? Стоит ли принимать в ней участие?
В этой игре нужно посчитать вероятность выпадения ровно 7 очков в сумме на двух костях. Всего существует ровно 36 равновероятных событий (мы полагаем, что в этой игре организаторы не являются такими явными шулерами, что предлагают плохие кубики). Какие же это исходы ? 1 + 1, 1 + 2, 1 + 3, итд. Из них ровно 6 событий (1+6, 2+5, 3+4, 4+3, 5+2, 6+1) благоприятны. То есть, вероятность выигрыша равна 6/36 = 1/6 . Вероятность проигрыша, соответственно, равна 1 − 1/6 = 5/6.
Исход броска − случайная величина.
Случайная величина может принимать в результате эксперимента неизвестные заранее значения из заданного множества.
В нашем случае множество возможных значений броска каждой из костей нам известно --- это числа от 1 до 6. Нам неизвестно, какое же число выпадет после очередного броска, это − онтологическая случайность (если организаторы игры − шулеры, то для нас это было бы эпистемологической случайностью). Нас интересует средний выигрыш для одной игры.
Введём определение среднего выигрыша на более формальном языке:
Математическое ожидание случайной величины есть сумма произведения вероятностей появления всех возможных значений на величину этих значений.
В нашем случае при успехе мы выигрываем 50 рублей, сумма выигрыша равна 40 рублям, (не забываем, что мы уже 10 рублей отдали!), а при неуспехе − проигрываем 0 рублей, сумма выигрыша равна минус десяти рублям. Итого: E=1/6∙40+5/6∙-10=-10/6.
Математическое ожидание выигрыша в данной игре отрицательное, то есть, игра для нас невыгодна. Чем больше партий мы в неё сыграем, тем большим будет математическое ожидание выигрыша (по модулю), а, значит, тем больше мы проиграем.
Христиан Гюйгенс, со своей стороны, в «Du calcul dans les jeux de hasard» 1657 года интересовался суммой ставок, чтобы игра была честной. Он установил, что если в игре у нас есть вероятность p выиграть сумму a, и вероятность q выиграть сумму b, мы должны поставить сумму S = (ap+bq)/(p+q), чтобы игра была честной. Другими словами,
Если математическое ожидание выигрыша за одну игру равно нулю, игра считается справедливой.
Понятие математического ожидания − достаточно базовая вещь, которая используется далеко не только в теории игр, но об этом попозже.