1
我有2個代理商,集線器和個人。Netlogo:根據多個條件選擇代理商
個人有自己的變量,稱爲值。
我想寫一個方法,允許集線器選擇最高的值,並且尚未與集線器建立鏈接,以便與它建立鏈接。
到目前爲止,我使用MAX-之一的,這給了我最高值 -d個人第一輪,但在第二輪相同個體仍處於選中狀態,儘管一個鏈接已經被與中樞建立。
我想問問我如何獲得尚未與中心連接的個人,最高值?
非常感謝!
我有2個代理商,集線器和個人。Netlogo:根據多個條件選擇代理商
個人有自己的變量,稱爲值。
我想寫一個方法,允許集線器選擇最高的值,並且尚未與集線器建立鏈接,以便與它建立鏈接。
到目前爲止,我使用MAX-之一的,這給了我最高值 -d個人第一輪,但在第二輪相同個體仍處於選中狀態,儘管一個鏈接已經被與中樞建立。
我想問問我如何獲得尚未與中心連接的個人,最高值?
非常感謝!
你需要使用with
和link-neighbor?
來過濾個人:
breed [ hubs hub ]
breed [ individuals individual ]
individuals-own [ value ]
to setup
clear-all
create-hubs 1
create-individuals 10 [
set value random 100
forward 5
]
reset-ticks
end
to go
ask hubs [
let candidates individuals with [ not link-neighbor? myself ]
if any? candidates [
create-link-with max-one-of candidates [ value ]
]
]
tick
end
謝謝你,它的工作原理! 讓我問另一個問題: 這些鏈接中的每一個都有一個名爲** strength **的變量,如何根據我確定的個人訪問某個特定鏈接以增加其實力? 謝謝。 –
我想你最好爲此打開一個單獨的問題。您還應該嘗試熟悉NetLogo中的所有鏈接原始鏈接(http://ccl.northwestern.edu/netlogo/docs/dictionary.html#linkgroup)。很多時候,使用鏈接只是尋找合適的原始人去做你想做的事。 –