質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

873閲覧

エージェントの設定について

HGK

総合スコア29

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/15 08:48

pythonで学級モデルの構築をマルチエージェントシミュレーションを行おうと考えています
その際に、生徒に影響力というパラメータを[0:1]の範囲で設定しています
その影響力を用いて、ある生徒の会話相手を決める次の式があるのですが、

(会話相手)=(自分の影響力)-(相手の影響力) / {(自分の影響力)-(他のエージェントの影響力)の総和}

という式でルーレット方式で決めます
この式を表現するためには自分以外のエージェントのパラメータを使うのでこのようなコードを組みました

Python

1class Agent: 2 def __init__(self): 3 self.f = np.random.uniform(low=0.0, high=0.1, size=None) 4 5class Simulation: 6 def decide_talk_man(self): 7 ilist=[] 8 rlist=[] 9 for i in range(n): 10 agent = i 11 if agent == self: 12 pass 13 else: 14 h = (self.f-agent.f) 15 z += h 16 for i in range(n): 17 agent = i 18 if agent == self: 19 pass 20 else: 21 h = (self.f-agent.f) 22 g = h/z 23 ilist.append(agent) 24 rlist.append(g) 25 26 agents = random.choice(ilist,wights = rlist) 27 return agents 28

これでは、動かすことができませんでした
このように自分以外のエージェントのパラメータを使う為にはどのようなコードにすればよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

agent[i].fとすればいけました

投稿2021/09/19 14:42

HGK

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問