Итак, у меня есть неориентированный мультиграфический граф (полученный из онтологии), я хочу удалить ребра, которые создают циклы (но не все ребра, составляющие мультиграфа должны остаются подключенными). Есть ли хороший способ сделать это с помощью пакета networkx?Удаление циклов из неориентированного мультиграфа с использованием Python networkx
0
A
ответ
1
Не может быть уникального способа сделать это для вашего графика. Но, может быть, найти связующее дерево решит вашу проблему? https://networkx.github.io/documentation/latest/reference/generated/networkx.algorithms.mst.minimum_spanning_tree.html
0
Так что я закончил с
def as_spanning_trees(G):
"""
For a given graph with multiple sub graphs, find the components
and draw a spanning tree.
Returns a new Graph with components as spanning trees (i.e. without cycles).
Parameters
---------
G: - networkx.Graph
"""
G2 = nx.Graph()
# We find the connected constituents of the graph as subgraphs
graphs = nx.connected_component_subgraphs(G, copy=False)
# For each of these graphs we extract the spanning tree, removing the cycles
for g in graphs:
T = nx.minimum_spanning_tree(g)
G2.add_edges_from(T.edges())
G2.add_nodes_from(T.nodes())
return G2
Смежные вопросы
- 1. Построение неориентированного графика в python с использованием networkx
- 2. Удаление ребра из неориентированного графа
- 3. Networkx: Преобразование мультиграфа в простой граф с взвешенными ребрами
- 4. Построение направленного мультиграфа (Python)
- 5. networkx (python): удаление края с атрибутами из мультидиаграфа
- 6. Удаление вложенных циклов внутри python
- 7. python NetworkX с использованием атомных координат
- 8. Модель неориентированного графика в Python
- 9. Атрибуты узлов для циклов, NetworkX
- 10. Визуализация графика в Python с использованием NetworkX
- 11. Удаление строки из CSV с использованием python
- 12. Удаление/**/из html с использованием python
- 13. Динамические графики из фреймов с использованием Networkx
- 14. Python, networkx
- 15. Python Networkx Bridge Detection
- 16. Удаление множества для циклов из кода Javascript
- 17. Подсчет с использованием для циклов в Python
- 18. Треугольные числа с использованием циклов (Python)
- 19. Python Сохранение графики с использованием циклов
- 20. Условные метки с использованием networkx
- 21. Обнаружение циклов графика (возможно, направленного или неориентированного) в Haskell
- 22. Создание мультиграфа с использованием нескольких наборов данных массива JSON
- 23. Отсутствуют методы python NetworkX
- 24. Создание фиксированного набора узлов с использованием networkx в python
- 25. MapReduce, Python и NetworkX
- 26. Python NetworkX создания графы из матрицы инцидентности
- 27. Python networkx: сокращение края
- 28. Создание всех путей эффективным способом с использованием networkx в python
- 29. Более быстрый способ построения древовидного графика с использованием Networkx Python?
- 30. Алгоритм общего назначения для триангуляции неориентированного графа?
'T = nx.minimum_spanning_tree (G)' даст вам тот же результат - минимального остовного леса. – Aric
Ах да, я действительно должен был прочитать документы. – JoelKuiper