Описание алгоритма компьютерного игрока

Вычисление качества узлов с потомками

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

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

1. Оптимальный игрок

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

2. Равный игрок

Если у игрока нет полного дерева и нет идеальной интуиции, ему приходится довольствоваться тем, что есть. И выбирает он не всегда лучшие в глобальном смысле ходы. Он просто как-то их оценивает, наверное, просчитывает на какую-то глубину и выбирает лучший в каком-то своём локальном смысле. Если предположить, что он использует такое же дерево (или, по крайней мере, такие же оценки вероятностей), как и у нас, то вероятность выигрыша для какого-то узла (опять же, когда его ход) будет равна максимуму вероятности выигрыша у всех его потомков.

В принципе, может оказаться более продуктивным комбинированный подход: берём выпуклую комбинацию этих двух значений. Коэффициент можно выбирать на основании "оценки игры" соперника. Если он часто выигрывает, то он будет близок к оптимальному. Если приблизительно на равне - ближе к равному. Если часто проигрывает... Неважно, наверное. Раз проигрывает, значит, всё неплохо работает, и лучше ничего не трогать :) .

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

29.04.2006

Дальше - Дисбаланс дерева

Предложения, отзывы...