В данный момент я просто оцениваю это как «выигрыш» для последнего оставшегося игрока и получаю обратно выигрыш для него.
Однако, когда я смотрю на статистику посещений, этот узел возвращается к тысячамвремя, поэтому очевидно, что UCB1 «выбирает» посещение этого узла много раз, но на самом деле это пустая трата, стоит ли мне распространять что-то иное, кроме однократной победы для этих «всегда выигрышных» узлов?
Нет, то, что вы в настоящее время уже делаете, правильно.
MCTS по существу оценивает значение узла как среднее значение результатов всех путей, которые вы проходили через этот узел.В действительности нас обычно интересуют оценки в минимаксном стиле.
Чтобы средние оценки MCTS стали равными минимаксным оценкам в пределе (после бесконечного промежутка времени), мы полагаемся на фазу выбора (например, UCB1) для отправки стольких симуляций(= Фазы выбора + воспроизведения) вниз по пути (путям), который был бы оптимальным в соответствии с минимаксными оценками, что средние оценки также в пределе стремятся к минимаксным оценкам.
Предположим,например, что есть выигрышный узел непосредственно ниже корневого узла.Это крайний пример вашей ситуации, когда терминальный узел уже достигнут на этапе выбора, и после этого воспроизведение не требуется.Минимаксная оценка корневого узла будет выигрышем, поскольку мы можем напрямую получить выигрыш за один шаг.Это означает, что мы хотим, чтобы средний балл MCTS также стал очень близок к выигрышной оценке для корневого узла.Это означает, что мы хотим, чтобы на этапе выбора подавляющее большинство симуляций сразу отправлялось в этот узел.Если, например, 99% всех симуляций сразу же отправляются на этот выигрышный узел из корневого узла, средняя оценка корневого узла также станет очень близкой к выигрышу, и это именно то, что нам нужно.
Этот ответ касается только реализации базового UCT (MCTS с UCB1 для выбора).Более сложные модификации этой базовой реализации MCTS, связанные с этим вопросом, см. В ответе manlio