Я иногда пишу программы для игры в настольные игры. Основная стратегия - стандартная альфа-бета-обрезка или аналогичные поиски, иногда дополняемая обычными подходами к эндшпилям или открытиям. Я в основном играл с вариантами шахмат, поэтому, когда приходит время выбрать мою функцию оценки, я использую базовую функцию оценки шахмат.
Однако теперь я пишу программу, чтобы играть совершенно новую настольную игру. Как выбрать хорошую или даже достойную оценку функции?
Основные проблемы заключаются в том, что одни и те же куски всегда находятся на доске, поэтому обычная материальная функция не будет меняться в зависимости от позиции, и игра была сыграна менее тысячи раз или около того, поэтому люди не обязательно играйте достаточно хорошо, чтобы дать представление. (PS. Я считал подход MoGo, но случайные игры вряд ли заканчиваются.)
Подробнее об игре: Игра проводится на плате 10 на 10 с фиксированными шестью частями на сторону. Части имеют определенные правила движения и взаимодействуют определенным образом, но никакая часть никогда не захватывается. Цель игры состоит в том, чтобы иметь достаточное количество ваших предметов на определенных специальных площадках на доске. Цель компьютерной программы - предоставить игроку, который является конкурентоспособным или лучше, чем нынешние игроки.