文森特,
首先,不要觉得自己很傻。你已经(我推断)学习基础计算机科学三年了;现在你正在将这些基本技术应用到一些非常专业的东西上——一个狭窄领域(人工智能)中的特定应用程序(Stratego)。
其次,确保您的顾问完全理解 Stratego 的规则。Stratego 在更大的棋盘上进行,棋子比国际象棋更多(和更多类型的棋子)。这给了它更大的合法位置空间,以及更大的合法移动空间。这也是一个隐藏信息的游戏,再次增加了难度。您的顾问可能希望限制项目的范围,例如,专注于具有全面观察的变体。我不知道你为什么认为这更简单,除了棋子的移动更简单一点。
第三,我认为首先要做的正确的事情是看看游戏在人工智能领域是如何处理的。Russell 和 Norvig,第 3 章(用于一般背景)和第 5 章(用于两人游戏)非常容易理解并且写得很好。你会看到两个基本的想法:第一,你基本上是在树中执行一个巨大的搜索来寻找胜利,第二,对于任何不平凡的游戏,树都太大了,所以你搜索到某个深度,然后用“董事会评估功能”解决并寻找其中之一。我认为你的第三个要点就是这样。
棋盘评估函数很神奇,可能是使用遗传算法或遗传程序的一个很好的候选者,其中任何一个都可以与神经网络结合使用。基本思想是您正在尝试设计(或实际上演变)一个将棋盘位置作为输入并输出单个数字的函数。大数字对应强位置,小数字对应弱位置。Chellapilla 和 Fogel 有一篇著名的论文展示了如何为跳棋游戏做到这一点:
http://library.natural-selection.com/Library/1999/Evolving_NN_Checkers.pdf
我认为这是一篇很棒的论文,将三大 AI 链联系在一起:对抗性搜索、遗传算法和神经网络。它应该会给你一些关于如何代表你的董事会、如何考虑董事会评估等方面的灵感。
但是请注意,您尝试做的事情比 Chellapilla 和 Fogel 的工作要复杂得多。没关系——毕竟这是 13 年后的事了,你会在这一段时间。你仍然会遇到代表棋盘的问题,因为 AI 玩家对其对手的状态不完全了解;最初,除了位置之外一无所知,但最终随着棋子在冲突中被淘汰,人们可以开始使用一阶逻辑或相关技术来缩小单个棋子的范围,甚至可能使用概率方法来推断有关整个集合的信息。(其中一些可能超出了本科项目的范围。)