Можно ли добавить вес / вероятность к узлу в теории графов (используя networkx)

Я использую networkx (библиотеку для Python для работы с графами). У меня в основном есть узлы с разными ребрами, но я хочу увидеть, как будет выглядеть путь, если бы он использовал узлы, которые были наиболее связаны.

Я могу использовать эту команду, чтобы увидеть количество соединений:

len(G.edges(CurrentNode))

, и я могу получить количество ребер, но я не уверен, как применить это к списку в качестве пути. Например, я могу добавить это число в качестве атрибута, но я не думаю, что атрибуты принимаются во внимание при поиске пути, и поскольку я добавляю это после соединения ребер, я не могу добавлять веса к самим ребрам. Другая проблема заключается в том, что чем выше оценка, тем больше я хочу, чтобы по пути следовали, но с краями, я думаю, он следует по краю с наименьшим весом.

Мне интересно, какой подход используют другие люди для поиска путей на основе определенных характеристик узла? Если кто-то знает, как это сделать для networkx, отлично! но я думаю, что networkx имеет много функций, поэтому, если я смогу получить теорию или общий подход, я уверен, что смогу найти способ сделать это на python.

ОБНОВЛЕНИЕ: Извините, я могу неправильно это объяснить. Я понимаю, что могу добавлять атрибуты к узлам, но не уверен, как принимать решения о пути на основе этих атрибутов. Итак, в моем случае, исходя из определенных условий, я добавляю ребра между узлами.Каждая группа узлов представляет другой день (day1data .., day2data .., day3data ..), поэтому я подключаю несколько узлов из day1 к узлам day2, только если соблюдаются определенные правила. После того, как я соединю края, я хочу, чтобы они более тщательно рассматривались при выборе пути. Поэтому я добавил атрибут «вес» к каждому узлу текущего дня, который в основном представляет собой общее количество ребер, соединяющих этот узел. Моя проблема в том, что атрибут веса не используется ни в одном из решений пути, потому что это атрибут, который я создал и присвоил себе метку (я мог бы создать метку с именем 'abc' = 'hello world', и она применила бы этот атрибут к узлу). Как я могу учитывать этот вес при создании пути (края уже созданы, поэтому я не думаю, что могу вернуться и воссоздать их)?

6
задан Lostsoul 21 October 2011 в 02:48
поделиться