astar_path_length#
- astar_path_length(G, source, target, heuristic=None, weight='weight', *, cutoff=None)[source]#
使用A*(“A-star”)算法返回源节点和目标节点之间最短路径的长度。
- 参数:
- GNetworkX图
- source节点
路径的起始节点
- target节点
路径的结束节点
- heuristic函数
一个函数,用于评估从一个节点到目标的距离估计值。该函数接受两个节点作为参数,并且必须返回一个数字。如果启发式函数是不可接受的(如果它可能高估从节点到达目标的成本),结果可能不是最短路径。由于每个节点的首次启发式计算会被缓存,该算法不支持更新同一节点的启发式值。
- weight字符串或函数
如果这是一个字符串,则通过此键访问边的权重属性(即连接
u
到v
的边的权重将是G.edges[u, v][weight]
)。如果不存在此类边属性,则边的权重假定为1。如果这是一个函数,则边的权重是函数返回的值。该函数必须接受恰好三个位置参数:边的两个端点以及该边的属性字典。函数必须返回一个数字或None以表示隐藏边。- cutoff浮点数,可选
如果提供了此值,搜索将限制在此值以内。即,如果评估函数对于节点 n 超出此值,则该节点将不再进一步扩展并被忽略。更正式地说,令 h’(n) 为启发式函数,g(n) 为从源节点到达 n 的成本。那么,如果 g(n) + h’(n) > cutoff,该节点将不再被探索。请注意,如果启发式函数不可接受,即使路径满足截止值,也可能被忽略。
- 引发:
- NetworkXNoPath
如果在源节点和目标节点之间不存在路径。
另请参阅