Есть ли у нас базы эндшпилей в го, как в шахматах?

Я относительный новичок в Go и больше интересуюсь программными аспектами разработки Go Engine.

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

Некоторое онлайн-копание обнаружило эту статью в Википедии и статью по информатике , в которой говорится , что решение эндшпиля в го с помощью компьютера - действительно сложная задача, которая гарантированно займет много времени. Возможно, это причина, по которой эндгеймовые базы Go не существуют/не используются широко?

По теме разработки игр?
Поскольку в одном есть два вопроса, я перенес второй сюда
Пока я не припомню конкретных комментариев по позициям эндшпиля в отчетах по Apha Go — и не нашел ни «эндшпиля», ни «эндгейма», ни «йосэ» в свободном доступе в формате PDF « Мастерство игры в го с помощью Deep Neural Networks and Tree». Поиск — я полагаю, что его политическая нейронная сеть с 13 слоями, содержащими 192 фильтра, после обучения будет весьма полезна в конце игры.

Ответы (3)

Я знаю о го гораздо больше, чем о шахматах, поэтому я не знаю, насколько точны будут мои предположения об эндшпилях, но... я думаю, что шахматы имеют тенденцию быть в самом простом эндшпиле (как го), и здесь мало информация в эндшпиле о том, как развивалась остальная часть игры (в отличие от го). И есть алгоритмы выигрыша (в некоторых случаях), которые обобщаются на большое количество позиций. Например, если у белых есть ферзь и король, а у черных только король, если Q не будет взята, белые выиграют, независимо от позиции.

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

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

Что-то вроде знания, где играть, чтобы убить (или спасти!) громоздкую пятерку (и много-много других фигур), должно быть автоматическим для человека или компьютера.

Программирование компьютера для хорошей игры в ёсэ - очень сложная проблема, но это один из немногих аспектов го, в котором компьютеры могут победить профессиональных игроков в го, поскольку все это расчеты, и, хотя это сложно, теория хорошо понятна. Чтобы сделать это эффективно, программа должна уметь оценивать текущий счет, идентифицировать оставшиеся на доске ходы, которые приносят очки, и сортировать их в порядке значимости — это не тривиально. Эта статья может быть хорошей отправной точкой.

Резюме: в программах на го есть место для систематических списков позиций, но они не будут полезны для позиций всей доски. Программа должна иметь возможность оценивать статус жизни/смерти каждой группы на доске, и именно в этих одной или двух групповых позициях списки будут наиболее полезными --- и они будут ценны на протяжении всей игры. При попытке атаковать группы противника целью вашей программы будет не просто распознавание форм из списка, а скорее принуждение противника к формам, которые, как он знает, мертвы , при сохранении самой живой формы . См. также Общие формы углов .

При написании программы на Go я бы дал вам тот же совет, что и человеку, изучающему Go: начните с маленькой доски, пусть даже размером 5x5, пока не выучите правила. Перейдите на 7x7, а затем долгое время оставайтесь на 9x9, прежде чем вы даже подумаете о том, чтобы попробовать 13x13.

Удачи!

И, написав этот ответ прошлой ночью, я проснулся и увидел эту статью в своем почтовом ящике: [ usgo.org/resources/downloads/Supercomputer%20Go.pdf]
Было ясно, что бог Го слушает.
Хороший ответ, еще одна страница на SL, которая может быть полезна (самое близкое, что я знаю, к таблице эндшпиля, о которой спрашивали) - это страница значений miai общих позиций эндшпиля - senseis.xmp.net/?MiaiValuesList

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

Хорошей новостью является то, что базы данных эндшпиля для ограниченных, локальных ситуаций действительно имеют смысл и могут применяться действительно хорошо, чем дальше продвинулся эндшпиль. После того, как вы проанализировали, к чему приводит каждая ограниченная локальная ситуация, вы можете вычислить лучший способ справиться с ними, найдя правильный порядок ходов. Конечно, найти идеальное решение не так просто, потому что вам нужно рассчитывать время на «бесплатные» ходы сэнтэ, которые действительно уничтожают ваши собственные ко-угрозы и так далее, но эндгейм ИИ в Го довольно хорош по сравнению с мидгеймом.

Чтобы понять концепцию эндшпиля, общие паттерны, важность сэнтэ/готэ и так далее, могу порекомендовать книгу «Эндшпиль », если они вам интересны.

Существует теория эндшпиля для го с использованием сюрреалистических чисел . Теория изложена в книге Берлекэмпа и Вулфа «Математический ход: охлаждение получает последнюю точку».

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

Комментарии на странице книги на Amazon указывают на то, что современный компьютер Go сильно отличается от того, что описано в этой книге.
@John: Упомянутая книга рассматривает только теорию эндшпиля (но это исчерпывающим образом); это не про Computer Go вообще.