Я пишу программу для игры Chomp. Вы можете прочитать описание игры на Wikipedia, однако я опишу его вкратце.
Мы играем на шоколадной плите размера n x m, т.е. бар делится на n x m квадратов. На каждом шагу текущий игрок выбирает квадрат и ест все ниже и справа от выбранного квадрата. Так, например, следующее допустимое первое перемещение:
Цель состоит в том, чтобы заставить вашего оппонента съесть последний кусок шоколада (он отравлен).
Что касается части ИИ, я использовал минимаксный алгоритм с усечением глубины. Однако я не могу придумать подходящую функцию оценки положения. В результате, с моей функцией оценки, игроку очень легко выиграть против моей программы.
Может ли кто-нибудь:
- предложите хорошую функцию оценки позиции или
- укажите полезную ссылку или
- предложить альтернативный алгоритм?