В комбинаторной теории игр теорема Спрага–Гранди утверждает, что каждая беспристрастная игра при нормальной игре эквивалентна игре с одной кучей в ним или бесконечному обобщению ним. Поэтому она может быть представлена как натуральное число , размер кучи в эквивалентной ей игре в ним, как порядковое число в бесконечном обобщении или, альтернативно, как нимбер , значение этой игры с одной кучей в алгебраической системе, операция сложения которой объединяет несколько кучей, чтобы сформировать одну эквивалентную кучу в ним.
Значение Гранди или ним-значение любой беспристрастной игры — это уникальный нимбер, которому игра эквивалентна. В случае игры, позиции которой индексируются натуральными числами (например, сам ним, который индексируется размерами своей кучи), последовательность нимберов для последовательных позиций игры называется ним -последовательностью игры.
Теорема Спрага–Гранди и ее доказательство содержат основные результаты теории, открытой независимо Р. П. Спрагом (1936) [1] и П. М. Гранди (1939) [2] .
В целях теоремы Спрага–Гранди игра представляет собой последовательную игру двух игроков с полной информацией, удовлетворяющую условию окончания (все игры заканчиваются: нет бесконечных линий игры) и условию нормальной игры (игрок, который не может сделать ход, проигрывает).
В любой момент игры позиция игрока — это набор ходов, которые ему разрешено делать. Например, мы можем определить нулевую игру как игру двух игроков, в которой ни у одного из игроков нет разрешенных ходов. Называя двух игроков (для Алисы) и (для Боба), мы обозначим их позиции как , поскольку набор ходов, которые может сделать каждый игрок, пуст.
Беспристрастная игра — это игра, в которой в любой момент игры каждому игроку разрешено делать абсолютно одинаковый набор ходов. Обычная игра ним — пример беспристрастной игры. В ним есть одна или несколько куч предметов, и два игрока (назовем их Алиса и Боб) по очереди выбирают кучу и убирают из нее 1 или несколько предметов. Победителем становится игрок, который убирает последний предмет из последней кучи. Игра беспристрастна, потому что для любой заданной конфигурации размеров куч ходы, которые Алиса может сделать в свой ход, точно такие же ходы, которые разрешили бы сделать Бобу, если бы это был его ход. Напротив, такая игра, как шашки, не является беспристрастной, потому что, предположив, что Алиса играет красными, а Боб играет черными, для любого заданного расположения фигур на доске, если бы была очередь Алисы, ей было бы разрешено двигать только красные фигуры, а если бы была очередь Боба, ему было бы разрешено двигать только черные фигуры.
Обратите внимание, что любая конфигурация беспристрастной игры может быть записана как одна позиция, поскольку ходы будут одинаковыми, независимо от того, чей это ход. Например, позиция нулевой игры может быть записана просто , поскольку если ход Алисы, то ей нечего делать, а если ход Боба, то ему тоже нечего делать. Ход может быть связан с позицией, в которой он оставляет следующего игрока.
Это позволяет рекурсивно определять позиции. Например, рассмотрим следующую игру Ним, в которую играют Алиса и Боб.
Размеры куч Ходы АБВ 1 2 2 Алиса берет 1 из A 0 2 2 Боб берет 1 из B 0 1 2 Алиса берет 1 из C 0 1 1 Боб берет 1 из B 0 0 1 Алиса берет 1 из C 0 0 0 У Боба нет ходов, поэтому Алиса выигрывает.
Специальные имена , и , упомянутые в нашем примере игры, называются нимберами . В общем случае нимбер соответствует позиции в игре ним, где ровно объектов в ровно одной куче. Формально нимберы определяются индуктивно следующим образом: это , и для всех , .
Хотя слово «nimber » происходит от игры «nim» , «nimbers» можно использовать для описания позиций любой конечной беспристрастной игры, и, по сути, теорема Спрага–Гранди утверждает, что каждый случай конечной беспристрастной игры может быть связан с одним « nimber».
Две игры можно объединить, сложив их позиции вместе. Например, рассмотрим другую игру ним с кучами , , и .
Размеры куч Ходы А' Б' В'1 1 1 Алиса берет 1 из A'0 1 1 Боб берет один из B'0 0 1 Алиса берет один из C'0 0 0 У Боба нет ходов, поэтому Алиса выигрывает.
Мы можем объединить его с нашим первым примером, чтобы получить комбинированную игру с шестью кучами: , , , , , и :
Размеры куч Ходы АБВ А' Б' С' 1 2 2 1 1 1 Алиса берет 1 из A 0 2 2 1 1 1 Боб берет 1 из A' 0 2 2 0 1 1 Алиса берет 1 из B' 0 2 2 0 0 1 Боб берет 1 из C' 0 2 2 0 0 0 Алиса берет 2 из B 0 0 2 0 0 0 Боб берет 2 из C 0 0 0 0 0 0 У Алисы нет ходов, поэтому выигрывает Боб.
Чтобы различать две игры, в первом примере игры мы обозначим ее начальную позицию и окрасим ее в синий цвет:
Для второго примера игры мы обозначим начальную позицию и окрасим ее в красный цвет:
Чтобы вычислить начальную позицию объединенной игры, помните, что игрок может либо сделать ход в первой игре, оставив вторую игру нетронутой, либо сделать ход во второй игре, оставив первую игру нетронутой. Таким образом, начальная позиция объединенной игры:
Явная формула для сложения позиций имеет вид: , что означает, что сложение является как коммутативным, так и ассоциативным.
Позиции в беспристрастных играх делятся на два класса результатов : либо следующий игрок (тот, чья очередь) выигрывает ( позиция - ), либо предыдущий игрок выигрывает ( позиция - ). Так, например, является -позицией, в то время как является -позицией.
Две позиции и эквивалентны , если, независимо от того, какая позиция к ним добавляется, они всегда находятся в одном и том же классе результатов. Формально, если и только если , находится в том же классе результатов, что и .
Чтобы использовать наши текущие примеры, обратите внимание, что и в первой, и во второй игре выше мы можем показать, что на каждом ходу у Алисы есть ход, который заставляет Боба занять -позицию. Таким образом, и являются -позициями. (Обратите внимание, что в объединенной игре Боб является игроком с -позициями. Фактически, является -позицией, что, как мы увидим в Лемме 2, означает .)
В качестве промежуточного шага к доказательству основной теоремы мы показываем, что для каждой позиции и каждой -позиции эквивалентность имеет место. Согласно данному выше определению эквивалентности, это равносильно показу того, что и разделяют класс результатов для всех .
Предположим, что это -позиция. Тогда у предыдущего игрока есть выигрышная стратегия для : отвечать на ходы в соответствии со своей выигрышной стратегией для (которая существует в силу того, что является -позицией), и отвечать на ходы в соответствии со своей выигрышной стратегией для (которая существует по аналогичной причине). Так что также должна быть -позиция.
С другой стороны, если - позиция, то также - позиция, потому что у следующего игрока есть выигрышная стратегия: выбрать -позицию из вариантов , и мы заключаем из предыдущего абзаца, что добавление к этой позиции все еще является -позицией. Таким образом, в этом случае должно быть -позицией, как и .
Поскольку это единственные два случая, лемма верна.
В качестве дальнейшего шага мы покажем, что тогда и только тогда, когда является -позицией.
В прямом направлении предположим, что . Применяя определение эквивалентности с , мы находим, что (что равно по коммутативности сложения) находится в том же классе результатов, что и . Но должно быть -позицией: на каждый ход, сделанный в одной копии , предыдущий игрок может ответить тем же ходом в другой копии и, таким образом, всегда делать последний ход.
В обратном направлении, поскольку является -позицией по условию, то из первой леммы следует, что . Аналогично, поскольку является также -позицией, то из первой леммы следует в виде , что . По ассоциативности и коммутативности правые части этих результатов равны. Более того, является отношением эквивалентности , поскольку равенство является отношением эквивалентности на исходных классах. С помощью транзитивности мы можем заключить, что .
Мы доказываем, что все позиции эквивалентны нимберу с помощью структурной индукции . Более конкретный результат, что начальная позиция данной игры должна быть эквивалентна нимберу, показывает, что сама игра эквивалентна нимберу.
Рассмотрим позицию . По предположению индукции все варианты эквивалентны числам, скажем . Итак, пусть . Покажем, что , где — mex (минимальное исключение) чисел , то есть наименьшее неотрицательное целое число, не равное некоторому .
Первое, что нам нужно отметить, это то, что , посредством второй леммы. Если равно нулю, утверждение тривиально верно. В противном случае рассмотрим . Если следующий игрок делает ход в , то предыдущий игрок может сделать ход в , и наоборот, если следующий игрок делает ход в . После этого позиция является -позицией по прямому следствию леммы. Следовательно, является -позицией, и, ссылаясь на обратное следствие леммы, .
Теперь покажем, что это -позиция, которая, используя вторую лемму еще раз, означает, что . Мы делаем это, давая явную стратегию для предыдущего игрока.
Предположим, что и пусты. Тогда — нулевой набор, очевидно, -позиция.
Или рассмотрим случай, когда следующий игрок перемещается в компоненте в вариант, где . Поскольку было минимальным исключенным числом, предыдущий игрок может переместиться в . И, как было показано ранее, любая позиция плюс сама по себе является -позицией.
Наконец, предположим, что следующий игрок перемещается в компоненте в вариант . Если то предыдущий игрок перемещается в ; в противном случае, если , предыдущий игрок перемещается в ; в любом случае результатом является позиция плюс он сам. (Невозможно, чтобы, поскольку было определено как отличное от всех .)
Подводя итог, имеем и . По транзитивности заключаем, что , как и требовалось.
Если — позиция беспристрастной игры, то уникальное целое число , такое что называется его значением Гранди, или числом Гранди, а функция, которая присваивает это значение каждой такой позиции, называется функцией Спрага–Гранди. Р. Л. Спраг и П. М. Гранди независимо дали явное определение этой функции, не основанное на какой-либо концепции эквивалентности позициям ним, и показали, что она обладает следующими свойствами:
Из этих результатов прямо следует, что если позиция имеет значение Гранди , то имеет то же значение Гранди, что и , и, следовательно, принадлежит к тому же классу результатов для любой позиции . Таким образом, хотя Спраг и Гранди никогда явно не формулировали теорему, описанную в этой статье, она напрямую следует из их результатов и приписывается им. [3] [4] Эти результаты впоследствии были развиты в области комбинаторной теории игр , в частности, Ричардом Гаем , Элвином Берлекампом , Джоном Хортоном Конвеем и другими, где они теперь инкапсулированы в теореме Спрага–Гранди и ее доказательстве в форме, описанной здесь. Область представлена в книгах Winning Ways for your Mathematical Plays и On Numbers and Games .