我有变量"承诺"管理滑块,但我希望海龟接受它,以便通过正态分布分发信息。
to uncouple
if coupled?
[ if (couple-length > commitment ) or
([couple-length] of partner) > ([commitment] of partner)
[ set coupled? false
set couple-length 0
]
end
答案 0 :(得分:1)
很难解释您的问题,但可能您不希望正常分发。我想你可能会接受以下内容,其中p-breakup
是一个长寿命夫妻在调用这个过程时分手的概率。
to-report expired? ;; turtle proc
report
coupled? and (
(couple-length > commitment )
or
([couple-length] of partner > [commitment] of partner)
)
end
to uncouple ;; turtle proc
if expired? [
set coupled? (random-float 1 < p-breakup)
if not coupled? [
set couple-length 0
ask partner [set couple-length 0]
]
]
end
我从你的问题中假设commitment
是适用于所有夫妻的全球常数。 (如果没有,您的规范中似乎存在冗余。)我还会注意到有更好的方法来处理随机分解。 (具体来说,确定夫妇组建时的终止日期,并保留一个时间表,以便每个蜱只需要与时间长的夫妇一起工作。)