2017-02-19 22 views
1

私はエージェントが2人あります。ハブです。Netlogo:複数の条件に基づいてエージェントを選択

個人には、という独自の変数があります。

最高のを持つ個人をhubが選択できるようにする方法を書いて、ハブとのリンクを確立していないので、リンクを確立できません。

これまでのところ、私は使用していますMAX--の1 -d個々私の最初のラウンドを最高値を与えるが、第二ラウンドで同じ個体がまだすでにハブで確立されたリンクにもかかわらず選択され、 。

ハブにまだリンクされていない個人をどのように取得するのですか?の値はです。

ありがとうございました!

答えて

1

あなたはwithlink-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 
+0

は、それが動作する、ありがとうございます! 私は別の質問をしましょう: このリンクには** strength **という変数があります。強さを増強するために、特定した個人に基づいて特定のリンクにアクセスするにはどうすればよいですか? ありがとうございます。 –

+0

私はそれについて別の質問を開くほうがいいと思います。また、NetLogoのすべてのリンクプリミティブ(http://ccl.northwestern.edu/netlogo/docs/dictionary.html#linkgroup)に慣れさせてください。リンクを使って作業することは、しばしば、あなたがやりたいことをするための正しいプリミティブを見つけることに過ぎません。 –

関連する問題