AI Minesweeper项目

Nik*_*ita 8 artificial-intelligence game-engine minesweeper

我需要实现扫雷解算器.我已经开始实现基于规则的代理.我已经实施了一些规则.我有一个启发式函数,用于为当前单元格(有关周围单元格的信息)选择最佳匹配规则.因此,对于每个选定的细胞,它可以决定8个环境细胞打开它们,标记它们或什么都不做.我的意思是.此时,代理人将一些显示的细胞作为输入,并决定如何处理周围的细胞(此时,代理人不知道,如何决定要治疗哪个细胞).

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

假设,对于第一次移动,代理将显示角落单元格(或根据某些规则进行第一次移动).那后该怎么办?

我知道我需要实现某种搜索.我知道很多搜索算法(BFS,DFS,A-STAR等),这不是问题,我只是不明白我怎么能在这里使用这些搜索.

我需要在人工智能原理中实现它:一种现代方法.

tem*_*def 8

BFS,DFS和A*可能不适合这里.如果您在完全了解世界的情况下尝试制定行动方案,那么这些算法就很好.在扫雷中,你没有这样的知识.

相反,我建议尝试使用本书第三部分中的一些逻辑推理技术,特别是使用SAT或第10章中的技术.这将让你得出关于地雷在哪里使用"下列之一"等事实的结论八个方格是一个地雷,以下八个方格中的两个正好是一个地雷." 在每个步骤执行此操作将帮助您确定地雷的位置,或者意识到您必须在继续之前猜测.

希望这可以帮助!