2017-10-24 3 views
1

私はこのフォーラムを初めて使いました。あなたからのご意見をお待ちしております。Netlogo - グループレベルの選択

私のモデルでは、グループレベルでランダムに、しかし一貫して、カメを飼おうとしています。

私のモデルでは、すべてのタートルに母国語があります。彼らはいくつかのグループに分かれています。私は、各グループが共通の言語、つまり最も反復的な母国語、つまりグループのモーダル言語を決定するようにしたいと思います。グループは次のように私は当初、「一の」機能を使用した場合には、複数のモードを持っていない限り、これは通常、スムーズに動作します:

ask turtles [ define-majority-language ] 
... 

を移動するにはあなたは、大多数の言語を定義します

let my-mates turtles with [ my-group = [ my-group ] of myself ] 
    set my-group-majority-language one-of modes [ language-spoken ] of my-mates 
end 

はしかし、私はすぐにすべてのカメを個別に彼女のランダムな「ワンの」選択肢を作っているので、いくつかのグループのメンバーが1のために行くされていると私はすべてのグループを望む一方で、他のグループのメンバーは、他のために行くされていることに気づきましたメンバーはランダムにしかし一貫して選ぶべきです。 eを同じ言語で使用します。私はまたagentsetを作りようとしましたが、再びメンバーは個別に行動します...

どうすればいいですか?

答えて

1

私はあなたがしたいことは、最初のチューザーにその選択を課すことだと思います。だから、いったん選択したら、my-matesエージェントセットの他のカメの言語を設定します。これはまた、タートルがまだ選択されていない場合にのみ、言語を選択することを望むことを意味します。これを試して。

to go 
    ... 
    define-majority-language 
    ... 
end 

to define-majority-language 
    ask turtles 
    [ if my-group-majority-language = 0 ;; or whatever your initialisation is 
    [ let my-mates turtles with [ my-group = [ my-group ] of myself ] 
     set my-group-majority-language one-of modes [ language-spoken ] of my-mates 
     ask my-mates [ set my-group-majority-language my-group-majority-language ] 
    ] 
    ] 
end 
+0

ありがとうございました。私はそれを私のモデルに合わせるためにちょっと変えなければならなかったが、あなたの答えは間違いなく正しい方向に私を置いた。 –

関連する問題