一个学校项目要求我使用C++编写一个日期游戏(示例网址:http://www.cut-the-knot.org/Curriculum/Games/Date.shtml),其中计算机玩家必须实现带有Alpha-Beta剪枝的Minimax算法。到目前为止,我理解了算法的目标是最大化潜在收益,同时假设对手会尽量减少这些收益。
然而,我阅读的所有资源都没有帮助我理解如何设计评估函数,而Minimax算法所有的决策都基于此。所有的示例都将任意数字分配给叶节点,但我需要实际为这些节点分配有意义的值。
直觉告诉我,赢得叶节点应该是+1,输掉应该是-1,但中间节点如何评估呢?
非常感谢您提供任何帮助。