ネットワーク内の特定のノードを囲む接続されたコンポーネントの数はどのように計算できますか?Networkx内のノードのコンポーネント数
例:AがBに接続されているとします.AもCとDに接続され、CとDも接続されます。この場合、ノードAには[B]と[C、D]を含む2つの接続されたコンポーネントがあります。
ネットワーク内の特定のノードを囲む接続されたコンポーネントの数はどのように計算できますか?Networkx内のノードのコンポーネント数
例:AがBに接続されているとします.AもCとDに接続され、CとDも接続されます。この場合、ノードAには[B]と[C、D]を含む2つの接続されたコンポーネントがあります。
私は今あなたの意図を理解していると思います。
Padgett's Florentineファミリーをモデルとして使用しましょう。メディチノードの近隣のここ
、リドルフィとトルナブオーニのみが互いに隣接しています。
# Setup
import networkx as nx
G = nx.florentine_families_graph() # Or whatever else your graph is.
# Computation
node_id = 'Medici' # Your nodes are probably identified by a number.
ego = nx.ego_graph(G, n=node_id, center=False)
components = nx.connected_components(ego)
for c in components:
print(c)
# {'Acciaiuoli'}
# {'Ridolfi', 'Tornabuoni'}
# {'Albizzi'}
# {'Salviati'}
# {'Barbadori'}
エゴグラフはすべてノードのすぐ隣にありますn
です。 center=False
はそのグラフからn
を除外します。そこから、コンポーネントを見つけます。
素晴らしい。ありがとう@aryamccarthy – msmazh
接続されたコンポーネントがノードを「囲む」とはどういう意味ですか?ノードは、1つの接続されたコンポーネントの一部にしかなりません。 –
質問を@aryamccarthy – msmazh
に更新しましたあなたの質問はこのように再構成することができます:接続されたグラフからノード** A **を削除した場合、存在するコンポーネントは何ですか? –