Как уже предлагалось ранее, будет удобно сыграть несколько партий самому, чтобы попытаться определить выигрышную стратегию для одного из игроков и понять, как эта игра связана с предыдущей. Будем анализировать игру следующим образом: если проигрывает тот, кто напишет 100, выигрывает тот, кто напишет 99. Какое число нужно написать до этого, чтобы гарантированно получить 99 на следующем ходу? Это 88, так как в этом случае противник напишет любое число между 89 и 98, после чего первый игрок легко получит 99. Как и в прошлой игре, продолжая подобные рассуждения (перейдя к числу 88, затем 77, 66, ..., 11), мы увидим, что на этот раз нужно формировать группы по 11. Теперь нам известна выигрышная стратегия: тот, кто первым записывает 11 и последующие числа, кратные 11, первым получит 99 и выиграет. Если противник прибавляет n, нужно прибавлять 11 - n. Так как на первом ходу первый игрок не может получить 11, а второй может, это означает, что существует выигрышная стратегия для второго игрока. Как и в прошлой игре, при изменении конечного числа будет выигрывать первый игрок, если это число не будет кратно 11. Если это число будет делиться на 11, всегда будет побеждать второй игрок.
Допустим, что на столе m фишек и каждым ходом можно брать от 1 до n фишек (n < m). Выигрывает тот, кто забирает последнюю фишку. Для какого из игроков существует выигрышная стратегия — для первого или второго? В чем она заключается? Если игрок, взявший последнюю фишку, будет проигрывать, как изменится стратегия?
Речь идет не об одной игре, а о группе абстрактных игр. Две предыдущие игры — ее частные случаи. Следовательно, выигрышная стратегия для этой игры — это общая стратегия, которая применима к бесконечному множеству аналогичных игр. Эта стратегия формулируется так. Поделим m на n + 1 и определим остаток от деления. Он будет находиться в интервале от 0 до n. Возможны два случая:
1. Остаток от деления равен 0. В этом случае существует выигрышная стратегия для второго игрока, который должен оставлять на столе число фишек, кратное n+1. Для этого на каждом ходу, если первый игрок берет p фишек (0
2. Остаток от деления равен r(0
Это общее решение применимо к бесконечному множеству игр. Читатель может применить его для такой игры: на столе 2010 фишек, на каждом ходу можно брать от 1 до 49 фишек. Для какого игрока существует выигрышная стратегия? В чем она заключается? Если мы изменим правила и тот, кто берет последнюю фишку, будет проигрывать, то достаточно заметить следующее: для победы будет достаточно взять предпоследнюю фишку, оставив на столе всего одну. В этом случае стратегия не изменится, просто нужно будет учесть, что число фишек равно m - 1, а не m.
Все подобные игры, в которых используется только одна группа фишек, можно считать упрощенными вариантами игры Ним, о которой мы поговорим далее.
Сложная стратегия: игра Ним
Все игры, о которых мы говорили до этого, можно обобщить еще больше: будем считать, что фишки лежат не в одной кучке, а в нескольких. Число кучек произвольное и конечное. В начале игры Ним фишки на столе лежат в нескольких кучках. Число фишек в кучках может отличаться. По правилам на каждому ходу игрок может брать минимум одну и максимум все фишки из выбранной кучки. Выигрывает тот, кто берет последнюю фишку. Также можно поменять правила и считать проигравшим того, кто должен взять последнюю фишку.
Игра 4: первая версия игры Ним
В начале игры на столе три кучки, состоящие из 1, 3 и 5 фишек. На каждом ходу игрок берет любое число фишек из выбранной кучки (минимум одну фишку, максимум все). Выигрывает тот, кто забирает последнюю фишку. Для какого игрока существует выигрышная стратегия?
Анализ игры позволяет увидеть, что такая стратегия существует для первого игрока, но из всех возможных начальных ходов только один гарантирует победу. Если читатель попрактикуется в этой игре, то увидит, что ни одному из игроков не выгодно делать следующие ходы:
1. Оставлять на столе две кучки с одинаковым числом фишек.
2. Забирать все фишки из одной кучки.
Если игрок А выполняет ход 1, игрок Б забирает все фишки из третьей кучки и выигрывает, симметрично повторяя ходы соперника. Если игрок А забирает из одной кучки гг фишек, игрок Б забирает столько же фишек из другой, и, когда А заберет все фишки из одной кучки, игрок Б заберет все фишки из другой и выиграет. Аналогично если игрок А совершит ход 2, то Б заберет нужное число фишек из той кучки, в которой их осталось больше. На столе останутся две одинаковые кучки, и игрок Б снова одержит победу, действуя как в предыдущем случае. Поэтому победу одерживает тот, кто заставит противника совершить один из двух «запрещенных» ходов. В рассматриваемом случае, если первый игрок берет 3 фишки из кучки, в которой 5 фишек, на столе останутся три кучки с 1, 2 и 3 фишками. Первый игрок выигрывает, так как его соперник будет вынужден или взять все фишки из одной кучки, или уравнять число фишек в двух кучках (оставив в них по 1 или по 2 фишки).
Читать дальше