关于这个问题(NetLogo - calculate the difference of a variable of neighbouring agents),我正在尝试更改代码(对于另一个场景),以便另一个品种可以单方面更改另一个品种的附近成员的值(如果它们的值高于某个阈值),并且通过随机性甚至可以更改另一个品种的(任何)远程成员的值。 我的代码是(括号中的伪代码): breed [ greens green ]
greens-own [ variable ]
breed [ reds red ]
to setup
create-greens 100 [
我试图生产一个NetLogo模型来模拟木材燃料的竞争。该模型由两个海龟品种组成:“户”和“树”,分布在世界各地。家庭-自己的燃料储存目标半径。当燃料库=0时,家庭在最小半径1内“找到”一棵新树,如果没有树,则将半径增加1,直到达到最大半径为止,使用以下步骤:
to FindFuelGo
ask households [
if fuel-store = 0 [
set target min-one-of trees in-radius radius [ distance myself ]
if not any? trees in-radius radius [
我正试图随机挑选两只同一品种的海龟,但我很难做到这一点。我有10个不同的品种。我的代码应该先随机挑选任何品种的海龟,然后随机选择一个比第一个品种更好的品种。但我真的不知道怎么做。有人能告诉我怎么做吗?从其他编程语言中,我可以将海龟对象存储在变量中(这是可行的)。
let source one-of turtles
然后以某种方式将这个品种作为我的source海龟的一个属性,就像这样(但它不起作用)
let source-breed source.getBreed
有人能帮我吗?
我是NetLogo新手,我对以下代码有一些疑问:
people-own [
walker-type ;; can be "cautious", "adaptive" or "reckless"
walked-through-red?
own-profit
adaptive-threshold-time-gained
adaptive-threshold-time-gained-people-crossing
adaptive-gone-reckless
cooldown
]
在OO背景下,我认为这是对象属性( pe
我试着为每只海龟创造记忆(我有两个品种)。根据与品种2交互的品种1的颜色,乌龟会添加到内存0或1中。最后,我总结列表以创建特定的概率。以下是内存初始化过程:
ask turtles [
let j 0
set memory []
while [j < N] ; N is the size of memory
[
let actions (list random 2)
set memory fput actions memory
set j j + 1
]
]
以下是内存更新过程:
let actions []
这是我在Netlogo中面临的问题。我想让一只海龟检查它自己的一个变量和另一个海龟(不同品种)的另一个变量。基于这两个值,我想为乌龟设置一个奖励。假设我有两个“学生”和“教师”。学生可能会“作弊”(二进制),老师可能会捕获(二进制)-因此,根据他们是否作弊并被抓到,相应的奖励将随之而来。我正在尝试通过以下代码合并这一点
if comply? = 1
[
ask students [ set gain reward1 ]
]
if comply? = 0 and caught? < random-float 1
[
ask students [set gain reward2 ]
我有以下代码块:
to volver-a-casa
(ifelse estado < 6 or estado = 8
if donde != 1 [
move-to mi-casa
set donde 1
set nro-personas nro-personas + 1
set color color + 10
]
estado = 7 [
set nro-personas nro-personas - 1
set nro-fallecidos nro-fa
我正在使用NetLogo创建一个年龄结构的疾病传播模型。我有多个品种的海龟-例如,[persons1 person1],[persons2 person2]等-它们的疾病状态由代理变量state来描述(例如,state 1易感,state 2感染,state 3住院等)。每个品种的感染率都不同,所以我创建了一个全局变量hospitalizations,我用它来监控在每个时间步从感染到住院的海龟数量。例如:
ask turtles [
state 2
if random_float 1 < lambda [
set state 3
set hospitaliz
我想知道如何计算网络中节点之间的分离度。我已经创建了一个有两个品种的网络,它们会随着时间传播病毒。
to setup
create-people_inf 5 [set label "Infected"]
create-people_well 20 [set label "Good health"]
end
然后,我将新节点添加到预先存在的节点中,如下所示:
ask people_inf
[ create-links-to other people_inf
[set color red ]
let this_turtle self
我正在尝试让一种品种评估另一种品种中的所有试剂,并根据它自己对另一种品种的特征的偏好来选择它最喜欢的一种。
假设我有两个品种,一种是男性,另一种是女性。女性的特征(出生时产生的变量)有随机值,假设智力和吸引力的值在0到10之间。男性有偏好(也是在出生时产生的变量),关于他们对这些特征的关注程度。我想让男人们使用效用函数来选择他们最喜欢的女人,然后转向他们。
我的代码看起来像这样:
男人有自己的偏好,女人有自己的工具
to choose-mate
ask men [
let pref-int [pref-int] of myself
let pref-att [pref-att] of
我正在创建两个代理,这是品种的球员。
breed [players player]
玩家需要具有特定的属性,因此我使用了players-own
players-own
[
lives
health
score
]
然后,我创建了两个播放器,并设置了属性的值。
create-players 2
ask player 0
[
set lives 3
set health 100
set score 0
]
ask player 1
[
set lives 5
set health 100
set score
我正在尝试编写一个过程,其中某个品种的海龟在一定距离内询问同一品种的海龟某个变量的值。然后,发出请求的海龟将捕获这些值,将它们添加到它自己的值中,映射+它们,然后将+减少为一个数字。下面是代码
ask Teams
[ if AsgnE = "E 1"
[
ask Teams with [ distance myself < 25]
[
; assuming that there are no more then 2 teams within distance
let Val1 []
l
我对NetLogo非常陌生,我希望这是一个足够简单的问题。我有两个品种创建了[ redteam redsoldier] & [blueteam bluesoldier],我想做的是让不同的品种在特定的补丁中产卵。因此,红队只能在窗口的一半(红色区域)任意产卵,而蓝队则在另一半(蓝色区域)随机产卵,但在尝试多次if和while语句及其他东西后,海龟只能在屏幕中央产卵。
有什么想法吗?
globals [
red-patches
blue-patches
]
;; note patches could not be set to only green as this partly cl
我想为20只扁虫做一些事情,但前提是两只乌龟(不同的品种和形状)在同一个补丁上。然而,我想要做的是涉及观察者上下文项。是否有可能允许观察者函数在海龟上下文函数中被调用?感谢您的帮助。谢谢!(玩家是一个品种)
to function1
ask turtles with [shape = "car"]
[if any? players-here [shieldTurtle]]
end
to shieldTurtle
let startTicks ticks
if ticks <= (startTick
因此,我想要做的是使用至少两个品种重新配置模型,然后在模拟运行时尝试更改品种。非常感谢。
to setup
ca
reset-ticks
create-turtles nBugs [set color red set size 2]
end
to go
tick
if ticks >= nCycles [stop]
foreach sort turtles
[ ?1 ->
ask ?1
[ set xcor xcor + random 3 - 1
set ycor ycor + random 3 - 1