Введение

Математическая игра на бумаге и карандаше

Sprouts – это беспристрастная игра на бумаге и карандаше, математические свойства которой можно анализировать. Она была изобретена математиками Джоном Хортоном Конвеем и Майклом С. Паттерсоном в Кембриджском университете в начале 1960-х годов. Подготовка к игре еще проще, чем в популярной игре "точки и квадраты", но игровой процесс развивается гораздо более художественно и органично.

Правила

В игру играют два игрока, начиная с нескольких точек, нарисованных на листе бумаги. Игроки ходят по очереди, и каждый ход состоит в том, чтобы нарисовать линию между двумя точками (или от точки к самой себе) и добавить новую точку где-нибудь на этой линии. Игроки ограничены следующими правилами: линия может быть прямой или изогнутой, но не должна касаться или пересекать сама себя или любую другую линию. Новую точку нельзя размещать на одной из конечных точек новой линии. Таким образом, новая точка разделяет линию на две более короткие линии. Ни одна точка не может иметь более трех присоединенных к ней линий. Для целей этого правила линия от точки к самой себе считается двумя присоединенными линиями, а новые точки считаются имеющими две линии, уже присоединенные к ним. Нельзя коснуться одной точки дважды одной линией, а затем соединить ее с другой точкой. В так называемой нормальной игре побеждает игрок, сделавший последний ход. В игре мизер проигрывает игрок, сделавший последний ход. Misère Sprouts – пожалуй, единственная мизер-комбинаторная игра, в которую соревнуются на организованной площадке. Диаграмма справа показывает игру на 2 точки в обычной игре Sprouts. После четвертого хода большинство точек становятся «мертвыми» – к ним прикреплены три линии, поэтому их нельзя использовать в качестве конечных точек для новой линии. Есть две точки (показаны зеленым цветом), которые все еще «живы», поскольку к ним прикреплено менее трех линий. Однако сделать следующий ход невозможно, потому что линия от живой точки к самой себе создаст четыре соединения, а линия от одной живой точки к другой пересечет другие линии. Следовательно, пятый ход невозможен, и первый игрок проигрывает. Живые точки в конце игры называются «выжившими» и играют ключевую роль в анализе Sprouts.

Количество ходов

Игра в Sprouts всегда заканчивается, хотя этот факт не следует из правил игры, поскольку число точек увеличивается с каждым ходом. Чтобы понять, почему игра всегда завершается, следует рассматривать количество жизней (возможностей провести линию) вместо количества точек. Тогда можно показать, что если игра начинается с n точек, она закончится не более чем за 3n - 1 хода и не менее чем за 2n ходов. В последующих доказательствах предполагается, что игра начинается с n точек и продолжается ровно m ходов.

Максимальное количество ходов

Каждое место начинается с трех жизней, и каждый ход уменьшает общее количество жизней в игре на единицу (две жизни теряются на концах линии, но новое место получает одну жизнь). Таким образом, в конце игры остаётся 3n − m жизней. Каждое выжившее место имеет только одну жизнь (иначе был бы ещё один ход, соединяющий это место с самим собой), поэтому выживает ровно 3n − m мест. Должен быть хотя бы один выживший, а именно место, добавленное в последнем ходе. Следовательно, 3n − m ≥ 1; значит, игра может длиться не более 3n − 1 ходов. Эта верхняя граница фактически является максимальной, и её можно достичь многими способами, обеспечивая наличие только одного выжившего в конце игры. Например, в игре, показанной справа, есть один выживший и 3n − 1 ход.

Минимальное количество движений

В конце игры мертвое место называется соседом выжившего, если оно либо смежно с этим выжившим, либо, если у выжившего есть петля, оно смежно с местом, смежным с выжившим. Это иллюстрируется на диаграмме справа. У каждого выжившего ровно два мертвых соседа. Ни одно мертвое место не может быть соседом двух разных выживших, иначе бы существовал ход, соединяющий этих выживших. Все остальные мертвые места (не являющиеся соседями выживших) называются фарисеями (от еврейского слова, означающего "отделенные"). Предположим, что фарисеев p. Тогда, поскольку начальное количество мест + количество ходов = общее количество мест в конце игры = количество выживших + количество соседей + количество фарисеев. Перегруппировав, получим:

Следовательно, игра длится не менее 2n ходов, и количество фарисеев делится на 4. Эта нижняя граница длины игры является минимальной. Диаграмма справа показывает завершенную игру, состоящую из 2n ходов. В ней n выживших, 2n соседей и 0 фарисеев.

Значение в реальных играх

Реальные игры, кажется, превращаются в борьбу за то, чтобы количество ходов было равно k или k + 1, при этом другие варианты крайне маловероятны. Один игрок стремится создавать замкнутые области, в которых находятся выжившие (тем самым сокращая общее число ходов, которые будут сделаны), а другой – создавать "фарисеев" (тем самым увеличивая число ходов, которые будут сделаны).

Выигрышные стратегии

Поскольку Sprouts — это конечная игра, в которой ничья невозможна, идеальная стратегия существует либо для первого, либо для второго игрока, в зависимости от количества начальных точек. Основной вопрос, касающийся данной начальной позиции, заключается в определении того, какой игрок может обеспечить победу при безупречной игре. Если выигрышная стратегия есть у первого игрока, то говорят, что исход позиции — "выигрыш", а если у второго игрока — то исход позиции — "проигрыш" (поскольку это проигрыш с точки зрения первого игрока). Исход определяется путем построения игрового дерева начальной позиции. Это можно сделать вручную только для небольшого числа точек, а все новые результаты, полученные после 1990 года, были получены в результате масштабного компьютерного поиска.

Нормальная версия

В книге «Winning Ways for your Mathematical Plays» сообщается, что игра с 6 фишками в нормальной позиции была доказана как выигрышная для второго игрока Денисом Моллисоном, посредством ручного анализа объёмом 47 страниц. Этот результат долгое время оставался рекордным, пока в 1990 году в Университете Карнеги-Меллон Дэвид Апплегейт, Гай Джейкобсон и Дэниел Слейтор не провели первый компьютерный анализ. Им удалось исследовать позиции с количеством фишек до 11, используя лучшее доступное на тот момент оборудование. Апплегейт, Джейкобсон и Слейтор обнаружили закономерность в полученных результатах и выдвинули предположение, что у первого игрока есть выигрышная стратегия, если число фишек при делении на шесть даёт остаток 3, 4 или 5. Математически это означает, что закономерность, демонстрируемая результатами в приведенной ниже таблице, повторяется бесконечно с периодом в шесть фишек.

Фишки 0 1 2 3 4 5 6 7 8 9 10 11
Нормальный исход Проигрыш Проигрыш Проигрыш Выигрыш Выигрыш Выигрыш Проигрыш Проигрыш Проигрыш Выигрыш Выигрыш Выигрыш

В 2001 году Риккардо Фокарди и Фламина Луччо описали метод ручного доказательства того, что нормальная игра с 7 фишками является проигрышной. В 2006 году Джош Джордан расширил результаты вычислений до 14 фишек. В 2007 году Жюльен Лемойн и Саймон Вьенно разработали алгоритм, основанный на понятии ним-чисел, для ускорения вычислений и достигли 32 фишек. В 2011 году они расширили вычисления до 44 фишек, а также исследовали три изолированные начальные позиции с 46, 47 и 53 фишками. Результаты нормальной игры, полученные на данный момент, полностью согласуются с гипотезой Апплегейта, Джейкобсона и Слейтора.

Версия Мизера

История вычислений для мизэрной версии Sprouts очень похожа на историю вычислений для обычной версии, с участием тех же исследователей. Однако мизэрная версия сложнее в вычислениях, и прогресс был значительно медленнее. В 1990 году Апплегейт, Джейкобсон и Слейтор достигли девяти точек. На основании их результатов они предположили, что исход подчиняется регулярному паттерну с периодом пять. Однако это предположение было опровергнуто в 2007 году, когда Джош Джордан и Роман Хорков расширили анализ мизэрной игры до 12 точек: игра в 12 точек в мизэрной версии является выигрышной, а не проигрышной, как предполагалось. Та же команда достигла 16 точек в 2009 году. В том же году Жюльен Лемойн и Саймон Виенно достигли 17 точек, используя сложные алгоритмы. Им удалось расширить свой анализ до 20 точек в 2011 году. В настоящее время считается, что результаты мизэрной игры следуют паттерну длиной шесть с некоторыми исключениями: первый игрок выигрывает в мизэрных Sprouts, когда остаток от деления на 6 равен нулю, четырем или пяти, за исключением того, что первый игрок выигрывает в игре в одну точку и проигрывает в игре в четыре точки. Таблица ниже показывает этот паттерн, где два нерегулярных значения выделены жирным шрифтом. Точки 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Исход мизэрной игры Выигрыш Выигрыш Проигрыш Проигрыш **Проигрыш** Выигрыш Выигрыш Проигрыш Проигрыш **Проигрыш** Выигрыш Выигрыш Выигрыш Проигрыш Проигрыш Проигрыш