2014-02-20 4 views
0

Я реализую алгоритм поиска A * на графике. Я использую NetworkX в Python, чтобы избежать определения моей собственной структуры графика, но я не могу найти способ присвоить эвристику для каждого узла.Эвристика в NetworkX-Python

Я смог дать вес для каждого края, но как я могу назначить эвристику для каждого узла?

Спасибо

ответ

2

Вы можете добавить произвольные атрибуты узлов, включая функции, как этот

In [1]: import networkx as nx 

In [2]: G = nx.Graph() 

In [3]: G.add_node(1,color='red') 

In [4]: import math 

In [5]: G.add_node('a',f = math.cos) 

In [6]: G.node['a']['f'](math.pi) 
Out[6]: -1.0 
+0

Спасибо, это сработало, как мне нужно! –

Смежные вопросы