一尘不染

需要一个具有多个目标的星级搜索算法的想法

algorithm

具有指定目标的A星级搜索算法非常简单。但是,如果图中有多个目标,该怎么办。例如;
您可能想找到必须包含先前指定的节点的最短路径。这里的约束条件是您的路径必须包含A,B和C个节点(或更多),而不仅仅是找到指向节点A或B或C的路径。当然,该图包括一个或多个A,B,C类型的节点。因此,存在一个问题,如何
使 A star搜索算法适用于 多个目标

编辑:我们可以访问多个节点。


阅读 226

收藏
2020-07-28

共1个答案

一尘不染

您是在描述路径条件而不是目标条件。像所有搜索算法一样,A *正在寻找通往目标的路径[可以在目标集中,没有问题]。

您的问题(对于一般情况)至少与Traveling
Salesman问题
一样困难,因此,该问题是NP-
Hard

简化很简单:给定一个TSP实例-
找到从某点v到某点的最短路径,以v使该路径通过所有顶点[约束]。您可以通过简单地用不同的标记标记每个顶点来做到这一点。

但是请注意,该A*算法在 目标顶点集中 找到一条顶点的最短路径没有问题。请记住,A
是基于Dijkstra的Algorithm的,该算法从单个源查找到
所有顶点的* 最短路径。

2020-07-28