在 igraph_erdos_renyi_game c++ 中设置边数
Setting the number of edges in igraph_erdos_renyi_game c++
我想使用 igraph c++ 创建一个有向网络图,其中每个节点随机连接到网络中恰好 n 个其他不同的节点(即排除与其自身的连接,以及 loops/multiple 边缘到相同的环形)。我正在考虑使用 igraph_erdos_renyi_game
方法,但由于某种原因,我没有获得所需的度数分布。特别是,如果我这样设置参数:
igraph_erdos_renyi_game(&g, IGRAPH_ERDOS_RENYI_GNM, n, m, true, false);
n = 5,m = 1,我得到这个邻接矩阵(例如):
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
0 0 0 0 0
如果我改用 igraph_k_regular_game(&g, n, m, true, false)
,我会得到完全想要的结果,即(例如):
0 0 0 0 1
1 0 0 0 0
0 0 0 0 1
0 1 0 0 0
0 0 0 1 0
总而言之,我希望每个节点都有 1 个边到 n 个随机选择的代理。我是否误解了 Erdos-Renyi 方法的工作方式,或者我是否传递了错误的参数?
m
是总边数in erdos_renyi_game()
。因此,只需使用 k_regular_game()
,它就可以满足您的需求。
我想使用 igraph c++ 创建一个有向网络图,其中每个节点随机连接到网络中恰好 n 个其他不同的节点(即排除与其自身的连接,以及 loops/multiple 边缘到相同的环形)。我正在考虑使用 igraph_erdos_renyi_game
方法,但由于某种原因,我没有获得所需的度数分布。特别是,如果我这样设置参数:
igraph_erdos_renyi_game(&g, IGRAPH_ERDOS_RENYI_GNM, n, m, true, false);
n = 5,m = 1,我得到这个邻接矩阵(例如):
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
0 0 0 0 0
如果我改用 igraph_k_regular_game(&g, n, m, true, false)
,我会得到完全想要的结果,即(例如):
0 0 0 0 1
1 0 0 0 0
0 0 0 0 1
0 1 0 0 0
0 0 0 1 0
总而言之,我希望每个节点都有 1 个边到 n 个随机选择的代理。我是否误解了 Erdos-Renyi 方法的工作方式,或者我是否传递了错误的参数?
m
是总边数in erdos_renyi_game()
。因此,只需使用 k_regular_game()
,它就可以满足您的需求。