Netlogo:创建具有正确节点数的分层(树)网络

Netlogo:创建具有正确节点数的分层(树)网络,netlogo,social-networking,agent-based-modeling,Netlogo,Social Networking,Agent Based Modeling,我正在尝试创建一个带有参数扩展速率的“层次”或“树”网络结构。首先,将一个节点放置在顶部,网络中的每个节点连接到其下方的多个节点,这些节点的扩展速率等于扩展速率。当前我的代码如下所示: to wire-tree clear-all ask patches [ set pcolor white ] create-nodes 1 [ ; create root node of tree set shape "circle" set color red

我正在尝试创建一个带有参数
扩展速率的“层次”或“树”网络结构。首先,将一个节点放置在顶部,网络中的每个节点连接到其下方的多个节点,这些节点的扩展速率等于
扩展速率。当前我的代码如下所示:

to wire-tree
  clear-all
  ask patches [ set pcolor white ]
  create-nodes 1 [         ; create root node of tree
    set shape "circle"
    set color red
    set branch 0
    expand-network
    rewire-branches
  ]

  radial-layout


  reset-ticks
end

to expand-network

  if expansion-rate = 0 [ stop ]
  while [count nodes < num-nodes] [
     ask nodes with-max [branch] [
      hatch expansion-rate [
      create-edge-with myself
      set branch branch + 1
      ]
    ]
  ]

end
到接线树
清除所有
询问补丁[设置pcolor白色]
创建节点1[;创建树的根节点
设置形状“圆”
设置颜色为红色
设置分支0
拓展网络
重新布线分支
]
径向布局
重置滴答声
结束
拓展网络
如果膨胀率=0[停止]
而[count nodes
网络当前具有正确的结构,但网络中的节点数超过了
num nodes
滑块选择的节点数。这是因为在执行最后一个图案填充之前,先检查是否
计数节点
。但是,我想要的是,节点的最后一个图案填充将一直执行,直到达到
num nodes
,然后停止。因此,虽然在最后一个层次结构之前的每个层次结构包含的节点数等于扩展率的幂次方,但如果总体没有正确划分,最后一个层次结构的节点数可能小于此数

我怎样才能做到这一点


我需要turtle owned
branch
变量,因为我稍后要以固定概率重新连接某些分支中的节点。稍后可能会发布关于此的问题;)

图案填充最小扩展速率(num节点-count节点)
替换
图案填充扩展速率
,这样它会创建至少两个数字-扩展速率和您仍然需要的总数。

图案填充最小扩展速率(num节点-count节点)替换
图案填充扩展速率
因此它创建了至少两个数字-扩展率和您仍然需要的总数。

谢谢,我认为这应该可以。但是Netlogo在突出显示num节点时给了我一个“预期命令”错误,我无法让它工作。似乎我不能在这种情况下使用
min
过程?编辑:我想我是通过使用
hatch最小列表扩展率(num nodes-count nodes)
yes,有时NetLogo会对排序感到困惑。您不应该需要
列表
,因为它正好是两个,但您可能需要额外的括号,因此它是
图案填充最小值(扩展速率(num节点-计数节点))
。如果这不起作用,请尝试
图案填充最小值(列表扩展速率(num节点-计数节点))
。请注意基本体
列表的位置,在括号内。谢谢,我认为这应该可以。但是Netlogo在突出显示num节点时给了我一个“预期命令”错误,我无法让它工作。似乎我不能在这种情况下使用
min
过程?编辑:我想我是通过使用
hatch最小列表扩展率(num nodes-count nodes)
yes,有时NetLogo会对排序感到困惑。您不应该需要
列表
,因为它正好是两个,但您可能需要额外的括号,因此它是
图案填充最小值(扩展速率(num节点-计数节点))
。如果这不起作用,请尝试
图案填充最小值(列表扩展速率(num节点-计数节点))
。注意基本体
列表
在括号内的位置。