我需要关于扫雷游戏启发式的建议。如果找到 10 个没有我的字段,我很好奇如何估计下一个要打开的字段是什么?我正在考虑在每个带有数字的字段周围寻找地雷的可能性,并在计算结束时选择一个可能性最小的字段,但我认为这不会给我带来好的结果,因为我需要打开已经安全的字段以及什么我需要的是打开一个字段,它将打开板上最大的区域。我想阅读好的想法,但只是没有作弊算法。
问问题
136 次
1 回答
0
您可以尝试使用蒙特卡罗模拟进行 A* 搜索。也就是说,为正在打开的每种类型的单元格(每种类型的操作)定义成本/奖励。
假设您在当前时间步可以执行 K 个不同的操作 (a_1,a_2,a_3...)。
对于每个动作(打开单元格 X),并使用游戏模型来模拟接下来会发生什么。存储动作序列的奖励,并将奖励累积到原始动作。您可以为动作和后果添加概率权重,以使估计更准确。
取每个动作和动作序列的模拟奖励的平均值。在深度 D 进行 M 次模拟后(其中 M 和 D 只是预定义的值,以确保算法不会花费太长时间),从 (a_1,a_2,a_3...) 中选择一个具有最高模拟奖励的动作。剪枝是必要的,以使这种方法有效(也就是说,不要将时间浪费在经过几步模拟后肯定不会导致高回报的动作上)
于 2013-04-20T22:05:23.223 回答