Минимизируйте перекрестные края на графике

Я использую networkx (пакет для рисования графов на python) http://networkx.lanl.gov/index.html для одного из моих проектов. Хотя networkx довольно крутой, функция отображения отстой из-за количества поперечных граней. Есть ли способ минимизировать поперечные ребра на графике? Я имею в виду алгоритм, который может сортировать узлы таким образом, чтобы поперечные ребра были минимизированы?

1 ответ

Решение

Определение планарного графика, который минимизирует количество пересечений, является NP-Hard. Смотрите вики-страницу на Пересечение номера.

Вы можете попробовать некоторые эвристические схемы, основанные на использовании силы, которые, как я полагаю, довольно популярны (Graphviz использует их, если я правильно помню).

Вы также можете попробовать некоторые алгоритмы аппроксимации, вы должны найти ссылки на вики-странице, на которую я ссылаюсь.

Надеюсь, это поможет.

Другие вопросы по тегам