Как применять правило ко (го)

У меня возникли проблемы с пониманием того, как применять правило ко. Например, в описании в Википедии есть пример, где потенциально может применяться правило ко. Но предположим, что на доске было два, или три, или четыре таких сценария. Действительно ли нужно отслеживать все прошлые состояния доски? Будете ли вы просто продолжать круг за кругом, и тот, кто создал последнюю исходную конфигурацию доски, получит эти очки?

Если такая ситуация возникнет в вашей игре, было бы здорово, если бы вы выложили ее фото. Мы могли бы попытаться проанализировать это, и я думаю, это может быть проще, чем вы ожидали. Такое ощущение (не уверен), что вы неправильно истолковали, как вести себя в этой ситуации. Хотя, может быть, и нет, ко, как правило, хорош для сюрпризов :)
Могу ли я попросить вас проверить мой новый (очень запоздалый!) ответ, который, как мне кажется, охватывает больше вопросов, чем тот, который вы приняли в настоящее время.

Ответы (4)

Ко только мешает игроку сделать ход, который приведет к возвращению доски в положение, в котором она находилась непосредственно перед последним ходом его противника. Так что единственное, что вам когда-либо нужно отслеживать, — это то, на что была похожа доска непосредственно перед тем, как ваш противник сделал свой последний ход; вы не можете двигаться так, чтобы воссоздать это положение.

Все дальнейшее описание в вики объясняет, что сделает игрок, если ход, который он хочет сделать, будет предотвращен ко. Они делают ход где-то еще на доске, что вынуждает черных ответить на него; тем самым освобождая их для игры, которую они не могли сыграть на предыдущем ходу из-за ко.

Это простое правило ко , которое не является самым распространенным. Варианты правила супер ко запрещают любую предыдущую позицию на доске. Ссылка: en.wikipedia.org/wiki/Rules_of_Go#Repetition
Спасибо... так что, для более общего и сложного правила действительно нужно отслеживать все предыдущие конфигурации? Не знаю, потому ли это, что я новичок, но мы с сыном заканчиваем игру четырьмя или пятью такими "обратимыми" конфигурациями.
@adam.baker Да, вы правы. Однако такая ситуация действительно редкость. Если у вас есть ситуация с несколькими ко одновременно, обычно один игрок просто закроет одну из них и проигнорирует другую (в зависимости от того, что дает ему наилучший результат в глобальном масштабе). Крайне необычно, что все ко связаны и один игрок абсолютно не может сдаться. В такой ситуации применялось бы суперко, и вам нужно было бы отслеживать предыдущие ситуации или что там написано в вашей использованной книге правил (это не то, что каждый соглашается...). Надеюсь, это немного прояснит ситуацию.
@adam.baker: вам редко придется отслеживать многие предыдущие позиции, так как большую часть времени на доске больше камней (больше камней определенного цвета), чем в любой другой момент в игре. Только когда вы начинаете разыгрывать несколько кос, становится сложно.

Теоретический ответ зависит от того , чьи правила вы используете, потому что разные страны используют разные правила и имеют разные способы решения описанной вами ситуации с несколькими ко 1 .

На практике это почти никогда не происходит, и обычно легко отследить, поскольку происходит что-то еще, чтобы изменить состояние всей доски, например, ход на ранее незанятую точку - обратите внимание, что правило применяется к состоянию всей доски. Поэтому также обычно не имеет значения, какие правила вы используете. Кроме того, хотя игра обычно заканчивается с большим количеством кос 2 на пол-очка , нет никакого преимущества в том, чтобы сражаться более чем с одним из них: правильная игра состоит в том, чтобы оставить их всех до тех пор, пока не останется других очков, а затем соединиться, если можно, бери если не можешь и дерись только с самым последним.

Действующие правила

Все органы запрещают немедленный повторный захват. Основные подходы к сложным повторяющимся позициям:

  • Суперко : Вам не разрешается воссоздавать положение всей доски, которое уже было в игре. Разные органы запрещают это при разных обстоятельствах:
    • Позиционное Суперко (Китай, в теории): всегда.
    • Китайское Суперко (Китай, на практике): в результате немедленного отбивания или «Двоих послали, одного вернули» (и не знаю, что они делают иначе).
    • Ситуационная суперко (США, Новая Зеландия): если она оставляет ход тому же игроку.
    • Естественное Ситуационное Суперко (Великобритания): в результате хода (не передачи) того же игрока.
  • Нет результата (Япония, Корея): если позиция повторяется, игра не имеет результата и обычно должна быть переиграна.
  • Правило длинного цикла (компьютерная олимпиада): если позиция повторяется, игра останавливается, и результат определяется исключительно количеством взятий обеими сторонами с момента первого захвата.

Другие ответы

  • Принятый в настоящее время ответ (от GendoIkari ) вводит в заблуждение, потому что он касается только «основного правила ко» (запрет немедленного повторного захвата), с которым согласны все органы, и его тактических последствий.
  • Ответ Брайана Тайлера объясняет, как компьютерные программы обнаруживают повторения с помощью хеширования Зобриста .

дальнейшее чтение

(По состоянию на 08.04.2020) Википедия дает больше подробностей в статье Rules of Go , чем по ссылке, которую вы дали , но для всестороннего обсуждения вам лучше подойдет статья Superko in Sensei's Library. Правильный порядок игры в полуочковых косах в конце игры смотрите в статье. Полточка Ко (также Библиотека Сэнсэя).

PS

Жаль, что вы не могли поделиться с нами игрой с вашим сыном, где это возникло, что было бы интересно.

Ноты

1 « Ко » здесь относится к единственной позиции, где захват-повторный захват был бы возможен, если не запрещен.
2 Половинчатое ко — это такое, когда все, что поставлено на карту, — это само взятие. Это исключает kos для жизни группы или просто для того, чтобы решить, нужно ли заполнить точку территории.
3 «Посылая два, возвращая один» — ситуация (обычно часть сэки ), при которой одна сторона может пожертвовать двумя камнями, а затем отбить, воссоздав предыдущую позицию. Это можно использовать для продления игры на неопределенный срок, хотя каждый цикл стоит одно очко, если используется подсчет территории .

Спасибо за этот ответ, демонстрирующий силу, - избавляет меня от необходимости делать что-то наполовину такое же хорошее.

Super Ko можно эффективно обнаружить с помощью хеширования Зобриста.

https://en.wikipedia.org/wiki/Zobrist_hashing

https://www.gnu.org/software/gnugo/gnugo_11.html#SEC144

Идея состоит в том, чтобы выбрать случайное 64-битное целое число для представления каждой 2x19x19 = 722позиции на доске. Пустая доска имеет хеш-значение 0. Когда вы добавляете камень на доску, вы получаете XORтекущий хэш доски по хэш-значению, которое представляет камень в этой позиции. Вы делаете то же самое для удаления ( XORбудучи самообратным). Теперь вы сжали состояние игры в одно 64-битное целое число и просто проверяете, видели ли вы это целое число раньше.

Предполагается, что коллизий хешей нет. Это явно не так, потому что есть 3^361состояния доски (хотя многие из них будут незаконными), а ваш хэш равен < 64^2. Однако предполагается, что в вашей игре из нескольких сотен ходов шансы получить столкновение настолько малы, что об этом не стоит беспокоиться. Если вы получите коллизию, вы можете проверить ее, если сохраните полное состояние, но маловероятно, что вы найдете что-то кроме идеального совпадения, так что можете и не беспокоиться.

Для этого вам понадобится что-то вроде трех кос.

Но допустим, что есть два игрока, X и Y. Игрок X берет первое ко. Игрок Y принимает второе ко как «угрозу ко». Игрок X берет в ответ третье ко. Игрок Y повторно берет первое ко. И т.п.

Правило ко служит для предотвращения повторения между одним или двумя косами. Но если кос будет достаточно, чтобы можно было брать их по «круговой системе», то игра может продолжаться бесконечно.

Вы проигнорировали растущее распространение более сильных правил ко, разработанных специально для предотвращения таких ситуаций. связь