16

ここで探しているのは の組み込み関数でnetworkxあり、数学的な名前を持っている可能性があります。もしそうなら、それが何であるか知りたいです! Google で検索するのは非常に難しいようです。

グラフGと開始ノードを指定すると、 「エッジ内」のすべてのノードのサブグラフ、つまりエッジ未満のパスで接続されているiノードを見つけたいと思います。PiiP

これに対する私のドラフト実装は次のとおりです。

import networkx as nx

N = 30
G = nx.Graph()

# populate the graph...
G.add_cycle(range(N))

# the starting node:
i = 15

# the 'distance' limit:
P = 4

neighborhood = [i]
new_neighbors = [i]
depth = 0

while depth < P:
    new_neighbors = list(set(sum([
        [k for k in G[j].keys() if k not in neighborhood]
    for j in new_neighbors], [])))

    neighborhood.extend(new_neighbors)

    depth += 1

Gneighbors = G.subgraph(neighborhood)

ところで、このコードは機能するので、実装の助けは必要ありません。networkxこれに名前があるかどうか、およびライブラリによって提供されているかどうかを知りたいだけです。

コードがクラッシュし、その理由を確認したい場合に非常に便利です。問題のあるノードの近くにあるグラフの「局所性/領域」だけをレンダリングできます。

4

2 に答える 2