Note
This is the documentation for the current state of the development branch of rustworkx. The documentation or APIs here can change prior to being released.
rustworkx.astar_shortest_path#
- astar_shortest_path(graph, node, goal_fn, edge_cost_fn, estimate_cost_fn)[source]#
Compute the A* shortest path for a graph
- Parameters:
graph – The input graph to use. Can either be a
PyGraph
orPyDiGraph
node (int) – The node index to compute the path from
goal_fn – A python callable that will take in 1 parameter, a node’s data object and will return a boolean which will be True if it is the finish node.
edge_cost_fn – A python callable that will take in 1 parameter, an edge’s data object and will return a float that represents the cost of that edge. It must be non-negative.
estimate_cost_fn – A python callable that will take in 1 parameter, a node’s data object and will return a float which represents the estimated cost for the next node. The return must be non-negative. For the algorithm to find the actual shortest path, it should be admissible, meaning that it should never overestimate the actual cost to get to the nearest goal node.
- Returns:
The computed shortest path between node and finish as a list of node indices.
- Return type: