Одно из изданий этой механики
Есть колода из 100 карт с натуральными числами от 1 до 100, каждого по одному. Вы и второй игрок берёте по 3 карты из этой колоды. Задача — одну за одной выложить их на стол в порядке возрастания. Но нельзя меняться информацией между собой и показывать карту до момента, пока она не будет положена на стол. То есть нельзя говорить, стучать по столу, подмигивать и так далее — ничего нельзя.
Если в конце игры 6 карт выложены правильно, оба игрока выигрывают. В момент, когда первая же карта ложится неправильно — оба игрока проигрывают.
Ваша задача — выиграть в этой игре. С вами играет человек, которого вы до этого не видели. Возможно, он даже не говорит на известных вам языках. Но он точно землянин. И он с большой вероятностью уже пробовал играть в эту игру с другими людьми сегодня. Какова ваша стратегия?
Не спешите под кат, сначала подумайте чуть-чуть, пожалуйста.
Сначала смотрим на транзакции и доступную информацию:
- Есть акт выкладывания карты — это, фактически, передача информации о том, что «это карта минимальная из тех, что у меня на руке, и я считаю её минимальной в принципе».
- Есть невыкладывание карты: это значит, что «я колеблюсь относительно гипотезы минимальности значения карты». Невыкладывание карты — это функция времени, то есть паузы между действиями тоже передают значимую информацию.
- Есть визуальное расположение карты на руке — откуда именно из этих трёх карт она тащится. Скорее всего, эта информация пока шум, но она есть.
Теперь мы должны подумать о том, как правильно действовать в этой игре. Предположим, у вас есть карты:
11, 47, 93
На столе, фактически, лежит карта 0 (только её не видно), что позволяет нам уравнять первый ход с другими по условиям матмодели.
Карты оппонента мы не знаем.
Первое приближение
Первая стратегия — выкладывать карты по очереди со вторым игроком. По мере возрастания. В целом, учитывая распределение, это будет иметь какой-то смысл (по крайней мере, лучше, чем случайные действия).
Но в случае, если у второго игрока в руках набор вроде 5, 33, 41, естественно, это не сработает.
Второе приближение
Разбиваем интервал от 1 до 100 на 6 частей по количеству карт, получаем 16,(6). Считаем, что каждая следующая карта должна ложиться в этот интервал и кладём её, если она ложится, и не кладём, если нет. Если у нас две карты ложатся в этот интервал — кладём обе подряд.
Третье приближение
Начинаем считать матожидание появления следующей карты. Это значит, что чем больше интервал между нашими картами в руке, тем меньше вероятность выкладывания следующей карты с нашей стороны. Мы не выкладываем свою карту, если вероятность показывает, что действие должен сделать второй игрок.
Все три метода страдают очевидными недостатком: они не гарантируют победу.
Четвёртое приближение
Тут нам впервые начинает быть нужна помощь второго игрока. Мы должны залезть ему в голову и попытаться понять, как мыслит он. Скорее всего, он полуинтутивино или сознательно придёт к чему-то подобному — если непохоже, что карту надо выкладывать, то он будет ждать. Если похоже, то выложит сразу.
Например, если на столе карта 45, а у него есть карта 46 — очевидно, что он сделает это почти мгновенно.
Если мы положили 45, а у него есть 47 — тоже очевидно, что он сделает это мгновенно, потому что если бы у нас была 46, мы бы её сразу же и положили за 45.
Если у нас есть 48, а он не выложил 47 сразу — значит, можно класть 48.
Если он видит, что мы не выложили 48, а у него есть 49, то он кладёт её.
То есть дальше задача превращается в измерение функции времени между выкладкой карт. Но есть важный переход к тому, почему именно так.
Переходим к взаимодействию игроков
Когда игроки не могут меняться информацией, в действие вступает интересная часть теории игр. Теория игр вообще странная штука, которая предполагает, что вокруг вас только и исключительно рациональные люди. И землянин, который играет с вами, тоже рациональный.
Теория игр предлагает следующий вариант: предположим, что вы могли бы договориться до игры. Как бы вы оба оптимально действовали?
А прикол в том, что рациональные люди при одних и тех же исходных данных не нуждаются в диалоге, чтобы договориться. Они могут точно предсказать действия друг друга.
То есть вопрос «о чём бы мы договорились» равен в этой ситуации вопросу «как бы вы оба оптимально действовали в принципе, если бы знали, что другой игрок тоже будет оптимально действовать?»
Цель-то у игроков одна.
Скорее всего, мы бы начали отсчитывать секунды от выкладки последней карты. Каждая новая означала бы, что наши следующие карты довольно дальше и дальше от последней выложенной. В идеальном случае если бы наша карта была на 15 единиц больше последней, а карта второго игрока — на 20 единиц, то мы бы выкладывали на 15-й секунде, а он бы — на 20-й секунде.
Что приводит нас к модели, когда можно играть вслепую и вообще без игроков. Раз уже мы решили считать секунды между выкладкой карт на то, чтобы давать шанс другому игроку сходить, то зачем останавливаться? Модель в финале на любое количество игроков выглядит так: каждый про себя отсчитывает время и выкладывает карту на текущем номере секунды. На 17-й секунде надо выложить карту 17, если она есть. И так далее. Для этого даже не нужно видеть никакие другие действия игроков. И даже знать, сколько их.
Так вы будете выигрывать всегда и гарантированно. Есть другие оптимальные стратегии, но они, в целом, слабее.
Почему такт — это секунда? Потому что мы с некоторой натяжкой пользуемся общим для землян фреймворком. Это может быть и день, и минута, но, согласитесь, это куда менее вероятно в общей ситуации.
Понимаете, что только что случилось? Мы создали в голове второго игрока, договорились с ним — и если он рационален, то он настоящий это понял и действует именно так, как договорено. Потому что он сделал то же самое — создал у себя в голове нас, договорился с нами и начал действовать.
То есть знание, что все в игре рациональны позволяет договариваться без передачи информации. Потому что есть чёткий критерий, к какой стратегии нужно идти.
Конечно, тут есть очевидная проблема.
Чуть в сторону от рационализма
Проблема в том, что игроки нерациональны. Люди вообще нерациональны, смиритесь с этим.
Мы играли в компании в игру «Загадай число от 1 до 100, и если оно будет равнятсья половине от среднезагаданного, ты выиграешь». Замрите на секудну и загадайте число, предполагая, что с вами играет весь Хабр, включая маркетологов, которые публикуют посты в корпоративных блогах.
Готово?
А прикол в том, что мы не знаем, станет ли кто-то так думать в принципе среди игроков. Нам нужен прогноз доли игроков, которые будут пользоваться такой стратегией. Ну и мы не знаем, сколько итераций в размышлениях игрок пройдёт. И мы даже не знаем, как умный игрок оценивает способность других игроков думать. То есть нам нужна поправка на то, что даже полностью рациональные люди внесли поправки на нерациональных.
В эту игру несколько раз играли в газетах. Обычно на практике результат (число, которое надо было загадывать) бывает в районе 4-15. Наше среднее было 16, то есть нужно было загадать 8, чтобы выиграть. У нас первый же игрок загадал 92. Я на него рассчитывал и полагался, зная результаты двух его последних переговоров.
Я в этой ситуации повёл себя неправильно с точки зрения теории, но выиграл. Причина — у меня был более реалистичный прогноз, чем тот, что даёт рациональная теория игр.
Поэтому следующий слой рационализма в игре в телепатию — предположить, насколько наш второй игрок способен повторить те же вычисления и скорректировать свою стратегию по этому. Например, скорее всего, может сложиться так, что он интуитивно поймёт разницу во времени, но не сможет разделить случаи с интервалом в 20 или 30 единиц от выложенной карты. Придётся подстраиваться придётся на лету во время игры — по его ходам. Скорее всего, нам придётся выравниваться под его масштаб времени (нелинейную шкалу, похожую на квадратичную). Его нерациональные действия снизят наши общие шансы на победу, но наши действия помогут выправить то, что получится.
Разумеется, если бы мы ему объяснили про секунды, он бы понял и согласился (в подавляющем числе случаев). Но просто он может не понять. Или посчитать тактом что-то другое. Или в его культурном коде нет понятия времени. Или оно не такое, как у нас. Такова жизнь. Но мы сделали, что смогли, и пары с нами будут выигрывать чуть чаще, чем пары из двух нерациональных людей.
Возможно, если мы поймём, что он полностью неадекват, нам нужно будет переключить стратегию на расчёт матожидания его карты и своей карты.
Механика имеет несколько практических приложений. Например, если на игротеке отрубают свет, у аниматоров есть аварийная фишка: включить фонарь, сообщить всем, что сейчас фонарь выключится, и нужно по очереди досчитать до ста (это примерно половина от участников). Каждый может кричать только одно число один раз. Если сбились или выкрикнули одновременно два голоса — надо начинать с самого начала. Потом выключить фонарь, крикнуть «один» и пойти выяснять, что происходит. Обычно питание удаётся восстановить куда раньше, чем игроки досчитают. А поскольку им объяснили, как играть, мало кто пугается.
Автор: Сергей Абдульманов