私のモデルは、リンクで相互に接続されたエージェントのネットワークです。 エージェントとそのネイバーのネイバーからエージェントセットを作成しようとします(これには異なる値を割り当てる必要があります)。異なるエージェントからエージェントセットを追加してレットにする
しかし、私はそれにエージェントセットを含むletを作成します。エージェントはこのエージェントセットをすべて独自のものにするように求めましたが、これは今のところとても良いことです。しかし、元のエージェントが2番目のラインの隣人に尋ねると、2番目のすべての隣人のエージェントセットの代わりに、この隣人のエージェントセットが返されます。 隣人が自分の隣人をすべてそのセット内の異なるエージェントの隣人。
turtleset current-agentset new-agentset
はlet
で可変とすることができないので、私は単純に行うことができません。だから、普通はset second-neighbors (turtle-set second-neighbors other-nieghbors
であるコードは、すでにレットに2番目の隣人に聞くことができないので、うまくいきません。
私はこのことをエージェント固有のものにすることもできません。
は、私が持っているコードは、これまでのように私がしたいことは、彼らが今のようにagentset内のすべてのエージェントがそのリンクの隣人を報告cがあり、この
ask companies [
let this-company self
let b link-neighbors
ask b [ let c link-neighbors with [self != this-company]
ask c [ let d link-neighbors with [not member? self b]
ask this-company [
set iburen b
set iiburen c
set iiiburen d
]
]
]
]
のように見えます。しかし、これらのリンク - ネイバーを、c内のすべてのエージェントのすべてのリンク - ネイバーを持つ新しいエージェントセットに保管してください。簡単なように私は私+ 1が、私はモデルを実行した場合turtle-set (what I have) (what is new from the next agent asked)
よりも、同じことがD
のために行く、今の薬剤は異なるagentsetほぼすべてのダニを報告しています。彼らは、これらのエージェントをすべて組み合わせるのではなく、いずれかのエージェントから1つのエージェントセットを選択するだけです。ここで
「あなたが可変にするよう求めることができないから」という意味を説明してください。あなたは何を得ているのですか?私はこれを '新しいカメセットのカレントエージェントセットnew-agentset'としています。 – JenB
こんにちは、私はそれが働いています。私はあなたが 'set newset(turtle-set newset currentset)'と言うことができる前に、まずそれを定義しなければならないということを意味しました。私はこれを後で再びフィルタリングするエージェントセットとして定義することでこれを行います。 letを空のエージェントセットとして定義して、後で提案したようにエージェントを追加できることを期待しました。しかし、私はまだこれを把握していませんでした。 –
プリミティブ 'let'は、エージェントセットを作成し、その内容をある値に設定することを意味します。つまり、「let」があなたを定義します。あなたのコードで 'set'という単語を' let'と置き換えれば正常に動作します。しかし、変数ごとに 'let'を1回しか使えないので、後で内容を変更するには' set'を使う必要があります。 – JenB