В чем разница между оценкой состояния и эвристикой в ​​игровом ИИ?

Я пытаюсь реализовать минимаксный алгоритм для ИИ-игрока в простой карточной игре. Однако из-за проведения исследований я не понимаю, каковы ключевые различия между оценкой состояния и эвристикой.

Насколько я понимаю, эвристика рассчитывается на основе текущей информации, доступной игроку (например, в шахматах фигуры и их соответствующие местоположения). С помощью этой информации они приходят к выводу, основанному на эвристической функции, которая, по сути, обеспечивает «эмпирическое правило».

Оценка состояния — это точное значение текущего состояния.

Однако я не уверен, почему обе вещи сосуществуют, поскольку я не вижу, как они сильно отличаются друг от друга. Пожалуйста, может кто-нибудь уточнить и прояснить мое замешательство. Спасибо.


person PaddyOB    schedule 05.03.2017    source источник


Ответы (1)


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

Но на практике дерево огромно и полностью его не обыскать. Поэтому вы должны остановить поиск в какой-то момент, который не является конечным состоянием. Нет определенного победителя или проигравшего. Теперь трудно пометить это состояние 1,0,-1, так как игра может быть слишком сложной, чтобы легко определить победителя из какого-то состояния, далекого от конечного. Но вам все равно нужно оценивать эти позиции и можно использовать некоторые предположения об игре, что равносильно эвристической информации. Одним из примеров является фигурная масса в шахматах (ферзь дороже пешки). Это эвристическая информация, заложенная в несовершенной оценочной функции (аппроксимация реальной). Чем лучше ваши предположения/эвристика, тем лучше приближение к реальной оценке!

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

person sascha    schedule 05.03.2017