Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 基于人工智能移动的提示功能_Algorithm_Artificial Intelligence_Path Finding - Fatal编程技术网

Algorithm 基于人工智能移动的提示功能

Algorithm 基于人工智能移动的提示功能,algorithm,artificial-intelligence,path-finding,Algorithm,Artificial Intelligence,Path Finding,我正在做一个类似的游戏。简单地说,这是一个基于回合的游戏,其中有一个或多个蜘蛛试图抓住苍蝇吃掉它们。用户的任务是通过从网络上切下一小部分来防止这种情况,以便释放苍蝇或捕获蜘蛛。有一个提示功能,显示如何完成关卡并释放苍蝇或以尽可能少的切割(移动)捕捉蜘蛛 我正在使用*算法找到一只苍蝇的最短路径。该算法仍然不是很智能,因为它只找到最短路径,不考虑用户的切割 我想知道的是如何实现提示功能。我现在想的是使用博弈树,评估每一个结果,然后选择最好的一个,但我不确定这是否是最好的方法 对于实现这种功能,您有什

我正在做一个类似的游戏。简单地说,这是一个基于回合的游戏,其中有一个或多个蜘蛛试图抓住苍蝇吃掉它们。用户的任务是通过从网络上切下一小部分来防止这种情况,以便释放苍蝇或捕获蜘蛛。有一个提示功能,显示如何完成关卡并释放苍蝇或以尽可能少的切割(移动)捕捉蜘蛛

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

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

对于实现这种功能,您有什么建议

另外,我没有试图复制应用程序。我想用自己的努力做一些类似的事情,这样我就能更好地解决问题。我想要的是一个想法,而不是解决方案…

这是我的猜测

  • 在每个回合中,对所有蜘蛛使用*来为它们找到最近的苍蝇的最短路径。以某种方式将每个爬行器的每个最短路径的所有边存储在某种有序的数据结构中。如果爬行器有多条共享最短路径长度的可用路径,请存储所有路径。e、 g.如果一只蜘蛛有3条路径可供3只不同的苍蝇使用,且所有路径的长度均为2,则将其全部存储

  • 按路径长度对步骤1中找到的路径进行“排序”。找出其中最短的(长度最小的)。让我们称之为最短路径

  • 在所有这些最短路径中,尝试找到所有路径中最常见(频率最高)的边。告诉玩家,如果存在某个特定的边缘,则切割该边缘。如果不存在这样的“公共”边,告诉玩家在最短路径上切割最后一条边,因为这将使一次释放一只或多只苍蝇的机会最大

  • 我没有确凿的证据证明这是有效的。作为一名球员,这似乎是一件最理想的事情


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

    因此,你试图复制其他人的应用程序,而不是自己复制,你想告诉你怎么做吗?对于任何适合在屏幕上玩的游戏来说,可能会有相对较少的可能性。我会尽我所能选择最好的。嘿,伙计,我不是在要求实现或伪代码。。。只是一个想法……一个不需要代码的问题可能不属于这里。试一下。对于那些感兴趣的人来说,找到最不可能的动作的最好方法是尝试所有可能的切割和工具组合,因为频率并不能保证获得最佳解决方案,正如我的经验所示。问题在于算法运行时,这迫使我将提示预加载到xml文件中。