这是我思考了一个星期左右的一个问题,由一位同事提出:
想象一个在 36×36 的网格上进行的游戏。游戏的目标是创建一个任意大小的正方形的四个角(例如,2×2,3×3,4×4 等)。第一位玩家可以在除中心四个网格空间之外的任何位置放置一个游戏棋子。在第一步之后,玩家可以将他们的游戏棋子放置在网格上的任何位置。游戏棋子放置后不能移动。就是这样;游戏简单而有趣。
我一直在尝试提出一种赢得游戏或至少玩好游戏的算法。有什么建议吗?
回答:
这是一个完美信息的博弈,玩家轮流行动,就像国际象棋一样,所以国际象棋引擎中使用的方法也适用于此。 使用 极小极大算法(可能使用 alpha-beta 剪枝)来搜索有效移动的树。您可以使用一些评估函数来指导您的搜索,优先考虑拥有最多几乎完成的正方形的位置。