如何模拟这种人工智能?

时间:2010-07-17 03:59:19

标签: language-agnostic artificial-intelligence

在玩this游戏的时候,我想知道一个人工智能如何控制侦探或罪犯是否可以工作。

对于懒惰的人来说,游戏的目标很简单:

  • 棋盘游戏是一个无向图,有4种边缘(对于同一对或顶点也可以重叠),每种都是一种需要特定种类票的运输
  • 侦探有一堆票可以在这个图上移动,每回合一次(这意味着从一个节点到另一个节点)。犯罪分子可以做同样的动作(加上3条独占路径),但对于勾选没有限制
  • 犯罪分子通常隐藏在侦探中,但必须在5个特定的转弯中出现(然后再隐藏)
  • 如果侦探能够抓住他(其中一人必须占据犯罪分子的同一个牢房),那么他们会在24次行动中获胜,否则犯罪分子会胜诉
  • 犯罪分子必须显示他每回合使用哪张票,但他每名侦探也有1张黑票(让我们假设为5张)可以用来消灭这件事
  • 犯罪分子还有两张2x票,允许他在同一回合使用两张票(等两个动作)

我可以有效地思考犯罪分子的AI,它只是一个minmax树,试图选择最大化侦探到达他所需的移动次数的移动(这似乎是一个很好的指标)但我不能为侦探认真思考一些应该合作的人,并试着通过查看它所使用的门票来猜测犯罪分子的位置。

这只是为了好玩,但你现在有什么很酷的想法可以找出一些非常聪明的东西吗?

4 个答案:

答案 0 :(得分:1)

我喜欢这个游戏,我认为对于侦探来说,你想要模仿犯罪分子在每个地点的可能性。每隔一段时间你就会知道犯罪分子的确切位置,然后你可以考虑他做出的以下动作来确定他可能在哪些位置。

一旦你有这个,我不太确定如何优化侦探动作。你可以移动侦探来减少可能性,有效地保护罪犯。但是我确信门票周围还需要一些更高级别的策略,而不会耗尽它们。

答案 1 :(得分:1)

你已经问过如何对此进行建模,而不是如何有效地解决这个问题:

可以很容易地将其建模为部分可观察的马尔可夫决策过程(wiki link)。这适用于侦探和罪犯。 POMDP是一种非常通用的模型。

答案 2 :(得分:0)

我认为某种蒙特卡罗实施方式对此非常有用,即。模拟数千种组合并选择以大多数时间以最佳结果结束的组合。由于犯罪分子必须在5个回合中可见,所以分支因子应该保持在控制之下,尽管MC在高分支因子的游戏中也被证明是一种非常好的技术,即。去。

答案 3 :(得分:0)

为了在侦探之间进行团队合作,你需要将他们塑造成一个团队而不是个人。 Minimax仍然是一个很好的方法,但(遗憾的是)你的分支因素将会飙升。

而不是踩过所有侦探,为你的侦探团队制作看起来最好的侦探,你可以计算出他们可以做出的每一个动作的排列。如果团队合作在这个游戏中有所帮助,那么极小极大将有利于侦探一起工作的排列。

我不确定它是否实用,24位24位侦探可能工作量太大但是尝试这很有趣并且这是正确的?