私は無向グラフ(オントロジから派生したもの)を持っていますので、サイクルを作成するエッジを削除したいのですが(マルチグラフの構成要素は接続されたままである)。 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. Networkx to_agraph()を使ってグラフを描く
- 2. 固定端を持つ有向グラフのサイクル依存性を削除する
- 3. Networkx(Python)を使ったグラフトラバーサル
- 4. pythonとnetworkxを使った大きなグラフの可視化
- 5. 無指向性グラフアルゴリズムの結果のDFS-XORサイクル検出での誤ったサイクルの削除
- 6. 無向グラフにサイクルが存在するかどうかを検出します。
- 7. 空のグラフをグラフから削除する(VBAを使用)
- 8. ggplot2グラフからレイヤーを削除する
- 9. 実際の有向グラフからErdős-Rényiモデルを使って有向グラフを生成する
- 10. サイクル指向の最短経路グラフ
- 11. .htaccessを使ってURLを無視/削除/ページ/ X /から削除する方法は?
- 12. gitpythonを使ってgitからファイルを削除する
- 13. NetworkXは、私はそのようなことをネットワークXに有向グラフGがあると有向グラフ
- 14. 有向グラフと無向グラフの区別
- 15. networkxグラフをjavascriptにエクスポートするには?
- 16. サイクルでグラフをpicklingする
- 17. 棒グラフから未使用の列を削除する
- 18. NetworkXグラフのエッジを解析する
- 19. nサイクルの有向グラフを生成する
- 20. Neo4jグラフからプロパティを削除
- 21. Pythonを使って拡張asciiを削除するには?
- 22. Pythonを使ってjsonオブジェクトを削除するには?
- 23. NetworkXを使用してグラフのレイアウト位置をエクスポートする
- 24. Networkxを使った描画格子とグラフ
- 25. APIを使ってBasecampからファイルを削除するには?
- 26. bashを使ってテキストファイルから行を削除する
- 27. ハスケルを使って式からトートロジを削除する
- 28. javascriptを使ってフォルダからファイルを削除するには?
- 29. "grep"を使ってファイルからコメントを削除するには?
- 30. Python NetworkX循環グラフのサイズを大きくする
'T = nx.minimum_spanning_tree(G)'あなたに同じ結果を与えるになってしまいました。 – Aric
ああ、私は本当にドキュメントを読んだことがあります。 – JoelKuiper