我需要使用Watts和Strogatz生成随机图。我正在寻找与我的真实数据相同的格式。我必须将其保存在csv或txt文件中。它更像Small World Network
根据我在瓦特和斯特罗加兹(Watts and Strogatz)中所读的内容,它是无权无向图。但是我需要生成具有权重的无向图。

真实数据格式

Node  Node weight = time in seconds
  453  645    343
  453  645    533
  645  8090   349
  645  453    3563
  564  645    3533
  564  453    345
  8090 453    563
  8090 645    4525
  564  8090   3533


等级为1,并且两个节点对已连接一定时间,以秒为单位。在时间(1到5)中用Seed(0到4)生成图形数据的最佳方法是什么,即Seed0_time1依此类推,直到Seed4_time5。五个实例。

我知道这可能太广泛了,但是如果有人可以指出正确的方向并提供一些代码支持,那就太好了。我确实在这里寻求帮助,几乎看不到任何答复。

最佳答案

您是否尝试过NetworkX?他们有很多这样的小世界算法,包括Watts-Strogatz,并且它们非常易于使用。如果您确实想要没有权重的无向图,请查看NetworkX可以生成的Classic random graphs集。但是,如果必须使用Watts-Strogatz,则下面是将其与NetworkX一起使用的示例代码。大多数随机图生成器都会返回Graph对象,因此here's文档介绍了Graph可用的方法。

import networkx as nx
watts_strogatz = nx.watts_strogatz_graph(200,2,0.15)
nx.nodes(watts_strogatz) # Prints out the nodes

10-08 05:12