我有一个由邻居列表中的元素组成的代理列表。我需要根据一个参数从中选择一个项目:参数h越高,选择该项目的可能性就越大。
要选择我尝试过的项目:print one-of list
,其中列表包含从邻居(set list lput item list
)收集的所有项目。
但是,我不知道如何添加有关参数的条件。
我尝试使用max (list item)
,但这不考虑参数h的值(它可以取1到10的值)。
您能建议我如何考虑吗? 非常感谢
答案 0 :(得分:2)
rnd扩展名完全可以满足您的需求。将extensions [rnd]
放在代码的顶部。然后使用rnd:weighted-one-of-list
进行选择。这是一个完整的程序演示。将其放在空的NetLogo模型中,然后运行testme过程几次。
extensions [rnd]
to testme
let mylist [1 3 5]
repeat 10
[ type rnd:weighted-one-of-list mylist [ [ii] -> ii ]
type " "
]
end