Boost Graph Library A *用于一致的启发式算法

时间:2013-04-24 20:01:16

标签: boost a-star boost-graph

我已经读过,在对问题应用A *时,如果你的启发式是一致的,那么你可以进一步优化A *搜索。 Boost图库提供了两种版本的A *算法:astar_searchastar_search_tree。关于两者之间的区别,文件不是很清楚;其中一个执行优化搜索,假设一致的启发式?

2 个答案:

答案 0 :(得分:4)

通过咨询Boost邮件列表,我得到了我正在寻找的答案。我将在这里为后代重现答案:

  

区别在于是否应该努力避免   多次访问同一个顶点。对于顶点可以的图形   通常使用很多路径,你应该更喜欢astar_search来避免   重新审视顶点及其后继者的额外工作。如果是   不太可能相同的顶点出现在多个路径上或检查   顶点足够便宜,不值得避免重复   工作,使用astar_search_tree,它不记得它有哪些顶点   先前访问过。试图找到重复顶点的缺点   是因为它需要越来越多的内存来存储查找表   以前看过哪些顶点,搜索和时间都需要时间   更新此表。这两种版本的算法都是可以接受的   启发式工作正常。

Link to the thread

答案 1 :(得分:-1)

_tree和非_tree提升图算法版本之间的区别在于_tree版本假设您的图形实际上是一棵树,因此它没有周期且只有一个在节点的箭头中。

相关问题