gpt4 book ai didi

python - 如何使用 networkx 计算 'nearby' 节点

转载 作者:太空狗 更新时间:2023-10-29 17:53:14 26 4
gpt4 key购买 nike

我在这里寻找的很可能是 networkx 中的一个内置函数,并且有一个数学名称 - 如果是这样,我想知道它是什么!看起来很难用谷歌搜索。

给定一个图 G 和一个起始节点 i,我想找到 P 边内所有节点的子图"来自 i - 也就是说,那些通过小于 P 边的路径连接到 i 的对象。

我的实现草案是:

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 库提供。

当您的代码崩溃并且您想了解原因时,它非常有用 - 您可以只渲染问题节点附近图形的“位置/区域”。

最佳答案

晚了两年,但我一直在寻找同样的东西,并找到了一个我认为会得到你想要的子图的内置函数:ego_graph .函数签名和文档:

ego_graph(G, n, radius=1, center=True, undirected=False, distance=None)

Returns induced subgraph of neighbors centered at node n within a given radius.

关于python - 如何使用 networkx 计算 'nearby' 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com