astar_path_length#

astar_path_length(G, source, target, heuristic=None, weight='weight', *, cutoff=None)[source]#

使用A*(“A-star”)算法返回源节点和目标节点之间最短路径的长度。

参数:
GNetworkX图
source节点

路径的起始节点

target节点

路径的结束节点

heuristic函数

一个函数,用于评估从一个节点到目标的距离估计值。该函数接受两个节点作为参数,并且必须返回一个数字。如果启发式函数是不可接受的(如果它可能高估从节点到达目标的成本),结果可能不是最短路径。由于每个节点的首次启发式计算会被缓存,该算法不支持更新同一节点的启发式值。

weight字符串或函数

如果这是一个字符串,则通过此键访问边的权重属性(即连接uv的边的权重将是G.edges[u, v][weight])。如果不存在此类边属性,则边的权重假定为1。如果这是一个函数,则边的权重是函数返回的值。该函数必须接受恰好三个位置参数:边的两个端点以及该边的属性字典。函数必须返回一个数字或None以表示隐藏边。

cutoff浮点数,可选

如果提供了此值,搜索将限制在此值以内。即,如果评估函数对于节点 n 超出此值,则该节点将不再进一步扩展并被忽略。更正式地说,令 h’(n) 为启发式函数,g(n) 为从源节点到达 n 的成本。那么,如果 g(n) + h’(n) > cutoff,该节点将不再被探索。请注意,如果启发式函数不可接受,即使路径满足截止值,也可能被忽略。

引发:
NetworkXNoPath

如果在源节点和目标节点之间不存在路径。

另请参阅

astar_path