Теорема Спрага–Гранди

Каждая беспристрастная игровая позиция эквивалентна позиции в игре ним

В комбинаторной теории игр теорема Спрага–Гранди утверждает, что каждая беспристрастная игра при нормальной игре эквивалентна игре с одной кучей в ним или бесконечному обобщению ним. Поэтому она может быть представлена ​​как натуральное число , размер кучи в эквивалентной ей игре в ним, как порядковое число в бесконечном обобщении или, альтернативно, как нимбер , значение этой игры с одной кучей в алгебраической системе, операция сложения которой объединяет несколько кучей, чтобы сформировать одну эквивалентную кучу в ним.

Значение Гранди или ним-значение любой беспристрастной игры — это уникальный нимбер, которому игра эквивалентна. В случае игры, позиции которой индексируются натуральными числами (например, сам ним, который индексируется размерами своей кучи), последовательность нимберов для последовательных позиций игры называется ним -последовательностью игры.

Теорема Спрага–Гранди и ее доказательство содержат основные результаты теории, открытой независимо Р. П. Спрагом (1936) [1] и П. М. Гранди (1939) [2] .

Определения

В целях теоремы Спрага–Гранди игра представляет собой последовательную игру двух игроков с полной информацией, удовлетворяющую условию окончания (все игры заканчиваются: нет бесконечных линий игры) и условию нормальной игры (игрок, который не может сделать ход, проигрывает).

В любой момент игры позиция игрока — это набор ходов, которые ему разрешено делать. Например, мы можем определить нулевую игру как игру двух игроков, в которой ни у одного из игроков нет разрешенных ходов. Называя двух игроков (для Алисы) и (для Боба), мы обозначим их позиции как , поскольку набор ходов, которые может сделать каждый игрок, пуст. А {\displaystyle А} Б {\displaystyle Б} ( А , Б ) = ( { } , { } ) {\displaystyle (A,B)=(\{\},\{\})}

Беспристрастная игра — это игра, в которой в любой момент игры каждому игроку разрешено делать абсолютно одинаковый набор ходов. Обычная игра ним — пример беспристрастной игры. В ним есть одна или несколько куч предметов, и два игрока (назовем их Алиса и Боб) по очереди выбирают кучу и убирают из нее 1 или несколько предметов. Победителем становится игрок, который убирает последний предмет из последней кучи. Игра беспристрастна, потому что для любой заданной конфигурации размеров куч ходы, которые Алиса может сделать в свой ход, точно такие же ходы, которые разрешили бы сделать Бобу, если бы это был его ход. Напротив, такая игра, как шашки, не является беспристрастной, потому что, предположив, что Алиса играет красными, а Боб играет черными, для любого заданного расположения фигур на доске, если бы была очередь Алисы, ей было бы разрешено двигать только красные фигуры, а если бы была очередь Боба, ему было бы разрешено двигать только черные фигуры.

Обратите внимание, что любая конфигурация беспристрастной игры может быть записана как одна позиция, поскольку ходы будут одинаковыми, независимо от того, чей это ход. Например, позиция нулевой игры может быть записана просто , поскольку если ход Алисы, то ей нечего делать, а если ход Боба, то ему тоже нечего делать. Ход может быть связан с позицией, в которой он оставляет следующего игрока. { } {\displaystyle \{\}}

Это позволяет рекурсивно определять позиции. Например, рассмотрим следующую игру Ним, в которую играют Алиса и Боб.

Пример игры Ним

Размеры куч Ходы АБВ   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 У Боба нет ходов, поэтому Алиса выигрывает.
  • На шаге 6 игры (когда все кучки пусты) позиция , поскольку у Боба нет допустимых ходов. Назовем эту позицию . { } {\displaystyle \{\}} 0 {\displaystyle *0}
  • На шаге 5 у Алисы был ровно один вариант: удалить один объект из кучи C, оставив Боба без ходов. Поскольку ее ход оставляет Боба в позиции , ее позиция записывается как . Мы называем эту позицию . 0 {\displaystyle *0} { 0 } {\displaystyle \{*0\}} 1 {\displaystyle *1}
  • На шаге 4 у Боба было два варианта: удалить один из B или удалить один из C. Обратите внимание, однако, что на самом деле не имело значения, из какой кучи Боб удалил объект: в любом случае у Алисы остался бы ровно один объект в ровно одной куче. Таким образом, используя наше рекурсивное определение, у Боба на самом деле есть только один ход: . Таким образом, позиция Боба — . 1 {\displaystyle *1} { 1 } {\displaystyle \{*1\}}
  • На шаге 3 у Алисы было 3 варианта: удалить два из C, удалить один из C или удалить один из B. Удаление двух из C оставляет Боба в позиции . Удаление одного из C оставляет Боба с двумя кучками, каждая размером один, т. е. позицией , как описано в шаге 4. Однако удаление 1 из B оставило бы Боба с двумя объектами в одной куче. Тогда его ходы были бы и , поэтому ее ход привел бы к позиции . Мы называем эту позицию . Тогда позиция Алисы является множеством всех ее ходов: . 1 {\displaystyle *1} { 1 } {\displaystyle \{*1\}} 0 {\displaystyle *0} 1 {\displaystyle *1} { 0 , 1 } {\displaystyle \{*0,*1\}} 2 {\displaystyle *2} { 1 , { 1 } , 2 } {\displaystyle {\big \{}*1,\{*1\},*2{\big \}}}
  • Следуя той же рекурсивной логике, на шаге 2 позиция Боба будет { { 1 , { 1 } , 2 } , 2 } . {\displaystyle {\big \{}\{*1,\{*1\},*2\},*2{\big \}}.}
  • Наконец, на шаге 1 позиция Алисы такова: { { 1 , { 1 } , 2 } , { 2 , { 1 , { 1 } , 2 } } , { { 1 } , { { 1 } } , { 1 , { 1 } , 2 } } } . {\displaystyle {\Большой \{}{\большой \{}*1,\{*1\},*2{\большой \}},{\большой \{}*2,\{*1,\{*1\},*2\}{\большой \}},{\большой \{}\{*1\},\{\{*1\}\},\{*1,\{*1\},*2\}{\большой \}}{\Большой \}}.}

Нимберс

Специальные имена , и , упомянутые в нашем примере игры, называются нимберами . В общем случае нимбер соответствует позиции в игре ним, где ровно объектов в ровно одной куче. Формально нимберы определяются индуктивно следующим образом: это , и для всех , . 0 {\displaystyle *0} 1 {\displaystyle *1} 2 {\displaystyle *2} н {\displaystyle *н} н {\displaystyle n} 0 {\displaystyle *0} { } {\displaystyle \{\}} 1 = { 0 } {\displaystyle *1=\{*0\}} 2 = { 0 , 1 } {\displaystyle *2=\{*0,*1\}} н 0 {\displaystyle n\geq 0} ( н + 1 ) = н { н } {\displaystyle *(n+1)=*n\чашка \{*n\}}

Хотя слово «nimber » происходит от игры «nim» , «nimbers» можно использовать для описания позиций любой конечной беспристрастной игры, и, по сути, теорема Спрага–Гранди утверждает, что каждый случай конечной беспристрастной игры может быть связан с одним « nimber».

Комбинирование игр

Две игры можно объединить, сложив их позиции вместе. Например, рассмотрим другую игру ним с кучами , , и . А {\displaystyle А'} Б {\displaystyle B'} С {\displaystyle C'}

Пример игры 2

Размеры куч Ходы А' Б' В'1 1 1 Алиса берет 1 из A'0 1 1 Боб берет один из B'0 0 1 Алиса берет один из C'0 0 0 У Боба нет ходов, поэтому Алиса выигрывает.

Мы можем объединить его с нашим первым примером, чтобы получить комбинированную игру с шестью кучами: , , , , , и : А {\displaystyle А} Б {\displaystyle Б} С {\displaystyle С} А {\displaystyle А'} Б {\displaystyle B'} С {\displaystyle C'}

Комбинированная игра

Размеры куч Ходы АБВ А' Б' С'    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 У Алисы нет ходов, поэтому выигрывает Боб.

Чтобы различать две игры, в первом примере игры мы обозначим ее начальную позицию и окрасим ее в синий цвет: С {\displaystyle \color {синий}S} С = { { 1 , { 1 } , 2 } , { 2 , { 1 , { 1 } , 2 } } , { { 1 } , { { 1 } } , { 1 , { 1 } , 2 } } } {\displaystyle \color {blue}S={\Big \{}{\big \{}*1,\{*1\},*2{\big \}},{\big \{}*2,\{*1,\{*1\},*2\}{\big \}},{\big \{}\{*1\},\{\{*1\}\},\{*1,\{*1\},*2\}{\big \}}{\Big \}}}

Для второго примера игры мы обозначим начальную позицию и окрасим ее в красный цвет: С {\displaystyle \color {красный}S'} С = { { 1 } } . {\displaystyle \color {red}S'={\Big \{}\{*1\}{\Big \}}.}

Чтобы вычислить начальную позицию объединенной игры, помните, что игрок может либо сделать ход в первой игре, оставив вторую игру нетронутой, либо сделать ход во второй игре, оставив первую игру нетронутой. Таким образом, начальная позиция объединенной игры: С + С = { С + { 1 } } { С + { 1 , { 1 } , 2 } , С + { 2 , { 1 , { 1 } , 2 } } , С + { { 1 } , { { 1 } } , { 1 , { 1 } , 2 } } } {\displaystyle \color {blue}S\color {black}+\color {red}S'\color {black}={\Big \{}\color {blue}S\color {black}+\color {red}\{*1\}\color {black}{\Big \}}\cup {\Big \{}\color {red}S'\color {black}+\color {blue}\{*1,\{*1\},*2\}\color {black},\color {red}S'\color {black}+\color {blue}\{*2,\{*1,\{*1\},*2\}\}\color {black},\color {red}S'\color {black}+\color {blue}\{\{*1\},\{\{*1\}\},\{*1,\{*1\},*2\}\}\color {black}{\Big \}}}

Явная формула для сложения позиций имеет вид: , что означает, что сложение является как коммутативным, так и ассоциативным. S + S = { S + s s S } { s + S s S } {\displaystyle S+S'=\{S+s'\mid s'\in S'\}\cup \{s+S'\mid s\in S\}}

Эквивалентность

Позиции в беспристрастных играх делятся на два класса результатов : либо следующий игрок (тот, чья очередь) выигрывает ( позиция - ), либо предыдущий игрок выигрывает ( позиция - ). Так, например, является -позицией, в то время как является -позицией. N {\displaystyle {\boldsymbol {\mathcal {N}}}} P {\displaystyle {\boldsymbol {\mathcal {P}}}} 0 {\displaystyle *0} P {\displaystyle {\mathcal {P}}} 1 {\displaystyle *1} N {\displaystyle {\mathcal {N}}}

Две позиции и эквивалентны, если , независимо от того, какая позиция к ним добавляется, они всегда находятся в одном и том же классе результатов. Формально, если и только если , находится в том же классе результатов, что и . G {\displaystyle G} G {\displaystyle G'} H {\displaystyle H} G G {\displaystyle G\approx G'} H {\displaystyle \forall H} G + H {\displaystyle G+H} G + H {\displaystyle G'+H}

Чтобы использовать наши текущие примеры, обратите внимание, что и в первой, и во второй игре выше мы можем показать, что на каждом ходу у Алисы есть ход, который заставляет Боба занять -позицию. Таким образом, и являются -позициями. (Обратите внимание, что в объединенной игре Боб является игроком с -позициями. Фактически, является -позицией, что, как мы увидим в Лемме 2, означает .) P {\displaystyle {\mathcal {P}}} S {\displaystyle \color {blue}S} S {\displaystyle \color {red}S'} N {\displaystyle {\mathcal {N}}} N {\displaystyle {\mathcal {N}}} S + S {\displaystyle \color {blue}S\color {black}+\color {red}S'} P {\displaystyle {\mathcal {P}}} S S {\displaystyle \color {blue}S\color {black}\approx \color {red}S'}

Первая лемма

В качестве промежуточного шага к доказательству основной теоремы мы показываем, что для каждой позиции и каждой -позиции эквивалентность имеет место. Согласно данному выше определению эквивалентности, это равносильно показу того, что и разделяют класс результатов для всех . G {\displaystyle G} P {\displaystyle {\mathcal {P}}} A {\displaystyle A} G A + G {\displaystyle G\approx A+G} G + H {\displaystyle G+H} A + G + H {\displaystyle A+G+H} H {\displaystyle H}

Предположим, что это -позиция. Тогда у предыдущего игрока есть выигрышная стратегия для : отвечать на ходы в соответствии со своей выигрышной стратегией для (которая существует в силу того, что является -позицией), и отвечать на ходы в соответствии со своей выигрышной стратегией для (которая существует по аналогичной причине). Так что также должна быть -позиция. G + H {\displaystyle G+H} P {\displaystyle {\mathcal {P}}} A + G + H {\displaystyle A+G+H} A {\displaystyle A} A {\displaystyle A} A {\displaystyle A} P {\displaystyle {\mathcal {P}}} G + H {\displaystyle G+H} G + H {\displaystyle G+H} A + G + H {\displaystyle A+G+H} P {\displaystyle {\mathcal {P}}}

С другой стороны, если - позиция, то также - позиция, потому что у следующего игрока есть выигрышная стратегия: выбрать -позицию из вариантов , и мы заключаем из предыдущего абзаца, что добавление к этой позиции все еще является -позицией. Таким образом, в этом случае должно быть -позицией, как и . G + H {\displaystyle G+H} N {\displaystyle {\mathcal {N}}} A + G + H {\displaystyle A+G+H} N {\displaystyle {\mathcal {N}}} P {\displaystyle {\mathcal {P}}} G + H {\displaystyle G+H} A {\displaystyle A} P {\displaystyle {\mathcal {P}}} A + G + H {\displaystyle A+G+H} N {\displaystyle {\mathcal {N}}} G + H {\displaystyle G+H}

Поскольку это единственные два случая, лемма верна.

Вторая лемма

В качестве дальнейшего шага мы покажем, что тогда и только тогда, когда является -позицией. G G {\displaystyle G\approx G'} G + G {\displaystyle G+G'} P {\displaystyle {\mathcal {P}}}

В прямом направлении предположим, что . Применяя определение эквивалентности с , мы находим, что (что равно по коммутативности сложения) находится в том же классе результатов, что и . Но должно быть -позицией: на каждый ход, сделанный в одной копии , предыдущий игрок может ответить тем же ходом в другой копии и, таким образом, всегда делать последний ход. G G {\displaystyle G\approx G'} H = G {\displaystyle H=G} G + G {\displaystyle G'+G} G + G {\displaystyle G+G'} G + G {\displaystyle G+G} G + G {\displaystyle G+G} P {\displaystyle {\mathcal {P}}} G {\displaystyle G}

В обратном направлении, поскольку является -позицией по условию, то из первой леммы следует, что . Аналогично, поскольку является также -позицией, то из первой леммы следует в виде , что . По ассоциативности и коммутативности правые части этих результатов равны. Более того, является отношением эквивалентности , поскольку равенство является отношением эквивалентности на исходных классах. С помощью транзитивности мы можем заключить, что . A = G + G {\displaystyle A=G+G'} P {\displaystyle {\mathcal {P}}} G G + A {\displaystyle G\approx G+A} G G + ( G + G ) {\displaystyle G\approx G+(G+G')} B = G + G {\displaystyle B=G+G} P {\displaystyle {\mathcal {P}}} G G + B {\displaystyle G'\approx G'+B} G G + ( G + G ) {\displaystyle G'\approx G'+(G+G)} {\displaystyle \approx } {\displaystyle \approx } G G {\displaystyle G\approx G'}

Доказательство теоремы Спрага–Гранди

Мы доказываем, что все позиции эквивалентны нимберу с помощью структурной индукции . Более конкретный результат, что начальная позиция данной игры должна быть эквивалентна нимберу, показывает, что сама игра эквивалентна нимберу.

Рассмотрим позицию . По предположению индукции все варианты эквивалентны числам, скажем . Итак, пусть . Покажем, что , где — mex (минимальное исключение) чисел , то есть наименьшее неотрицательное целое число, не равное некоторому . G = { G 1 , G 2 , , G k } {\displaystyle G=\{G_{1},G_{2},\ldots ,G_{k}\}} G i n i {\displaystyle G_{i}\approx *n_{i}} G = { n 1 , n 2 , , n k } {\displaystyle G'=\{*n_{1},*n_{2},\ldots ,*n_{k}\}} G m {\displaystyle G\approx *m} m {\displaystyle m} n 1 , n 2 , , n k {\displaystyle n_{1},n_{2},\ldots ,n_{k}} n i {\displaystyle n_{i}}

Первое, что нам нужно отметить, это то, что , посредством второй леммы. Если равно нулю, утверждение тривиально верно. В противном случае рассмотрим . Если следующий игрок делает ход в , то предыдущий игрок может сделать ход в , и наоборот, если следующий игрок делает ход в . После этого позиция является -позицией по прямому следствию леммы. Следовательно, является -позицией, и, ссылаясь на обратное следствие леммы, . G G {\displaystyle G\approx G'} k {\displaystyle k} G + G {\displaystyle G+G'} G i {\displaystyle G_{i}} G {\displaystyle G} n i {\displaystyle *n_{i}} G {\displaystyle G'} G {\displaystyle G'} P {\displaystyle {\mathcal {P}}} G + G {\displaystyle G+G'} P {\displaystyle {\mathcal {P}}} G G {\displaystyle G\approx G'}

Теперь покажем, что это -позиция, которая, используя вторую лемму еще раз, означает, что . Мы делаем это, давая явную стратегию для предыдущего игрока. G + m {\displaystyle G'+*m} P {\displaystyle {\mathcal {P}}} G m {\displaystyle G'\approx *m}

Предположим, что и пусты. Тогда — нулевой набор, очевидно, -позиция. G {\displaystyle G'} m {\displaystyle *m} G + m {\displaystyle G'+*m} P {\displaystyle {\mathcal {P}}}

Или рассмотрим случай, когда следующий игрок перемещается в компоненте в вариант, где . Поскольку было минимальным исключенным числом, предыдущий игрок может переместиться в . И, как было показано ранее, любая позиция плюс сама по себе является -позицией. m {\displaystyle *m} m {\displaystyle *m'} m < m {\displaystyle m'<m} m {\displaystyle m} G {\displaystyle G'} m {\displaystyle *m'} P {\displaystyle {\mathcal {P}}}

Наконец, предположим, что следующий игрок перемещается в компоненте в вариант . Если то предыдущий игрок перемещается в ; в противном случае, если , предыдущий игрок перемещается в ; в любом случае результатом является позиция плюс он сам. (Невозможно, чтобы, поскольку было определено как отличное от всех .) G {\displaystyle G'} n i {\displaystyle *n_{i}} n i < m {\displaystyle n_{i}<m} m {\displaystyle *m} n i {\displaystyle *n_{i}} n i > m {\displaystyle n_{i}>m} n i {\displaystyle *n_{i}} m {\displaystyle *m} n i = m {\displaystyle n_{i}=m} m {\displaystyle m} n i {\displaystyle n_{i}}

Подводя итог, имеем и . По транзитивности заключаем, что , как и требовалось. G G {\displaystyle G\approx G'} G m {\displaystyle G'\approx *m} G m {\displaystyle G\approx *m}

Разработка

Если — позиция беспристрастной игры, то уникальное целое число , такое что называется его значением Гранди, или числом Гранди, а функция, которая присваивает это значение каждой такой позиции, называется функцией Спрага–Гранди. Р. Л. Спраг и П. М. Гранди независимо дали явное определение этой функции, не основанное на какой-либо концепции эквивалентности позициям ним, и показали, что она обладает следующими свойствами: G {\displaystyle G} m {\displaystyle m} G m {\displaystyle G\approx *m}

  • Значение Гранди для одной стопки нимов размером (т.е. позиции ) равно ; m {\displaystyle m} m {\displaystyle *m} m {\displaystyle m}
  • Позиция является проигрышной для следующего игрока, который должен сделать ход (т.е. -позиция), тогда и только тогда, когда ее значение Гранди равно нулю; и P {\displaystyle {\mathcal {P}}}
  • Значение Гранди суммы конечного набора позиций — это просто ним-сумма значений Гранди ее слагаемых.

Из этих результатов прямо следует, что если позиция имеет значение Гранди , то имеет то же значение Гранди, что и , и, следовательно, принадлежит к тому же классу результатов для любой позиции . Таким образом, хотя Спраг и Гранди никогда явно не формулировали теорему, описанную в этой статье, она напрямую следует из их результатов и приписывается им. [3] [4] Эти результаты впоследствии были развиты в области комбинаторной теории игр , в частности, Ричардом Гаем , Элвином Берлекампом , Джоном Хортоном Конвеем и другими, где они теперь инкапсулированы в теореме Спрага–Гранди и ее доказательстве в форме, описанной здесь. Область представлена ​​в книгах Winning Ways for your Mathematical Plays и On Numbers and Games . G {\displaystyle G} m {\displaystyle m} G + H {\displaystyle G+H} m + H {\displaystyle *m+H} H {\displaystyle H}

Смотрите также

Ссылки

  1. ^ Спрэг, Р.П. (1936). «Убер-математическая борьба». Математический журнал Тохоку (на немецком языке). 41 : 438–444 . JFM  62.1070.03. Збл  0013.29004.
  2. Grundy, PM (1939). «Математика и игры». Эврика . 2 : 6–8 . Архивировано из оригинала 27-09-2007.Переиздано, 1964, 27 : 9–11.
  3. ^ Смит, Седрик AB (1960), «Патрик Майкл Гранди, 1917–1959 », Журнал Королевского статистического общества, Серия A , 123 (2): 221–22
  4. ^ Шлейхер, Дирк; Столл, Майкл (2006). «Введение в игры и числа Конвея». Московский математический журнал . 6 (2): 359–388 . arXiv : math.CO/0410026 . doi :10.17323/1609-4514-2006-6-2-359-388. S2CID  7175146.
  • Игра Гранди в развязывание узлов
  • Легко читаемый вводный отчет от математического факультета Калифорнийского университета в Лос-Анджелесе
  • Игра Ним на sputsoft.com
  • Милванг-Йенсен, Брит К.А. (2000), Комбинаторные игры, теория и приложения (PDF) , CiteSeerX  10.1.1.89.805
Retrieved from "https://en.wikipedia.org/w/index.php?title=Sprague–Grundy_theorem&oldid=1266588490"