Можно ли придумать какую-нибудь эвристическую функцию оценки состояний? Я понимаю, что одно из основных преимуществ MCTS заключается в том, что теоретически вам это не понадобится, НО: если вы все равно сможете создать несколько разумную функцию оценки, это позволит вам остановить симуляции раньше, прежде чем они достигнут конечного игрового состояния. . Затем вы можете создать резервную копию оценки такого нетерминального игрового состояния, а не просто выигрыша или проигрыша. Если вы остановите свои симуляции раньше, вы сможете запустить больше симуляций (поскольку каждая отдельная симуляция занимает меньше времени).
Кроме того, вы захотите попытаться найти способы «обобщения». Если вы запускаете одну симуляцию, вы должны попытаться посмотреть, сможете ли вы также извлечь некоторую полезную информацию из этой симуляции для других узлов дерева, через которые вы не прошли. Примерами усовершенствований, которые вы можете рассмотреть в этом духе, являются AMAF, RAVE, прогрессивная история, метод выбора N-грамм.
Вы случайно не знаете, где находится узкое место для вашей производительности? Вы можете исследовать это с помощью профилировщика. Если большая часть вашего времени обработки тратится на функции, связанные с игрой (генерация ходов, переход от одного состояния к другому и т. д.), вы точно знаете, что вы будете ограничены в количестве симуляций, которые вы можете выполнить. . Затем вы должны попытаться внедрить усовершенствования, которые сделают каждую индивидуальную симуляцию максимально информативной. Например, это может означать использование действительно хороших, дорогостоящих в вычислительном отношении функций оценки. Если код игры сам по себе уже очень хорошо оптимизирован и быстр, перенос дополнительного времени вычислений на такие вещи, как функции оценки, будет более вредным для вашего счета симуляций и, вероятно, окупится меньше.
Чтобы узнать больше об этой последней идее, может быть интересно просмотреть некоторые материалы, которые я написал на моем агент на основе MCTS в General Video Game AI, который также является средой реального времени с очень ресурсоемкой игрой, что означает, что симуляции количество строго ограничено (но коэффициент ветвления намного меньше, чем кажется в вашем случае). Pdf-файлы моих публикаций по этому вопросу также доступны в Интернете.
person
Dennis Soemers
schedule
22.11.2017