玩this游戏我想知道如何控制侦探或罪犯可以工作的人工智能。如何建模这种人工智能?
对于懒惰的人游戏的目的是简单的:
- 棋盘游戏是有4种边缘(即也可以为相同的一对或顶点重叠)的无向图中,每个类是需要特定种类票证的运输方式
- 侦探拥有一堆车票来绕过此图,每转一圈(这意味着从一个节点到另一个节点)。罪犯可以做同样的动作(加上3条专属路径),但没有限制票号
- 罪犯通常隐藏在侦探中,但它必须在5个特定轮次中出现(然后再隐藏)
- 如果侦探能够在24次移动之前抓住他(他们中的一个必须占据同一犯人的单元格),那么他们将获胜,否则犯罪分子必须显示他每回合使用哪张票,但他也有每个侦探1张黑色票(让我们假设5张)可用于消除这件事
- 犯罪分子还有两张2x票,允许他在同一回合中使用两张票(以及两个动作)
我可以有效地思考一个AI的犯罪,它只是一个minmax树,试图选择最大化侦测到达他所需动作数量的动作(这似乎是一个很好的指标),但对于那些应该合作的侦探来说,我想不出任何足够酷的东西,并且通过查看它使用的门票来猜测犯罪分子的位置。
这只是为了好玩,但你现在有没有什么很酷的想法来找出一些相当聪明的东西?
http://sourceforge.net/projects/scotland-yard/ – 2010-07-17 04:16:13
谢谢你的链接,我已经看了一下这个实现:正如评论所述,逃逸AI的问题在于它选择了_best_ move那不是_smarter_之一。根据距离度量标准,这只是最好的,它并没有考虑到类似回溯移动的技巧(也许潜入侦探之间,而不是离他们很远)。 – Jack 2010-07-17 04:32:25