netlogo - NetLogo 代理集表单与其他代理集的链接
问题描述
我正在寻找与其他海龟集的海龟集形式链接。
我目前的尝试也感觉做作,因为不是这里的每个蜂巢都会被选中。还有其他方法吗?
to link-bees-to-hives [bees-agentset hives-agentset]
ask bees-agentset [
create-link-with one-of hives-agentset
]
end
如何按照集合中海龟的顺序在两个代理集 netlogo 之间创建链接?
解决方案
你想让蜜蜂与另一个蜂巢建立联系吗?如果您有相对足够的蜜蜂,您的尝试可能没问题,但如果您想对蜜蜂选择进行加权,以便它们优先与关联蜜蜂较少的蜂箱联系,您可以使用某种min-one-of
解决方案或rnd
扩展中的某种解决方案。例如,蜜蜂和蜂巢设置:
extensions [ rnd ]
breed [ bees bee ]
breed [ hives hive ]
to setup
ca
create-hives 3 [
set color white
set shape "box"
set size 2
setxy random-xcor random-ycor
]
create-bees 15 [
set color yellow
set shape "bug"
setxy random-xcor random-ycor
]
reset-ticks
end
和加权选择:
to link-bee-to-hive
ask bees [
create-link-with rnd:weighted-one-of hives [ 1 - count my-links / count bees ]
]
print [ count my-links ] of hives
end
当然,如果你有足够少的蜜蜂和蜂箱,你可能仍然会得到一两个没有联系到的蜂箱。
推荐阅读
- query-optimization - 页面加载速度非常慢,重复查询此视图在 Ruby 中
- c++ - C++ 跳过登录对话框
- redis - 如何执行多哈希 redis 查询
- javascript - 如何解决总是从ajax循环选择选项值
- selenium - Selenium XPath:如何获取使用属性的 href 值
- discord.py - Discord 机器人响应不适合该机器人的 ping
- mysql - 用于从数字列中提取范围的 SQL 查询
- go - go type-switch 如何处理指向 nil
- qt - 更改桌面分辨率时,Qt showMaximized() 无法按预期工作
- c - 为什么我得到错误,虽然一切都被宣布好?