Artificial intelligence AI扫雷舰项目

Artificial intelligence AI扫雷舰项目,artificial-intelligence,game-engine,minesweeper,Artificial Intelligence,Game Engine,Minesweeper,我需要执行扫雷舰解算器。我已经开始实现基于规则的代理。 我执行了一些规则。我有一个启发式函数,用于为正在处理的当前单元格(包含有关周围单元格的信息)选择最佳匹配规则。因此,对于每个选定的单元,它可以决定8个周围单元打开它们、标记它们或什么也不做。我是说。此时,代理获取一些显示的细胞作为输入,并决定如何处理周围的细胞(此时,代理不知道如何决定处理哪个细胞) 我的问题是,要实现什么算法来决定要处理哪个细胞 假设,对于第一步,代理将显示一个角单元格(或其他单元格,根据第一步的某些规则)。那之后怎么办

我需要执行扫雷舰解算器。我已经开始实现基于规则的代理。 我执行了一些规则。我有一个启发式函数,用于为正在处理的当前单元格(包含有关周围单元格的信息)选择最佳匹配规则。因此,对于每个选定的单元,它可以决定8个周围单元打开它们、标记它们或什么也不做。我是说。此时,代理获取一些显示的细胞作为输入,并决定如何处理周围的细胞(此时,代理不知道如何决定处理哪个细胞)

我的问题是,要实现什么算法来决定要处理哪个细胞

假设,对于第一步,代理将显示一个角单元格(或其他单元格,根据第一步的某些规则)。那之后怎么办

我知道我需要实现某种搜索。我知道很多搜索算法(BFS、DFS、A-STAR和其他),这不是问题所在,我只是不知道如何在这里使用这些搜索


我需要用人工智能原理:现代方法来实现它。

BFS、DFS和a*在这里可能不合适。当你对世界有了全面的了解后,如果你正试图制定一个行动方案,那么这些算法是很好的。在扫雷舰上,你没有这样的知识

相反,我建议尝试使用本书第三节中的一些逻辑推理技巧,特别是使用SAT或第10章中的技巧。这将让你得出关于地雷在哪里使用的结论,比如“以下八个方块中的一个是地雷,而下面八个方块中的两个正好是地雷。”在每一步这样做将帮助你确定地雷在哪里,或者意识到在继续之前你必须猜测

希望这有帮助

我移植了这个(需要一些帮助)。以下是指向它的链接:。以下是项目:


玩得开心

我已经在规则中实现了其中的一些技术,我已经实现了某些方法:treatCell(I_CellToTreat),它匹配最佳规则并执行它。我只是不知道用什么顺序来处理暴露的细胞,以及下一步要选择哪个来处理,目前它只是在整个暴露的细胞集合中迭代并处理它们。它在一个小板上运行得很好,但我需要实现一些更好的算法。