我想为 Steffen Benndorf 的名为“The Game”的纸牌游戏的 1 人版本创建一个 AI(此处的规则:https ://nsv.de/wp-content/uploads/2018/05/the-game-英文.pdf)。
该游戏适用于四行卡片。两行按升序排列(数字 1-99),两行按降序排列(数字 100-2)。我们的目标是在四排卡片中放置尽可能多的卡片,如果可能的话,全部放置 98 张卡片。玩家最多可以有 8 张牌,并且必须至少打出 2 张牌才能再次抽牌。他只能在上升行打出较大的值,而在下降行打出较小的值,但有一个例外允许他以相反的顺序进行游戏:只要数字卡的值正好高或低 10 时。
我已经实现了一个非常简单的硬编码 AI,它只选择差异最小的牌,并在可能的情况下优先考虑 +10/-10 游戏。通过一些优化,我可以让 AI 平均得分 20 分(剩余的牌数),这是不错的(不到 10 分的优秀分数),但我被困在那里,我想走得更远。
由于抽牌堆存在随机性,我想知道是否有可能实现一个健壮且非硬编码的 AI 来玩这个游戏。
目前,我的 AI 正在使用一个非常简单的启发式算法。我不知道如何改进这种启发式,所以我想知道是否可以通过查看几个回合来提高性能。但我不知道如何模拟下一轮,因为它们将取决于抽出的牌。