2013-04-20 94 views
0

我需要启发式扫雷游戏的建议。如果发现没有我的10个领域,我很好奇如何估计应该打开下一个领域?我正在考虑在数字的每个区域周围寻找地雷的可能性,并在计算结束时选择一个可能性最小的区域,但我认为它不会给我带来好的结果,因为我需要打开已经安全的区域以及什么我需要的是打开一个领域,这将打开董事会的最大区域。我想阅读好的想法,但没有欺骗算法。AI算法可能的最短路径解决方案

回答

0

您可以尝试使用蒙特卡洛模拟的A *搜索。也就是说,为每种正在打开的单元类型(每种类型的动作)定义成本/回报。

假设您在当前时间步骤可以执行K个不同的操作(a_1,a_2,a_3 ...)。

  1. 对于每个动作(开放单元格X),并使用游戏模型来模拟接下来会发生什么。存储奖励的行动顺序,并积累奖励原来的行动。您可以将概率权重添加到操作以及后果以使估算更准确。

  2. 取每个动作和动作序列的模拟奖励的平均值。在深度D处进行M次模拟(其中M和D只是预定义值以确保算法不会花费太长时间)后,从模拟奖励最高的(a_1,a_2,a_3 ...)中选择一个动作。修剪是必要的,使这种方法有效(也就是说,不要浪费时间在几个步骤模拟后肯定不会导致高回报的行动)