【问题标题】:Random graph with different degree for each node in RR中每个节点的不同度数的随机图
【发布时间】:2019-04-12 03:44:29
【问题描述】:

我有 122 个节点,我想创建一个随机图,每个节点的节点度数都是固定的。有没有办法在 R 中做到这一点?我尝试了 igraph,我可以在其中为所有节点修复相同的度数,即 122 个节点中的每个节点的度数为 2。但是,我想为每个节点创建一个具有固定度数的随机图(即节点 A 的度数为 4 ; 节点 B 的度数为 5)

我尝试了以下代码,现在它可以工作了:

outdegrees <- c(2, 1, 2, 1, 2)


g <- sample_degseq(outdegrees, method = "Vl")

谢谢

普里亚

【问题讨论】:

    标签: r igraph graph-theory undirected-graph


    【解决方案1】:

    您可以使用sample_degseq创建具有指定度数序列的图形。

    例如,假设您想要一个度数序列1, 1, 2, 2, ..., 61, 61。您可以使用以下代码:

    > library(igraph)
    > deg.seq <- rep(1:61, 2)
    > sample_degseq(deg.seq)
    IGRAPH 45e3c32 U--- 122 1891 -- Degree sequence random graph
    + attr: name (g/c), method (g/c)
    + edges from 45e3c32:
     [1]  80--121   9-- 82  54--114  57-- 96  52-- 60  16-- 55  38--105  29-- 80
     [9]  69--115   6-- 28  92--111  29-- 49  47-- 67  90--106  49--121  43--114
    [17]  40-- 46  47--115 120--122  55--100  98--104  43--109  28-- 98  25--115
    [25]  38-- 43  48-- 52  27-- 92  26--107  53--107  60--110  97--110  91--106
    [33]  18-- 98 117--119  28-- 51  58--104  61--110  43--105  39-- 51  31-- 95
    [41]  84-- 87  94--112  32-- 58  41-- 98  19--113  40-- 47  41-- 50 116--121
    [49]  51-- 95  58--118  97--111 100--119  40-- 92  18--114  22--101  46-- 77
    [57]  12-- 88  54--109  49-- 58  42-- 61  47-- 53  45--116  31--122  52--102
    + ... omitted several edges
    

    【讨论】:

    • 我想为每个节点指定度数,比如节点 A 的度数为 4,节点 A 与任意 4 个节点有随机连接。类似地,节点 B 的度数为 2,并且与任意 2 个节点具有随机连接。抱歉,我忘了提到我已经为 122 个节点制作了无向图,我想为此创建随机图。谢谢
    【解决方案2】:

    这是一种方法:

    1. 列个清单,L
    2. 对于每个i,将c_i i 放入列表中。
    3. 随机播放列表。
    4. L[1]L[2]L[3]L[4] 等连接起来。
    5. 如果您最终出现自循环(并且不希望出现这种情况),请转到 3。

    【讨论】:

      猜你喜欢
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 2020-04-30
      • 2017-09-03
      • 1970-01-01
      相关资源
      最近更新 更多