【发布时间】:2018-09-04 14:51:00
【问题描述】:
我想创建一个(无标度)网络,其中每只海龟都连接到特定数量的其他海龟,比如四只。为了让一些海龟有很多连接,而另一些只有很少(但不少于四个),我的想法是让每只海龟有四个外链,而内链必然会有所不同。使用 pg 上提供的构建 Barabasi-Albert 无标度网络的代码。 131 在 Scott 和 Koehler 的“A Field Guide to NetLogo”作为起点,我的代码包含在下面。
我的问题是如何让每只海龟连接到其他四只海龟。
breed [liberals liberal]
breed [conservatives conservative]
to setup
clear-all
set-default-shape turtles "circle"
create-liberals 5 [
set adopt? false
let n count turtles
set color blue
]
create-conservatives 20 [
set adopt? false
let n count turtles
set color red
]
let m 4
let p .05
set my-threshold my-threshold
ask turtles[
let me self
let degrees max-n-of m turtles [count link-neighbors]
foreach (sort degrees) [ [?] ->
let chance random-float 1.0
if ( ? != self) and (chance < p ) [
ask self [ create-link-to ? ]
]
]
]
ask turtles with [(count out-link-neighbors) = 0 ] [
let degrees max-n-of m turtles [ count link-neighbors ]
let t one-of degrees
foreach (sort degrees) [
ask self [ if ( t != self) [ create-link-to t] ]
]
]
reset-ticks
end
上面的代码是我尝试重新创建 Paul Ormerod 模型的一部分,可在 https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1468-0270.2006.00611.x 获得
【问题讨论】:
标签: netlogo