需要一个具有多个目标的星级搜索算法的想法
问题内容:
具有指定目标的A星级搜索算法非常简单。但是,如果图中有多个目标,该怎么办。例如;
您可能想找到必须包含先前指定的节点的最短路径。这里的约束条件是您的路径必须包含A,B和C个节点(或更多),而不仅仅是找到指向节点A或B或C的路径。当然,该图包括一个或多个A,B,C类型的节点。因此,存在一个问题,如何
使 A star搜索算法适用于 多个目标 ?
编辑:我们可以访问多个节点。
问题答案:
您是在描述路径条件而不是目标条件。像所有搜索算法一样,A *正在寻找通往目标的路径[可以在目标集中,没有问题]。
您的问题(对于一般情况)至少与Traveling
Salesman问题
一样困难,因此,该问题是NP-
Hard。
简化很简单:给定一个TSP实例-
找到从某点v
到某点的最短路径,以v
使该路径通过所有顶点[约束]。您可以通过简单地用不同的标记标记每个顶点来做到这一点。
但是请注意,该A*
算法在 目标顶点集中 找到一条顶点的最短路径没有问题。请记住,A
是基于Dijkstra的Algorithm的,该算法从单个源查找到
所有顶点的* 最短路径。