First
This commit is contained in:
35
_source_/agent_setup.py
Normal file
35
_source_/agent_setup.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from agent_data import grade_data
|
||||
from dataclasses import dataclass
|
||||
import numpy as np
|
||||
from typing import List,Tuple,Dict
|
||||
|
||||
@dataclass
|
||||
class AgentSetup:
|
||||
id:int
|
||||
grade:str
|
||||
speed:float
|
||||
radius:float
|
||||
|
||||
def AgentConfig()->Tuple[List[AgentSetup],Dict[str,int]]:
|
||||
agent_id = 1
|
||||
pop_count = {}
|
||||
all_agents = []
|
||||
for key in grade_data.keys():
|
||||
grade = grade_data[key]
|
||||
#pop_count.append(grade["Pop Current"])
|
||||
pop_count[key] = grade["Pop Current"]
|
||||
for _ in range(grade["Pop Current"]):
|
||||
rng = np.random.default_rng()
|
||||
agent = AgentSetup(
|
||||
id=agent_id,
|
||||
grade=key,
|
||||
speed=max(0.1,(rng.normal(
|
||||
grade["Speed Mean"],
|
||||
grade["Speed Std Dev"]
|
||||
))),
|
||||
radius=grade["Radius"]
|
||||
)
|
||||
all_agents.append(agent)
|
||||
agent_id +=1
|
||||
return all_agents,pop_count
|
||||
|
||||
Reference in New Issue
Block a user