2013-12-13 2 views
1

Minimax, похоже, отлично справляется с тем, чтобы не проиграть, но это очень фаталистично, если предположить, что противник не допустит ошибку. Конечно, многие игры решаются на ничью, но нужно играть за «максимально возможное стремление к победе, не рискуя проиграть», даже если нет принудительных побед. То есть, если два дерева с одинаковым (вытянутым) конечным положением, которым придается оптимальное воспроизведение, как можно настроить алгоритм, чтобы предпочесть тот, который, скорее всего, выиграет, если противник сделает субоптимальное движение или сделает противника более вероятно, ускорится?Как алгоритм минимакса может быть более оптимистичным?

Используя простой пример Tic-Tac-Toe, более сильный игрок часто стремился устанавливать вилки и тем самым гарантировать победы. Несмотря на то, что противник мог видеть такой трюк и останавливать его заранее, они с большей вероятностью пропустят это, чем если бы вы просто положили два Xs в пустую строку и надеетесь, что они на мгновение забудут, в какую игру они играют. Точно так же сильный игрок будет стремиться начинать в центре или, возможно, в углу, но в простом минимаксном нет никакой причины (так как вы все равно можете заставить ничью) не выбрать краевой квадрат.

ответ

2

Если я правильно понимаю ваш вопрос, вы спрашиваете, как настроить алгоритм минимакса, чтобы он не предполагал, что оппонент всегда делает лучший ход.

Посмотрите на expectiminimax algorithm, вариант минимакс. По существу, вместо того, чтобы иметь дело с минимальными или минимальными узлами, он вводит случайные узлы, которые сохраняют вероятность того, что противник выберет текущий ход.

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

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

+0

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

1

Как насчет настройки «мин» узлов?

В обычном минимаксном при оценке позиции для противника оценка является минимальной оценкой для каждого из его ходов. Включение некоторого оптимизма (из pax «max» игрока в поиск может быть выполнено с использованием другой функции, чем минимум. Некоторые вещи, которые могут быть опробованы:

-Использование второй худший счет

-при смесь между минимальным и средним (или медианы)

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

+0

Я думаю, что здесь есть очень важная идея, думая о том, какое движение скорее может сделать оппонент, а не только то, что они потенциально могут сделать. Моделирование движения более слабого игрока, безусловно, обеспечило бы оптимизм. Я предполагаю, что идеальным было бы отслеживать кортеж оценок для разных противников силы, таких как тот, кто выполняет минимальный минимакс, и другой, который просто использует эвристику. Вначале будет использоваться сильная оценка игрока, а более слабые значения - для разрыва связей. – Josiah

Смежные вопросы