pythonで学級モデルの構築をマルチエージェントシミュレーションを行おうと考えています
その際に、生徒に影響力というパラメータを[0:1]の範囲で設定しています
その影響力を用いて、ある生徒の会話相手を決める次の式があるのですが、
(会話相手)=(自分の影響力)-(相手の影響力) / {(自分の影響力)-(他のエージェントの影響力)の総和}
という式でルーレット方式で決めます
この式を表現するためには自分以外のエージェントのパラメータを使うのでこのようなコードを組みました
Python
class Agent: def __init__(self): self.f = np.random.uniform(low=0.0, high=0.1, size=None) class Simulation: def decide_talk_man(self): ilist=[] rlist=[] for i in range(n): agent = i if agent == self: pass else: h = (self.f-agent.f) z += h for i in range(n): agent = i if agent == self: pass else: h = (self.f-agent.f) g = h/z ilist.append(agent) rlist.append(g) agents = random.choice(ilist,wights = rlist) return agents
これでは、動かすことができませんでした
このように自分以外のエージェントのパラメータを使う為にはどのようなコードにすればよいのでしょうか?
まだ回答がついていません
会員登録して回答してみよう