当没有路径存在时,A *搜索算法确定循环变量

时间:2013-02-27 13:04:15

标签: java algorithm search

我正在尝试在Java中实现 A *搜索算法,我有一个问题:

我需要运行A *循环多少次,直到显然没有现有路径?

例如:如果我有一个for循环; “i”应该增多多久?

2 个答案:

答案 0 :(得分:2)

当您探索了使用A *可以到达的所有节点时,如果没有找到目标,那么您可以假设没有路径。

答案 1 :(得分:1)

我认为你正在考虑A *错误的方式。 您运行它直到没有更多节点要搜索。如果到目前为止还没有达到你的目标,那就没有路径了。

的伪:

//Our list of still open nodes
List<Node> nodesToSearch = new List<Node>(); 
while (nodesToSearch.Count > 0)
{
   //SearchNode, if its our target we are done

   //Add reachable neighbours to the list of nodes to search. So next iteration we will continue on searching those
   //Remove current node.. since its searched
}
//If we end up here without a target there is no path. 
//That means we have searched all nodes and their neighbours etc etc etc. Without reaching the target.