Объяснение
Поиск по дереву Монте-Карло, сокращённо MCTS, не пытается исследовать каждый вариант на одинаковую глубину. Он постепенно выращивает дерево и использует накопленные результаты, чтобы выбирать направление следующей порции вычислений. Часто посещаемый ход необязательно хорош, но его оценка обычно опирается на больший объём поиска.
Один цикл MCTS
- Выбор: начать с исходной позиции и идти по существующим ветвям, уравновешивая ходы, уже выглядящие сильными, и варианты, которые остаются неопределёнными.
- Расширение: добавить позицию или ход, которые дерево ещё не развивало.
- Оценка: оценить результат из новой позиции. Классические методы могут завершать моделируемые партии, а современные системы способны использовать нейронную сеть, обученную модель распознавания шаблонов, для оценки позиции.
- Обратное распространение: вернуть результат по пройденному пути и обновить число посещений и оценки.
Повторение цикла уравновешивает эксплуатацию и исследование. Эксплуатация означает больше усилий там, где свидетельства уже благоприятны. Исследование означает проверку неопределённых альтернатив, чтобы не отвергнуть неожиданность слишком рано. Точное правило баланса зависит от реализации.
В отличие от , MCTS обычно определяет объём исследования ветви по данным, собранным во время самого поиска, а не только по единой глубине. В некоторых шахматных программах на основе нейронных сетей сеть предоставляет политику, предлагающую вероятные ходы, и значение, оценивающее результат. Значение выполняет роль, связанную с , хотя общий процесс поиска отличается.
Употребление и контекст
MCTS формирует оценки по посещениям и значениям. При ограниченном времени они могут меняться и не являются исчерпывающим доказательством позиции.
Распространённые заблуждения
Монте-Карло не означает полностью случайную игру
Случайные симуляции могут использоваться, но дерево постепенно направляет вычисления к информативным ветвям. Современные системы способны заменить значительную часть случайности обученными сетями.
Источники
- 1.Monte-Carlo Tree Search, Chess Programming Wiki
