Гиперпараметрическая настройка весов для простой функции для Отелло в C - PullRequest
0 голосов
/ 24 марта 2020

Я делаю простую игру Реверси / Отелло в C, где игрок играет против компьютера. При создании своего ИИ я счел необходимым создать оценочную функцию для оценки конкретной игровой позиции:

Поэтому я придумал простую функцию:

оценка = а * (переворачивает) + b * (углы) + c * (MovesEliminated)

Где переворачивание подсчитывает количество противоположных плиток, которые ИИ может перевернуть, когда он размещает свою плитку в месте.

Углы высоко ценятся, так как они создают «стабильные» плитки в Отелло.

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

Проблема в том, что Веса, b и c являются гиперпараметрами, и я понятия не имею, какие значения для них задать. Есть ли какие-нибудь экспериментальные значения (или диапазон), с которых я мог бы начать?

Для меня углы должны иметь наибольший «приоритет», за которыми следуют исключенные ходы, а затем переворачивание. Помощь будет принята с благодарностью!

...