在Netlogo的捕食者-猎物模型中,如何对杀死/错过后的产卵进行建模?

在Netlogo的捕食者-猎物模型中,如何对杀死/错过后的产卵进行建模?,netlogo,Netlogo,我在做一个,但我有一个独特的产卵机制,我正在努力工作 这个想法是,当狼遇到羊时,羊很有可能逃跑(我已经把这部分编码好了)。如果绵羊被杀死,则会产生n只羔羊。如果羊逃走了,就会产生k只羔羊。经过t期后,羔羊成为猎物。n、 k和t都是界面侧的滑块 我对基于代理的建模和Netlogo编码还很陌生,所以任何建议都将不胜感激 这是搜索的当前代码: to catch-sheep ;; wolf procedure let prey one-of sheep-here if prey

我在做一个,但我有一个独特的产卵机制,我正在努力工作

这个想法是,当狼遇到羊时,羊很有可能逃跑(我已经把这部分编码好了)。如果绵羊被杀死,则会产生n只羔羊。如果羊逃走了,就会产生k只羔羊。经过t期后,羔羊成为猎物。n、 k和t都是界面侧的滑块

我对基于代理的建模和Netlogo编码还很陌生,所以任何建议都将不胜感激

这是搜索的当前代码:

to catch-sheep  ;; wolf procedure
    let prey one-of sheep-here   
    if prey != nobody and random 100 < kill-probability 
        [ ask prey [ die ]
捕羊;;沃尔夫程序 让我们在这里捕食一只羊吧 如果是猎物!=无人和随机100<杀伤概率 [问猎物[死]
假设为k>n,因此您可以让所有成年羊
孵化出
n只羔羊,然后
捕获羔羊
,然后让所有剩余的成年羊孵化出k-n只羔羊。这需要区分羔羊和成年羊,因此您可能需要添加
年龄
属性


然而,我怀疑你会想切换到每个蜱虫孵化出一只羔羊的概率,而不是每个蜱虫孵化出若干只羔羊。

大概是k>n,所以你可以让所有成年羊孵化出n只羔羊,然后
抓羊
,然后让所有剩余的成年羊孵化出k-n只羔羊。这需要区分赌注在羔羊和成年羊之间,因此您可能需要添加一个
age
属性


但是,我怀疑您会希望切换到每个蜱虫孵化一只羔羊的概率,而不是每个蜱虫孵化若干只羔羊。

使用您的代码添加一些代码,看看这是否适用于您

当一只羊被杀死时,创建一个随机数目的新羊,在下面的代码中使用您的slide变量,而不是10

我用电脑做所有的工作

to catch-sheep  ;; wolf procedure
    let prey one-of sheep-here   
    if prey != nobody and random 100 < kill-probability 
        [ ask prey [ die ] 
          ;;Here we create new sheeps upon prey death
          let rd-num random 10 ;; 1 to 10 sheeps will appear
          hatch-sheep rd-num [ set color blue
                              set xcor 9 ;; Initialize your new sheeps ]
        ]          
捕羊;;狼程序 让我们在这里捕食一只羊吧 如果猎物!=无人和随机100<杀死概率 [问猎物[死] 在这里,我们在猎物死亡后创造新的羊 让rd num random 10;;将出现1到10只绵羊 hatch sheep rd num[设置蓝色颜色] 设置xcor 9;;初始化新羊] ]

如果您有任何问题,请告诉我们!祝您编码愉快。

使用您的代码添加一些代码,看看是否适合您

当一只羊被杀死时,创建一个随机数目的新羊,在下面的代码中使用您的slide变量,而不是10

我用电脑做所有的工作

to catch-sheep  ;; wolf procedure
    let prey one-of sheep-here   
    if prey != nobody and random 100 < kill-probability 
        [ ask prey [ die ] 
          ;;Here we create new sheeps upon prey death
          let rd-num random 10 ;; 1 to 10 sheeps will appear
          hatch-sheep rd-num [ set color blue
                              set xcor 9 ;; Initialize your new sheeps ]
        ]          
捕羊;;狼程序 让我们在这里捕食一只羊吧 如果猎物!=无人和随机100<杀死概率 [问猎物[死] 在这里,我们在猎物死亡后创造新的羊 让rd num random 10;;将出现1到10只绵羊 hatch sheep rd num[设置蓝色颜色] 设置xcor 9;;初始化新羊] ]

让我们知道您可能有什么问题!祝您编码愉快。

您目前对提供的代码有什么问题?哦,不,我为kill prob编写的代码工作得很好。我的问题是我正在尝试添加它。我希望每次狼和羊相遇时都能使用它,具体取决于互动的方式(杀死或错过)正在创建一些羔羊。您当前提供的代码有什么问题吗?哦,不,我为kill prob提供的代码工作得很好。我的问题是我正在尝试添加到它上。我希望这样,每次狼和羊相遇时,都能根据交互的方式进行(杀或不杀)正在创建一定数量的羔羊。这真的很有帮助,谢谢!我还有另一个问题。是否可以添加一个命令,让我控制新羊进入系统所需的节拍数?如果可能,我是否也可以使它们的进入取决于羊的数量是否为正?以控制增量你可以使用简单的数学,例如,如果你想让一只羊在每一个
k
滴答声中出现,你可以在你的代码中的某个地方询问如果
滴答声mod k=0
,如果这是真的,那么你就创建一只新羊。检查有关这方面的文档。这真的很有帮助,谢谢!我还有另一个问题。有命令t吗我可以添加什么,让我控制新羊进入系统需要多少蜱虫?如果可能的话,我还可以让它们的进入取决于羊的数量是正的吗?为了及时控制羊的增加,你可以使用简单的数学,例如,如果你想让一只羊每
k
蜱虫出现一次,你可以如果勾选mod k=0,则在代码中的某个地方创建一个新的sheep。请查看相关文档。