双向A* - 函数族

双向A*(发音为"A星")算法基于A*算法。

描述

基于A*算法,双向搜索找到从起始顶点(start_vid)到结束顶点(end_vid)的最短路径。 它同时运行两项搜索:一项从 start_vid 向前搜索,一项从 end_vid 向后搜索,当两者在中间相遇时停止。 该实现可以与有向图和无向图一起使用。

主要特点是:

  • 流程适用于有向图和无向图。

  • 顺序是:

    • 首先按 start_vid (如果存在)

    • 然后按 end_vid

  • 当存在路径时返回值。

  • \(v\)\(u\) 为图上的节点:

    • 如果没有从 \(v\)\(u\) 的路径:

      • 没有返回对应的行

      • \(v\)\(u\)agg_cost\(\infty\)

    • \(v = u\) 没有路径,因此

      • 没有返回对应的行

      • vuagg_cost\(0\)

  • 当同一顶点标识符的 \((x,y)\) 坐标不同时:

    • 使用随机选择的顶点的 \((x,y)\) 坐标。

  • 运行时间: \(O((E + V) * \log V)\)

  • 对于起始顶点和结束顶点之间存在路径的大型图:

    • 预计终止速度比 pgr_astar 更快

查看可用的 heuristicsfactor 处理。

另请参阅

索引和表格