現在、ソーシャル ネットワークにおけるイノベーションの拡散を成功させるためのエージェント ベースのモデルに取り組んでいます。これまでのところ、私はエージェントベースのモデリングとプログラミングの初心者です。
主なアイデアは、農家間の社会的学習をモデル化することです。したがって、エージェントがイノベーションを採用するかどうかの決定は、主に彼の個人的なネットワークに依存します。は、ネットワーク内のリモートにあります。
社会的学習に関するネットワーク関連の議論に加えて、時間の次元を実装したいと思います。たとえば、エージェントの隣人がイノベーションをうまく使用する時間が長ければ長いほど、エージェントもイノベーションを採用する可能性が高くなります。しかし、これはまさに私が現時点で立ち往生しているポイントです。私の目標は、次の引数を実装することです。これまでのところ、疑似コードは次のようになっています。
1) タートル独自のティックカウンター ...
ask turtles
[
ifelse [adopted? = true]
[set ime-adopted time-adopted + 1] [set time-adopted 0]
]
...
2) 2 番目の手順で、各エージェントは、隣人がこの革新を使用する時間を確認する必要があります (「隣人の採用時間の確認」に関して)。
ask turtles with [not adopted?]
[
[ask link-neigbhors with [adopted?]
[...*(Here I dont know how to ask for the time adopted value)*]
;the agent will then sum up all values he got from his neighbors from "time-adopted"
set time-neighbors-adopted [sum all "time-adopted" values of neighbors]
]
;The agent will then implement these values into his personal utility
;function which determines if he adopts the innovation or not
set utility utiltiy + 0.3 * time-neighbors-adopted
]
あなたの助けとアドバイスに感謝します。
敬具、
モリッツ