首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于AI动作的提示函数

基于AI动作的提示函数
EN

Stack Overflow用户
提问于 2013-10-26 04:23:08
回答 1查看 127关注 0票数 1

我正在制作一个类似于Greedy Spiders的游戏。简而言之,这是一种基于回合的游戏,其中有一只或多只蜘蛛试图接近苍蝇吃掉它们。用户的任务是通过从网络上切下一小部分来防止这种情况,以便释放苍蝇或诱捕蜘蛛。有一个提示功能,显示如何完成关卡和释放苍蝇或诱捕蜘蛛与尽可能少的削减(移动)。

我正在使用A*算法来寻找到其中一只苍蝇的最短路径。该算法仍然不是很智能,因为它只找到最短路径,而没有考虑用户的切割。

我想知道的是如何实现提示功能。我现在想的是使用博弈树,评估每个结果,然后选择最好的,但我不确定这是否是最好的方法。

你会推荐什么来实现这样的功能呢?

PS。我不是想复制这个应用程序。我想做一些与我自己的努力类似的事情,这样我就可以在解决问题方面变得更好。我想要一个想法,而不是一个解决方案。

EN

回答 1

Stack Overflow用户

发布于 2013-10-26 11:35:19

这是我的猜测。

  1. 在每个转弯中,对所有蜘蛛使用A*,以便为所有蜘蛛找到最近的苍蝇的最短路径。以某种方式将每个爬行器的每个最短路径的所有边存储在某个有序数据结构中。如果爬行器有几个共享最短路径长度的可用路径,请存储所有这些路径。例如,如果一个爬虫有3条路径可供3个不同的苍蝇使用,并且所有这些路径的长度都为2,则存储所有这些路径。
  2. 根据路径长度对步骤1中找到的路径进行“排序”。找出其中最短的(具有最小长度的那些)。让我们称它们为最短路径。
  3. 在所有这些最短路径中,试着找到所有路径中最常见(频率最高)的边。告诉玩家如果有特定的边,就把它切掉。如果不存在这样的“公共”边,告诉玩家在最短的路径上切割最后一条边,因为这将提供最大的机会一次释放一个或多个苍蝇。

我没有确凿的证据证明这是可行的。作为一个球员,这似乎是一件最好的事情。

在多条最短路径之间找到“公共边”的想法是作为一种在一次转弯中完成几个重要目标的方法出现的,比如一次拦截几个蜘蛛(或一次单个蜘蛛的多条路径)。可能会有更先进的算法来做这件事。否则,如果不存在“公共边”(即所有边的频率都为== 1),最好的策略似乎是一个接一个地慢慢切断处于最紧迫危险中的苍蝇周围的边缘。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19598798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档