2017-11-01 16 views
1

"男性"エージェントが最も近い "女性"をそのすぐ近くに選択する(犯罪なし!)交配シミュレーションを作成しています。残念ながら、それはラインでエラーを投げているcreate-mtf-to min-one-of women [age] in-radius 1。検索している男性エージェントの周りの半径1の最年少の「女性」エージェントへの方向性のあるリンクを作成するにはどうすればよいですか?特定の属性値を持つ半径のエージェントへの方向性リンクを作成する

to mate-with-women 
    if any? women in-radius 1 [ 
    create-mtf-to min-one-of women [age] in-radius 1 
    ask mtfs [set color blue] 
    ] 
end 

答えて

3

これは、エラーメッセージに記載されている行および行を教えてください。しかし、私は、これはそれを修正すると思います:

to mate-with-women 
    if any? women in-radius 1 [ 
    create-mtf-to min-one-of women in-radius 1 [age] 
    ask mtfs [set color blue] 
    ] 
end 

あなたはwomen in-radius 1あるから最年少撮りたいagentsetを。問題が解決しない場合、あなたはとにかくそう二度構築する必要がメンバーのためagentsetをテストしたようwomen in-radius 1

周り(タイプ「()」の)括弧を入れてみてください、別のアプローチがある:

to mate-with-women 
    let potential-mates women in-radius 1 
    if any? potential-mates [ 
    create-mtf-to min-one-of potential-mates [age] 
    ask mtfs [set color blue] 
    ] 
end 

これにより、構文がクリーンアップされ、効率が向上する可能性があります。

+0

これは驚くほど効果的でした。ありがとうございました。私は、規模の利益最大化戦略を持つエージェント間のエージェント間投資戦略に規模がどのように影響するかを見ています。 – santafebound

+1

お寄せいただきありがとうございます。修正の内容が隠されているので、SOの回答のコードの他の部分を変更するのは悪い形ですが、おそらく 'create-mtf-to-one-potential-mates [age] [set color blue] 'というよりも、潜在的な仲間の創造 - mtf - 〜min-one〜[年齢]がmtfs [set color blue]を求める。あなたはそれがうまくいく方法ですが、すべてのMTリンクは 'if'が満たされるたびに青色に設定されます。この変更は、新しいmtfが作成時に青色に設定されることを意味します。 – JenB

+0

Gotcha!それはずっと効率的です。乾杯。 – santafebound

関連する問題