gpt4 book ai didi

python - 使用 gnp_random_graph 创建多个图形

转载 作者:行者123 更新时间:2023-12-04 08:40:13 25 4
gpt4 key购买 nike

使用时 NetworkX我的任务是用给定的 n 个节点和 p 概率创建多个随机图,这是我的代码:

def random_networks_generator(n,p,num_networks=1, directed=False,seed=30030390):
Graph_list=[]
for num in range (0,num_networks):
G=nx.gnp_random_graph(n,p,seed,directed)
Graph_list.append(G)
return Graph_list
但是,每次迭代都会创建相同的精确图(即使边完全相同)
有没有人知道可能有什么问题?
更新:
在尝试使用没有“种子”参数的函数后,图形是随机的,但是有没有办法在仍然使用“种子”参数的同时对问题进行排序?

最佳答案

目前,您使用相同的固定种子在循环中进行所有调用。根据 gnp_random_graph 的文档或更一般的 Randomness通过修复种子,您可以确保始终收到完全相同的随机图。
例如:

G_1=nx.gnp_random_graph(100, .5, 42)
G_2=nx.gnp_random_graph(100, .5, 42)
G_3=nx.gnp_random_graph(100, .5, 43)
图表 G_1G_2将具有完全相同的边,而 G_3得到了一个不同的种子并且很有可能是不同的(就像在这个例子中一样)。
您可以通过以下代码获得检索相同图形列表(由初始种子确定)的所需行为:
def random_networks_generator(n, p, num_networks=1, directed=False, seed=30030390):
Graph_list=[]
for num in range (0,num_networks):
G=nx.gnp_random_graph(n, p, seed + num, directed)
Graph_list.append(G)
return Graph_list
关于种子的更多背景:
  • What is the use of numpy.random.seed() Does it make any difference?
  • random.seed(): What does it do?
  • 关于python - 使用 gnp_random_graph 创建多个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64605806/

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