经典游戏“围住神经猫”算法?

8

嗨,我在玩这个名为“Circle the Cat”的游戏http://www.gamedesign.jp/flash/chatnoir/chatnoir.html

我想知道是什么算法使得猫“聪明”?猫是如何决定要走哪个方向的?

我想到的一个解决方案是广度优先搜索并选择具有最短出口路径的方向。

我只是好奇。 :-)


我认为它仅使用广度优先搜索,没有别的。 - Saeed Amiri
2个回答

2
我认为这个问题可以通过使用Djikstra算法(或等效算法)来解决。这是一种单源最短路径算法,对于解决这个特定问题非常有效。
通过预先计算几步,就可以轻松地捕捉到猫——“智能”很容易被愚弄 :) 看起来猫似乎没有考虑到在其潜在路径中播放的非阻塞块,这使我相信它只是一个简单的无权距离计算。
当猫被困住时,它似乎会随机选择一个方向,这也可能发生在平局时。
通过将某些块(如邻近阻塞块)的权重加入,猫可能会变得“更聪明”。
祝编码愉快。

5
首先,Dijkstra不是一种无权最短路径算法,在你提供的链接中已经说明了。其次,你既不需要Dijkstra也不需要A*算法,因为这个问题可以化简为一个无权图问题。虽然不太相关,但很有趣:只要猫距离出口不超过4步,你就永远无法将其困住,只要你正确行动,不管猫怎么做,你总能赢。而在更远距离(比如链接中的游戏)中,你总能赢,这就是为什么你认为自己打败了“智能”的原因 - 实际上,它在最开始几次欺骗了你,因为你总能赢。 - IVlad

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接