rustworkx.digraph_astar_shortest_path#

digraph_astar_shortest_path(graph, node, goal_fn, edge_cost_fn, estimate_cost_fn, /)#

计算 PyDiGraph 的 A* 最短路径

Parameters:
  • graph (PyDiGraph) – 要使用的输入图

  • node (int) – 要从中计算路径的节点索引

  • goal_fn – 一个Python可调用对象,该对象将接收1个参数,一个节点的数据对象,并返回一个布尔值,若该节点是终点节点则返回True。

  • edge_cost_fn – 一个 Python 可调用对象,接受 1 个参数(一个边的数据对象),并返回表示该边成本的浮点数。该值必须为非负数。

  • estimate_cost_fn – 一个 Python 可调用对象,将接收 1 个参数,即节点的数据对象,并返回一个浮点数,表示下一节点的估计成本。返回值必须为非负数。为使算法找到实际最短路径,该估计值应当是可接受的,这意味着它不应高估到达最近目标节点的实际成本。

Returns:

计算得到的从起点节点到终点节点的最短路径,以节点索引列表形式呈现。

Return type:

NodeIndices

Raises:

值错误 - 当提供的边权重包含NaN或负值时。