首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双向A* (A-star)搜索

双向A* (A-star)搜索
EN

Stack Overflow用户
提问于 2010-09-04 17:54:11
回答 3查看 12.9K关注 0票数 21

我正在实现双向A*搜索(在搜索中,双向搜索是同时从源和目标执行的,当这两个搜索相遇时,我将获得最短路径-至少添加了一些额外的逻辑)。

有没有人有过单向A*和双向A*的经验?它--我能期待什么样的性能提升?我曾估计它或多或少会减少搜索时间的一半,至少--但我能看到比这更大的收益吗?我正在使用算法来确定公路网上的最短路径-如果这与此相关的话(我已经读到了MS的"Reach“算法,但我想逐步实现这一点,而不是直接跳进去)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-04 18:49:23

在最好的情况下,它将以O(b^(n/2))运行,而不是O(b^n),但这仅在您幸运的情况下:)

(其中b是分支因子,n是a单向A*考虑的节点数)

这完全取决于这两个搜索相遇的难易程度,如果它们在搜索的早期找到对方,你已经节省了大量的搜索时间,但如果它们分支到非常不同的方向,你可能会得到比简单的A*更慢的结果(因为所有额外的记账)

票数 9
EN

Stack Overflow用户

发布于 2012-09-04 22:20:57

你可能想尝试https://github.com/sroycode/tway,有一个基准测试脚本将其与标准astar进行比较(对于NY城市道路数据,它似乎提供了30%的时间效益)

票数 2
EN

Stack Overflow用户

发布于 2016-06-09 19:10:11

你可能会认为集群是更有效的助推器。另请参阅this article

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3641741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档