2
我想爲networkx中的A *使用啓發式,但我無法找到如何在啓發式中訪問節點屬性(我需要它們以啓發我)。如何在啓發式函數中訪問節點屬性?在啓發式中使用屬性
我想爲networkx中的A *使用啓發式,但我無法找到如何在啓發式中訪問節點屬性(我需要它們以啓發我)。如何在啓發式函數中訪問節點屬性?在啓發式中使用屬性
如果G
是你的圖形,則節點n
的屬性key
可以
G.node[n][key]
如果G
是不是已經啓發式功能的外部範圍進行訪問,然後使G
訪問啓發式功能,使用閉包:
def make_heuristic(G):
def heuristic(a, b):
a_attr, b_attr = [G.node[n][key] for n in (a, b)]
...
return heuristic
nx.astar_path(G,start,end,make_heuristic(G))
啓發式功能只需要兩個屬性是節點。 – fread2281