【发布时间】:2012-01-23 00:12:48
【问题描述】:
假设您的世界中有两个玩家,追逐者和目标。假设追逐者的移动速度略快于目标。如果您是追赶者,并且您知道目标很聪明并且尽量不被抓住,那么追赶并最终抓住目标的好方法是什么? (我对世界的细节很模糊,因为我希望学习一个通用的算法或一系列技术来解决这个问题,而不是对世界的结构进行过多的优化。)
最初,我认为使用 Dijkstra 算法或 A* 之类的方法并在目标移动时不断重新计算路线是个好主意,但实际上可能有更好的解决方案,即采用更迂回的路线以便转弯目标。这也可以建模为一个可以用 minimax 或 UCT 解决的两人游戏,但搜索空间可能非常巨大,以至于完全无法进行任何合理的搜索。
这个问题是否被广泛研究过?如果是这样,是否有一套众所周知的技术可以在这里使用?
谢谢!
(如果这是重复的,我深表歉意;我似乎找不到像这样的另一个问题,但如果有一个我很乐意关闭这个问题)。 p>
【问题讨论】:
-
“好方法”大概是指“最快”吧?如果追赶者速度更快,它所要做的就是向目标的当前位置移动,它最终会到达它。
-
@OliCharlesworth- 执行速度(一件好事)和捕获目标所需的总时间(另一件好事)。我正在寻找一种在两者之间取得良好平衡的方法。不过,在两者上都能完美发挥作用的东西会很棒。 :-)
-
@OliCharlesworth,实际上,使用该方法可能会导致围绕目标运行,请参阅此相关问题:gamedev.stackexchange.com/questions/17313/…
-
如果不了解运动物体的特性,就很难解决这类问题——例如,如果它们具有不同的加速度曲线,并且它们是否可以精确控制它们的加速度.他们对彼此的信念也很重要。但像 Fezvez 一样,我建议查看卡尔曼滤波器。
标签: algorithm artificial-intelligence