import matplotlib
if not hasattr(matplotlib.RcParams, "_get"):
    matplotlib.RcParams._get = dict.get

4.3.1: Exercises#

Important

For live code, launch Thebe by clicking on the in the toolbar. Your code edits are automatically saved in your browser. Use the button to export your progress to a file, to import a previously saved session, or to reset to the original code.

4.3.1.1: The base model#

Attention

This model is up-to-date with mesa version 3.5.0

%pip install mesa==3.5.0
%pip install seaborn
%pip install networkx

4.3.1.1.1: Understand the traffic model#

#import libraries


# Import the mesa library for agent-based modeling
import mesa
# Print the version of the mesa library being used
print("You are using mesa version: " + mesa.__version__)

from mesa import Agent, Model
# Import DataCollector directly from mesa (Mesa 3.5.0 style)
from mesa.datacollection import DataCollector
# Import pandas for data manipulation and analysis.
import pandas as pd
# Import numpy for numerical operations and array handling.
import numpy as np
# Import math for mathematical operations, particularly for circular calculations.
import math

# Note: From this exercise onwards, we will be using Seaborn in addition to Matplotlib.
# Seaborn is an extension of Matplotlib that simplifies the process of creating visually appealing plots.
# See the difference here: https://www.geeksforgeeks.org/difference-between-matplotlib-vs-seaborn/
import seaborn as sns
from matplotlib import pyplot as plt

# Enable inline plotting in Jupyter Notebook, so that plots appear directly in the notebook.
%matplotlib inline
You are using mesa version: 3.5.0

Model metrics#

# The following section defines various metrics (as functions) for the TrafficJamModel.
# These metrics are used to analyze the state of the model during and after the simulation.

# Calculate the circular distance between two positions.
# This function is useful for determining how far one car is from another on a circular track.
def calculate_distance(pos1, pos2):
    # Calculate distance from pos1 to pos2 along the circle using modulo tau (2π).
    return (pos2-pos1) % math.tau

# Get a list of the current speeds for all agents in the model.
def get_speeds(model):
    return [round(a.speed, 3) for a in model.agents]

# Get a list of unique IDs for all agents in the model.
def get_agent_ids(model):
    return [a.unique_id for a in model.agents]

# Get a list of acceleration values for all agents in the model.
def get_accels(model):
    return [a.acceleration for a in model.agents]

# Get a list of deceleration values for all agents in the model.
def get_decels(model):
    return [a.deceleration for a in model.agents]

# Calculate the proportion of agents that are at their maximum speed.
def get_max_speed(model):
    return len([a.speed for a in model.agents if a.speed == a.max_speed]) / len(model.agents)

# Calculate the proportion of agents that are practically standing still.
def get_standing_still(model):
    # Speed is never exactly 0 due to continuous deceleration.
    # If an agent's speed is less than 0.001, it's considered standing still.
    return len([round(a.speed, 3) for a in model.agents if a.speed < 0.001]) / len(model.agents)

# Get the model-level data collected during the simulation.
def get_model_data_collector(model):
    return model.datacollector.get_model_vars_dataframe()

# Get the agent-level data collected during the simulation.
def get_agent_data_collector(model):
    return model.datacollector.get_agent_vars_dataframe()

# Get the number of steps that have been executed in the model.
def get_steps(model):
    return model.steps

Agent class#

# The Car class represents individual vehicles in the simulation.
# Each car has properties such as speed, acceleration, deceleration, and position.
class Car(Agent):
    
    # These properties below calculate the x and y coordinates of the car based on its position on the circle.
    @property
    def x(self):
        return math.cos(self.position)
    
    @property
    def y(self):
        return math.sin(self.position)
    
    # Note regarding properties:  A property is a special type of attribute. It allows you to define methods that can be accessed
    # like attributes. Properties are useful when you want to compute a value dynamically based on other attributes 
    # of the object, but you want it to be accessed in the same way as an attribute. 
    # In the Car class, x and y are defined as properties. This means they are computed each time they are accessed 
    # based on the car's current position, but they can be accessed just like regular attributes.
    # In this model, we could simply use normal attributes instead (in the init), but we wanted to show you other possibilities.
    

    def __init__(self, model, speed, acceleration, deceleration, pos):
        super().__init__(model)
        # Initializing agent's speed, acceleration, deceleration, and position.
        self.speed = speed
        self.max_speed = speed
        self.acceleration = acceleration
        self.deceleration = deceleration
        # Lookahead distance is set as twice the current speed.
        self.lookahead = 2 * self.speed
        
        # Position of the car on the circular track.
        self.position = pos
        # Reference to the car directly in front of this car.
        self.car_in_front = None

    # This method defines the behavior of the car at each step of the simulation.
    def step(self):
        # If the car in front is within the lookahead distance, decelerate.
        if calculate_distance(self.position, self.car_in_front.position) < self.lookahead:
            speed = self.deceleration * self.car_in_front.speed
        else:
            # Otherwise, accelerate up to the car's maximum speed.
            speed = min(self.max_speed, self.speed + self.acceleration)
        
        # Update the car's speed and position.
        self.speed = speed
        self.position += self.speed

Model class#

# The TrafficJamModel class represents the overall simulation model.
# It manages the scheduling of agents and collects data during the simulation.

class TrafficJamModel(Model):
    
    # Initialize the model with a set number of agents, average speed, acceleration, and deceleration rates.
    def __init__(self, average_speed=0.1, n_agents=10,
                 acceleration=0.04, deceleration=0.02, seed=None):
        super().__init__(rng=seed)
        
        # Generate initial positions for all agents on the circular track.
        initial_positions = np.linspace(0, math.tau, n_agents + 1)[0:-1]
        initial_speeds = [self.random.gauss(average_speed, 0.02) for _ in range(n_agents)]
        
        # Create and add agents (cars) to the model.
        Car.create_agents(
            self,
            n_agents,
            initial_speeds,
            acceleration,
            deceleration,
            initial_positions
        )
        
        # Assign each car a reference to the car directly in front of it.
        for i, agent in enumerate(self.agents):
            try:
                agent.car_in_front = self.agents.to_list()[i + 1]
            except IndexError:
                # If it's the last car (IndexError occurs), set the first car as the car in front,
                # completing the circular reference for the model.
                agent.car_in_front = self.agents.to_list()[0]
       
        # Define the metrics to collect during the simulation.
        model_metrics = {
                        "Step": get_steps,
                        "num_max_speed": get_max_speed,
                        "num_standing_still": get_standing_still
                        }
        agent_metrics = {
                        "speed": "speed",
                        "acceleration": "acceleration",
                        "deceleration": "deceleration"
                        }
        # Set up the data collector to gather data at each step.
        self.datacollector = DataCollector(model_reporters=model_metrics, agent_reporters=agent_metrics)
        
        # Collect data at step 0 (initial state of the model)
        self.datacollector.collect(self)
            
    # Execute one step of the model.
    def step(self):
        
        self.agents.shuffle_do("step")
        
        # Collect the model data after running the step
        self.datacollector.collect(self)

Having read both classes, it is worth pausing to sort out which piece of state lives where. The cards below contrast what a single Car keeps to itself with what the TrafficJamModel owns on behalf of the whole road.

Learning Activity: Car or model: whose attribute?
separate what a single car keeps track of from what the whole model owns.
Flip cards, each naming a piece of state, from a car's position, speed and link to the car ahead to the model's ring of cars, track layout and DataCollector.
For each card, decide whether the state belongs to a single Car agent or to the TrafficJamModel, then click it to flip and check.
Car agentTrafficJamModel
Takeaway: A car knows only about itself: its position, its speed, and a link to the one car ahead. The model knows about everyone: it holds the whole ring of cars, lays out the track, drives the schedule, and runs the DataCollector. Keeping "my own state" separate from "the whole system" is the core of the agent-versus-model split in Mesa.

This division, self-state on the agent and system-state on the model, is the same split you will meet in every Mesa model in this book.

A note regarding where to define the Model/Agent Metrics

By now, you may have already noticed that sometimes we define agent/model metrics (e.g., functions/methods) inside the agent/model class and sometimes outside. What is the difference?

In Mesa, you can define model metrics (functions/methods) either inside or outside of agent and model classes. When you place a method inside a class, it becomes part of that class’s behaviour and can directly access and modify the class’s attributes using self. This is useful when the function is closely related to the internal workings of an agent or model, as it keeps the code modular and encapsulates the functionality within the relevant class.

On the other hand, functions defined outside of classes are independent and do not automatically have access to the internal state of any particular class instance. These external functions are generally more reusable, as they can be applied across different contexts by passing the necessary data explicitly as arguments. This makes them ideal for general-purpose tasks that are not tightly coupled to a specific agent or model.

In this course, most of the time there is no specific reason behind where we define these metrics, so it is often a random choice or a matter of coding preference. However, there is a difference in how we write the function and how we call it when we need to use it. Check this an previous assignments to see examples.

Below is an example of a function defined once inside and once outside the model class. This example has been used in the simple_economy model

This model reports several numbers as it runs, and the exercises keep asking you to read them. The quick matching task below makes sure each metric is paired with what it actually measures before you rely on them.

Learning Activity: Match the traffic metric to what it measures
pair each model output with the plain-language quantity it reports.
Four traffic metrics, mean speed, fraction stopped, cars at top speed and flow, each to be paired with the plain-language quantity it reports.
For each metric, click the phrase that says what it measures, and once every row is matched press Check answers.
# Metric inside the class:

# class MyModel(Model):
#     def __init__(self, width, height):
#         self.width = width
#         self.height = height

#     def calculate_total_area(self):
#         return self.width * self.height
    
# Metric outside the class:

# def calculate_total_area(model):
#     return model.width * model.height

Task: convert the base model into a flow chart#

Convert the base model into a flow chart that tells a story of what is going on. You may use pen and paper for this.

Before you sketch the flow chart on paper, rehearse the logic of a single tick below. Each car runs the same four steps in a fixed order every time the model advances.

Learning Activity: One tick of traffic
put the per-step car-following rules into the order a tick applies them.
The four per-step car-following rules of the classic Nagel–Schreckenberg logic, accelerate, brake to the gap, random slowdown and move, presented shuffled in a pool.
Click each step in turn to drop it into the numbered slots in the order it runs within a single tick, click a slot's chip to send it back, and once all four slots are full press Check order.
The order of a tick
Steps (click to place)

Your flow chart should capture exactly this loop: work out a new speed from the current gap, then move, repeated for every car on every tick.

4.3.1.1.2: Run and visualise the model#

# You do not have to understand every line in the code below. This has been prepared for you to experiment. However, it is beneficial if you understand what is going on.

# Importing necessary modules for creating animations and displaying them in Jupyter Notebook.
from matplotlib.animation import FuncAnimation
from matplotlib import animation, rc, collections
from matplotlib import pyplot as plt
from IPython.display import HTML

# Set the number of cars to be simulated.
number_of_cars = 20

# Initialize the TrafficJamModel with the specified number of agents (cars).
model = TrafficJamModel(n_agents=number_of_cars)

agents = model.agents

# Extract the initial positions of all agents (cars) as an array of (x, y) coordinates.
pos = np.asarray([[agent.x, agent.y] for agent in agents])

# Set the style of the plots using Seaborn for better aesthetics.
sns.set_style('white')

# Create a figure and axis for the animation with high DPI for better resolution.
fig, ax = plt.subplots(figsize=(5, 5), dpi=100)

# Plot the initial positions of the cars as a scatter plot.
positions = ax.scatter(pos[:, 0], pos[:, 1])

# Set the aspect ratio of the plot to be equal, ensuring circles look like circles.
ax.set_aspect('equal')

# Set the limits for the x and y axes to keep the plot centered on the origin.
ax.set_xlim(xmin=-2, xmax=2)
ax.set_ylim(ymin=-2, ymax=2)

# Remove the x and y axis ticks for a cleaner look.
ax.set_xticks([])
ax.set_yticks([])

# Define the update function that will be called at each frame of the animation.
def update(frame):
    # Advance the model by one step.
    # Only advance the model for frames after the initial step
    if frame > 0:
        model.step()
    
    # Update the positions of the cars based on the current state of the model 
    pos = np.asarray([[agent.x, agent.y] for agent in agents])
    
    # Update the scatter plot with the new positions.
    positions.set_offsets(pos)
    
    # Update the title of the plot to reflect the current time step.
    ax.set(title=str(number_of_cars) + " cars on the road, t= " + str(model.steps))

    return positions

# Create the animation, which will call the update function at each frame.
anim = FuncAnimation(fig, update, interval=100, frames=301) # Run for 301 frames to include step 0

# Display the animation as an interactive JavaScript player.
# to_jshtml() renders the frames with JavaScript, so it works everywhere, including live code in the browser, with no ffmpeg needed.
plt.rcParams['animation.embed_limit'] = 2**128  # allow the player to embed all frames
HTML(anim.to_jshtml())
# If you are running the notebook locally and have ffmpeg installed, you can instead render a compact HTML5 video:
# HTML(anim.to_html5_video())

# Optionally, save the animation to a video file.
# writervideo = animation.FFMpegWriter(fps=12, bitrate=900) 
# anim.save("cars.mp4", writer=writervideo, dpi=200)
../_images/af7989fcd8870c25cd940cc3deabde5eb1530dadc1bb6875bc0e44fe6a1fb7cc.png

Exercise: describe the behaviour of the agents shown in the animation#

Please write up to five sentences in your own words:

  • Describe what you see in the animation.

  • Describe the behaviour of the agents.

  • What patterns, trends, or interactions do you observe throughout the simulation?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

You have just watched cars circle the road on their own. In the activity below you take the wheel of one of them, on a road that is clear, with no light and no crash and traffic flowing freely. Before you begin, predict what a single, momentary tap of the brake will do to the cars strung out behind you.

Learning Activity: You are the driver
trigger a phantom jam with one tap of the brakes and watch it travel backwards through traffic that has no obstacle.
A single-lane loop of cars in which your own car is the dark one marked "you", with each car coloured by speed: blue is fast, orange is slow and red is stopped.
Press Play to set the traffic moving, and once it is flowing press Tap the brake once, then watch what happens to the cars behind you.
fastslowstoppedyour car
Average speed
0.0
Cars stopped
0
The road is empty of obstacles and every car wants to go fast. Press Play to start.
You added no obstacle: you slowed for one tick and then drove on. Yet the cars behind you had to brake, the cars behind them braked harder, and a compact cluster of slow and stopped cars formed and began drifting backwards, against the direction of travel, long after you were back up to speed. This is a phantom jam: a stop-and-go wave that is entirely emergent, needs no cause at its location, travels upstream, and drags the average speed down. It is the single most famous surprise of traffic modelling, and it falls straight out of simple car-following rules.

The moral for the exercises that follow is that the interesting behaviour of a traffic model is not in any single car but in the pattern the cars make together: a jam can exist and travel with a life of its own, even when no individual driver is doing anything unusual.

4.3.1.1.3: Explore the model behaviour#

# Let's explore the dataset and understand what the model is doing over time.
# Ensure that you have pandas version > 1.3 installed for this to work correctly.
# If you are using Vocareum, this should be fine.

# To facilitate testing and exploration, we will create a smaller dataset by running the model with fewer agents and timesteps.

# Set the number of agents and timesteps for this test run.
num_agents = 11
timesteps = 30

# Initialize the TrafficJamModel with the specified number of agents.
model = TrafficJamModel(n_agents=num_agents)

# Run the model for the specified number of timesteps.
for i in range(timesteps):
    model.step()

# Retrieve the model-level data collected during the simulation.
model_data = model.datacollector.get_model_vars_dataframe()

# Retrieve the agent-level data collected during the simulation.
agent_data = model.datacollector.get_agent_vars_dataframe()
# Display the first few rows of the model_data DataFrame:
model_data.head()
Step num_max_speed num_standing_still
0 0 1.0 0.0
1 1 1.0 0.0
2 2 1.0 0.0
3 3 1.0 0.0
4 4 1.0 0.0
# Display the first few rows of the agent_data DataFrame:
agent_data.head()
speed acceleration deceleration
Step AgentID
0.0 1 0.089592 0.04 0.02
2 0.111280 0.04 0.02
3 0.133260 0.04 0.02
4 0.107931 0.04 0.02
5 0.117486 0.04 0.02
# Let's set some Seaborn variables to customize the appearance of our plots.

# Set the overall style of the plots to "whitegrid", which adds a subtle grid to the background.
# This style is particularly useful for plots where you want to emphasize the data points against a clean background.
sns.set_theme(style="whitegrid")

# Set the color palette for the plots to "viridis".
# The "viridis" palette is a perceptually uniform colormap that is often used for heatmaps and other visualizations
# where color differentiation is important. It provides a good contrast and is colorblind-friendly.
sns.set_palette("viridis")
# Now we can plot each car's speed profile over time.

# Create a line plot to visualize the speed of each car (agent) at each timestep.
# The 'x' axis represents the timesteps, and the 'y' axis represents the speed of the cars.
# The 'hue' parameter is used to differentiate between cars based on their AgentID.
fig = sns.lineplot(data=agent_data, x='Step', y='speed', hue='AgentID')

# Adjust the legend's position so it doesn't overlap with the plot.
# The legend will be placed outside the plot area, anchored to the upper left corner of the plot's bounding box.
fig.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)

# Observation: We can see that at each timestep, there is a wide variety of speeds among the cars.
# However, this plot is not very useful for detailed analysis due to the overlapping lines, making it hard to discern individual car behaviors.
<matplotlib.legend.Legend at 0x11761d450>
../_images/2d47c4bbc6198b09d99b34106364dd02b962fa4432b2ad2335832da8095e2bb3.png

Task: plot histograms over time#

Create a plot or a series of plots that show the distribution of speeds over time. Is this plot useful ?

Hint:

  • Use sns.histplot() from Seaborn or plt.hist() from Matplotlib to create histograms.

  • You can visualise the speed distribution at different timesteps by either overlaying histograms in one plot or using plt.subplots() to create a grid of histograms.

  • Adjust the number of bins to capture the distribution clearly, and experiment with subplots to make comparisons over time easier.

# answer here

Plot the mean and standard deviation together#

# This form of Seaborn plot will show the mean and the standard deviation (SD) of speeds per timestep.

# Create a figure and axis for the plot with a specified size and DPI (dots per inch) for better resolution.
fig, ax = plt.subplots(figsize=(8, 5), dpi=200)

# Use Seaborn's lineplot to plot the speed of agents over time.
# The 'x' axis represents the timestep, and the 'y' axis represents the speed of the agents.
# By default, Seaborn's lineplot will also show a shaded area representing the 95% confidence interval of the data.
ax = sns.lineplot(data=agent_data, x='Step', y='speed')

# Save the plot as a PNG file with a filename that includes the number of agents and timesteps for easy identification. 
# Uncomments the following line to save the plot.

# plt.savefig("Average_speed_" + str(num_agents) + "_cars_over_" + str(timesteps) + "_timesteps.png")
../_images/e0f729eed9fa03f7a205eeb9aa4a7f2ee46adcb15c77162e4185c9d5766cee5e.png

Exercise: describe what you see in the plot above#

  • Describe what you see in the plot.

  • Why are there three lines, and what does each line represent?

  • What does the grey area signify?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Plot multiple series in one graph#

# Displaying the model_data DataFrame
model_data
Step num_max_speed num_standing_still
0 0 1.000000 0.000000
1 1 1.000000 0.000000
2 2 1.000000 0.000000
3 3 1.000000 0.000000
4 4 1.000000 0.000000
5 5 1.000000 0.000000
6 6 1.000000 0.000000
7 7 1.000000 0.000000
8 8 1.000000 0.000000
9 9 1.000000 0.000000
10 10 1.000000 0.000000
11 11 1.000000 0.000000
12 12 1.000000 0.000000
13 13 1.000000 0.000000
14 14 0.909091 0.000000
15 15 0.909091 0.000000
16 16 0.818182 0.000000
17 17 0.818182 0.000000
18 18 0.909091 0.000000
19 19 0.909091 0.000000
20 20 0.818182 0.090909
21 21 0.818182 0.090909
22 22 0.909091 0.000000
23 23 0.818182 0.000000
24 24 0.818182 0.000000
25 25 0.727273 0.000000
26 26 0.636364 0.000000
27 27 0.727273 0.000000
28 28 0.818182 0.000000
29 29 0.909091 0.000000
30 30 0.909091 0.000000
# Seaborn works best when the data are structured in pairs [x, y, variable_name].
# For that, we use the pandas melt() function to reshape the DataFrame.

# Melt the DataFrame 'model_data' to transform 'num_max_speed' and 'num_standing_still' columns into a long format.
# 'id_vars' specifies the column(s) to keep (in this case, 'Step'), and 'value_vars' specifies the columns to melt.
# The 'var_name' parameter assigns a name to the new column that indicates the variable (here named 'Speed').
data_num = model_data.melt(id_vars="Step", value_vars=['num_max_speed', 'num_standing_still'], var_name='Speed')

# Replace the string 'num_max_speed' with 'Max' in the 'Speed' column for clarity in the plots.
data_num.replace(to_replace="num_max_speed", value="Max", inplace=True)

# Replace the string 'num_standing_still' with '0' in the 'Speed' column for clarity in the plots.
data_num.replace(to_replace="num_standing_still", value="0", inplace=True)

# Display the last few rows of the transformed DataFrame to inspect the changes.
data_num.tail()
Step Speed value
57 26 0 0.0
58 27 0 0.0
59 28 0 0.0
60 29 0 0.0
61 30 0 0.0
# Create a line plot using Seaborn to visualize the fraction of cars over time based on the melted data.

# 'data' specifies the DataFrame to use (here, 'data_num').
# 'x' specifies the data column to use for the x-axis (here, 'Step').
# 'y' specifies the data column to use for the y-axis (here, 'value', which represents the fraction of cars).
# 'hue' differentiates the lines based on the 'Speed' variable, which contains the labels 'Max' and '0' after the replacement.
ax = sns.lineplot(data=data_num, x='Step', y='value', hue='Speed')

# Set the label for the y-axis to "Fraction of cars" for better understanding of what the plot represents.
ax.set(ylabel="Fraction of cars")
[Text(0, 0.5, 'Fraction of cars')]
../_images/94886889b0ae13c68bc4b894331251445f84aae327ac978b83e6c02233d543d5.png

Exercise: describe what you see in the plot above#

  • Describe what you see in the plot.

  • Do you recognise a relationship between the two lines? If so, why does it occur?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Task: add and visualise new model metrics#

  1. Introduce new metrics that can provide additional insights into your model’s behaviour. Examples might include time spent at maximum speed. You are free to choose any metrics, even simple ones.

  2. Implement and Collect: Modify your model to calculate and collect these new metrics during the simulation.

  3. Analyse and Visualise: Integrate the new metrics into your data analysis workflow. Visualise these metrics using appropriate techniques, such as line plots, heatmaps, or other relevant visualisations. See what we used above or in previous assignments

  4. Interpret Results: write two sentences about the significance of these new metrics in understanding the dynamics of your model. How do they contribute to a deeper understanding of the system’s behaviour?

# answer here

Having felt a jam appear from a single tap of the brakes, it is worth pinning down exactly what is going on. The three questions below check the intuition behind the stop-and-go wave.

Learning Activity: What makes a jam?
explain why jams form and mean speed drops without any obstacle on the road.
Three multiple-choice questions on why a jam forms, which way a stop-and-go wave travels, and why mean speed stays under the limit on a uniform ring road.
Answer each question by clicking one option, then press Check answers to see the correct choices and why.

4.3.1.2: Batch experiments#

The Batch Runner is a tool in the Mesa framework that allows you to run multiple simulations of your agent-based model with varying parameters. This is particularly useful for conducting parameter sweeps, sensitivity analysis, and understanding how changes in model inputs affect the outcomes.

Key Features of Batch Runner:

  1. Parameter Sweeping: The Batch Runner enables you to systematically vary one or more parameters across a range of values. This helps in exploring how different configurations impact the model’s behaviour.

  2. Multiple Iterations: You can specify the number of iterations for each parameter combination, which is useful for averaging results to account for stochastic elements in the model.

  3. Parallel Processing: Batch Runner supports running simulations in parallel, allowing you to utilize multiple CPU cores to speed up the process.

  4. Data Collection: It collects and aggregates the data from each run, which can then be easily transformed into a pandas DataFrame for further analysis and visualisation.

Before you write any sweep code, it is worth seeing why a sweep is needed at all. A single run at a single density is only one data point; the behaviour that actually matters, how an outcome changes as a parameter changes, appears only once the model is run across many values. The activity below makes that concrete on the very traffic model you are about to sweep.

Learning Activity: Sweep the traffic
see why one simulation run is a single dot, while sweeping a parameter draws the whole response curve and reveals its tipping point.
A circular-road traffic model shown as one live run at the density you pick, paired with a response curve of average speed and flow across every density, exactly what mesa.batch_run automates.
Move the Car density slider and watch that single run, then press Run the sweep to execute the model across every density and fill in the response curve.
One run · the circular road right now
free-flowing slowing stopped (jam)
Set a density to release the traffic.
Car density 15%

The sweep · the outcome at every density
average speed flow (throughput) your current run
The curve is empty, a single run would fill only one point of it.
One run is one point; the sweep is the finding. A single simulation at a single density is just one dot on this chart, and by itself it hides the story. Sweeping the density, running the model across a grid of values, with repeats, which is precisely what mesa.batch_run(...) does, draws the whole curve and exposes the tipping point: average speed holds up until a critical density and then collapses, and flow rises to a peak there before the road jams solid. Run the sweep above to locate that peak for yourself. The relationship between a parameter and an outcome, not any one run, is the real result.

Keep this picture in mind as you write the batch runs below: each call to mesa.batch_run is doing exactly what the button did, executing the model across a grid of parameter values (with repeats) so that the response curve, and the tipping point hiding inside it, become visible.

4.3.1.2.1: One-dimensional parameter sweep#

# Define the parameters for the batch run.
# The 'params' dictionary includes different configurations for the TrafficJamModel.
# 'average_speed', 'acceleration', and 'deceleration' are kept constant, while 'n_agents' varies from 1 to 40 in steps of 5.
params = dict(
    average_speed=0.1,            # The initial average speed of the agents.
    acceleration=0.02,            # The rate at which agents accelerate.
    deceleration=0.02,            # The rate at which agents decelerate.
    n_agents=np.arange(1, 40, 5)  # Number of agents (cars) varies from 1 to 40 in increments of 5.
)

# Execute the batch run using the defined parameters.
param_run = mesa.batch_run(
    TrafficJamModel,              # The model to run.
    parameters=params,            # The parameters to vary in the batch run.
    rng=[42],                     # Run the model once with seed 42.
    max_steps=4,                  # The maximum number of steps (timesteps) the model will run for each iteration.
    number_processes=1,           # Number of processor cores to use. Increase this if you have more cores available to speed up the batch run.
    data_collection_period=1,     # How often data should be collected (every step in this case).
    display_progress=True         # Display progress of the batch run, useful for tracking long-running simulations.
)
# What is the type of the param_run object?
# Check the type of the param_run object.
# This will help you understand what kind of data structure or object is returned by the mesa.batch_run function.

print(f'The type of param_run is {type(param_run)}')
The type of param_run is <class 'list'>
# Let's inspect the contents of the param_run object to see how the batch run results are structured.

print(param_run)
[{'RunId': 0, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(1), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 0, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(1), 'seed': 42, 'num_max_speed': 0.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.0019423638681688288}, {'RunId': 0, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(1), 'seed': 42, 'num_max_speed': 0.0, 'num_standing_still': 1.0, 'AgentID': 1, 'speed': 3.884727736337658e-05}, {'RunId': 0, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(1), 'seed': 42, 'num_max_speed': 0.0, 'num_standing_still': 1.0, 'AgentID': 1, 'speed': 7.769455472675316e-07}, {'RunId': 0, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(1), 'seed': 42, 'num_max_speed': 0.0, 'num_standing_still': 1.0, 'AgentID': 1, 'speed': 1.553891094535063e-08}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 1, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 1, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 1, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 1, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 1, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(6), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 2, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 2, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 2, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 2, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 2, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(11), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 3, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 3, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 3, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 3, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 3, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(16), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 4, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 4, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 4, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 4, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.0020166627455613538}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 4, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(21), 'seed': 42, 'num_max_speed': 0.9523809523809523, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 24, 'speed': 0.1098072506518705}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 25, 'speed': 0.11746808770758894}, {'RunId': 5, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.002262654602719468}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.0020166627455613538}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 24, 'speed': 0.1098072506518705}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 25, 'speed': 0.11746808770758894}, {'RunId': 5, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.9230769230769231, 'num_standing_still': 0.0, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 11, 'speed': 4.525309205438936e-05}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 12, 'speed': 0.022262654602719468}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 17, 'speed': 4.033325491122708e-05}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 18, 'speed': 0.022016662745561355}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 24, 'speed': 0.1098072506518705}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 25, 'speed': 0.0019037481309379458}, {'RunId': 5, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.8076923076923077, 'num_standing_still': 0.07692307692307693, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 10, 'speed': 9.050618410877872e-07}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 11, 'speed': 0.0008452530920543894}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 12, 'speed': 0.04226265460271947}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 17, 'speed': 0.0008403332549112272}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 18, 'speed': 0.04201666274556136}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 21, 'speed': 0.001418581880796529}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 24, 'speed': 0.0004380749626187589}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 25, 'speed': 0.021903748130937945}, {'RunId': 5, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.6923076923076923, 'num_standing_still': 0.15384615384615385, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 4, 'speed': 0.0019489646864868455}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 7, 'speed': 0.0018930650086011328}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 9, 'speed': 1.8101236821755744e-08}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 10, 'speed': 1.6905061841087787e-05}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 11, 'speed': 0.0008452530920543894}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 12, 'speed': 0.06226265460271947}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 13, 'speed': 3.409342718124144e-05}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 14, 'speed': 0.0017046713590620718}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 16, 'speed': 1.6806665098224543e-05}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 17, 'speed': 0.020840333254911227}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 18, 'speed': 0.06201666274556136}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 20, 'speed': 2.837163761593058e-05}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 21, 'speed': 0.02141858188079653}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 23, 'speed': 8.761499252375177e-06}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 24, 'speed': 0.0004380749626187589}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 25, 'speed': 0.041903748130937946}, {'RunId': 5, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(26), 'seed': 42, 'num_max_speed': 0.38461538461538464, 'num_standing_still': 0.3076923076923077, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 24, 'speed': 0.1098072506518705}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 25, 'speed': 0.11746808770758894}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 27, 'speed': 0.1075319971737582}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 28, 'speed': 0.1049642689865683}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 29, 'speed': 0.11564653617407285}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 6, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 31, 'speed': 0.11136501375170772}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 11, 'speed': 0.0024654234746396574}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 12, 'speed': 0.002262654602719468}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 17, 'speed': 0.00252443233088162}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 24, 'speed': 3.8074962618758916e-05}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 25, 'speed': 0.0019037481309379458}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 27, 'speed': 0.002099285379731366}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 28, 'speed': 3.1094222286014625e-05}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 29, 'speed': 0.001554711114300731}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 6, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.7419354838709677, 'num_standing_still': 0.06451612903225806, 'AgentID': 31, 'speed': 0.11136501375170772}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 4, 'speed': 0.0019489646864868455}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 5, 'speed': 0.0014010586342636173}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 7, 'speed': 0.0018930650086011328}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 10, 'speed': 4.930846949279315e-05}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 11, 'speed': 0.02246542347463966}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 12, 'speed': 0.022262654602719468}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 13, 'speed': 3.409342718124144e-05}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 14, 'speed': 0.0017046713590620718}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 16, 'speed': 5.04886466176324e-05}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 17, 'speed': 0.02252443233088162}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 18, 'speed': 3.9149413649833733e-05}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 19, 'speed': 0.0019574706824916866}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 23, 'speed': 7.614992523751784e-07}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 24, 'speed': 0.02003807496261876}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 25, 'speed': 0.021903748130937945}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 26, 'speed': 1.243768891440585e-08}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 27, 'speed': 6.218844457202925e-07}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 28, 'speed': 3.1094222286014625e-05}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 29, 'speed': 0.021554711114300733}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 6, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.3548387096774194, 'num_standing_still': 0.25806451612903225, 'AgentID': 31, 'speed': 0.0019423638681688288}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 3, 'speed': 5.60423453705447e-07}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 4, 'speed': 2.8021172685272347e-05}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 5, 'speed': 0.021401058634263618}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 7, 'speed': 0.021893065008601133}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 9, 'speed': 8.986169389855864e-06}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 10, 'speed': 0.0004493084694927932}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 11, 'speed': 0.00044525309205438934}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 12, 'speed': 0.04226265460271947}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 13, 'speed': 0.0004340934271812415}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 14, 'speed': 0.021704671359062074}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 15, 'speed': 0.00040100977293235264}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 16, 'speed': 0.020050488646617633}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 17, 'speed': 0.04252443233088162}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 18, 'speed': 0.0004391494136498338}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 19, 'speed': 0.021957470682491688}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 21, 'speed': 0.001418581880796529}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 23, 'speed': 0.0008007614992523751}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 24, 'speed': 0.040038074962618755}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 25, 'speed': 0.041903748130937946}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 26, 'speed': 1.243768891440585e-08}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 27, 'speed': 0.02000062188444572}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 28, 'speed': 0.020031094222286015}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 29, 'speed': 0.04155471111430073}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 6, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.22580645161290322, 'num_standing_still': 0.3225806451612903, 'AgentID': 31, 'speed': 0.021942363868168828}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 2, 'speed': 1.120846907410894e-08}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 3, 'speed': 5.60423453705447e-07}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 4, 'speed': 0.020028021172685272}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 5, 'speed': 0.04140105863426362}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 6, 'speed': 0.00043786130017202266}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 7, 'speed': 0.041893065008601134}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 8, 'speed': 1.797233877971173e-07}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 9, 'speed': 1.7810123682175576e-07}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 10, 'speed': 8.905061841087788e-06}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 11, 'speed': 0.02044525309205439}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 12, 'speed': 0.06226265460271947}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 13, 'speed': 0.0004340934271812415}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 14, 'speed': 0.04170467135906207}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 15, 'speed': 0.020401009772932355}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 16, 'speed': 0.04005048864661763}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 17, 'speed': 0.06252443233088162}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 18, 'speed': 0.0008391494136498338}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 19, 'speed': 0.041957470682491685}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 20, 'speed': 2.837163761593058e-05}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 21, 'speed': 0.001418581880796529}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 22, 'speed': 1.60152299850475e-05}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 23, 'speed': 0.0008007614992523751}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 24, 'speed': 1.600049750755658e-07}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 25, 'speed': 8.000248753778289e-06}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 26, 'speed': 0.00040001243768891445}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 27, 'speed': 0.040000621884445725}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 28, 'speed': 0.04003109422228601}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 29, 'speed': 0.061554711114300734}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 30, 'speed': 0.0004388472773633766}, {'RunId': 6, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(31), 'seed': 42, 'num_max_speed': 0.03225806451612903, 'num_standing_still': 0.4838709677419355, 'AgentID': 31, 'speed': 0.041942363868168825}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 1, 'speed': 0.09711819340844144}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 2, 'speed': 0.09654192799336962}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 3, 'speed': 0.09777368276864676}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 4, 'speed': 0.11403967450197727}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 7, 'speed': 0.10664636688135432}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 8, 'speed': 0.09465325043005664}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 9, 'speed': 0.0956608263170961}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 10, 'speed': 0.10231769573401711}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 11, 'speed': 0.10464595473813443}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 12, 'speed': 0.12327117373198286}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 13, 'speed': 0.11313273013597339}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 14, 'speed': 0.10221014354887664}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 17, 'speed': 0.10492684390422405}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 18, 'speed': 0.12622161654408098}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 19, 'speed': 0.10083313727806768}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 20, 'speed': 0.09787353412458433}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 23, 'speed': 0.09375445365710881}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 24, 'speed': 0.1098072506518705}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 25, 'speed': 0.11746808770758894}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 26, 'speed': 0.0951874065468973}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 27, 'speed': 0.1075319971737582}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 28, 'speed': 0.1049642689865683}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 29, 'speed': 0.11564653617407285}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 31, 'speed': 0.11136501375170772}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 32, 'speed': 0.06970959216549721}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 33, 'speed': 0.04760109155562297}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 34, 'speed': 0.08786218543600996}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 35, 'speed': 0.08168379907308011}, {'RunId': 7, 'iteration': 0, 'Step': 0, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 1.0, 'num_standing_still': 0.0, 'AgentID': 36, 'speed': 0.11752024486112814}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 1, 'speed': 0.0019308385598673925}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 2, 'speed': 0.0019554736553729353}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 3, 'speed': 3.897929372973691e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 4, 'speed': 0.0019489646864868455}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 5, 'speed': 0.09744823432434227}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 6, 'speed': 0.07005293171318086}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 7, 'speed': 0.0018930650086011328}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 8, 'speed': 4.0927078293606844e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 9, 'speed': 0.002046353914680342}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 10, 'speed': 4.930846949279315e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 11, 'speed': 0.0024654234746396574}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 12, 'speed': 0.002262654602719468}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 13, 'speed': 3.409342718124144e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 14, 'speed': 0.0017046713590620718}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 15, 'speed': 0.08523356795310359}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 16, 'speed': 0.07970675265024565}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 17, 'speed': 0.00252443233088162}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 18, 'speed': 0.0020166627455613538}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 19, 'speed': 4.425420976320697e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 20, 'speed': 0.002212710488160348}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 21, 'speed': 0.1106355244080174}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 22, 'speed': 0.07092909403982645}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 23, 'speed': 0.00219614501303741}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 24, 'speed': 1.679428303785093e-08}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 25, 'speed': 8.397141518925464e-07}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 26, 'speed': 4.198570759462732e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 27, 'speed': 0.002099285379731366}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 28, 'speed': 3.1094222286014625e-05}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 29, 'speed': 0.001554711114300731}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 30, 'speed': 0.07773555571503656}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 31, 'speed': 0.0013941918433099444}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 32, 'speed': 0.06970959216549721}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 33, 'speed': 0.04760109155562297}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 34, 'speed': 0.0016336759814616023}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 35, 'speed': 0.08168379907308011}, {'RunId': 7, 'iteration': 0, 'Step': 1, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.2777777777777778, 'num_standing_still': 0.2777777777777778, 'AgentID': 36, 'speed': 3.861677119734785e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 1, 'speed': 3.910947310745871e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 2, 'speed': 7.795858745947383e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 3, 'speed': 3.897929372973691e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 4, 'speed': 0.021948964686486844}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 5, 'speed': 7.572260034404531e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 6, 'speed': 3.786130017202266e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 7, 'speed': 8.185415658721369e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 8, 'speed': 4.0927078293606844e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 9, 'speed': 9.86169389855863e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 10, 'speed': 4.930846949279315e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 11, 'speed': 1.3637370872496576e-08}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 12, 'speed': 6.818685436248288e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 13, 'speed': 0.0004340934271812415}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 14, 'speed': 0.021704671359062074}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 15, 'speed': 1.613330196449083e-08}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 16, 'speed': 8.066650982245415e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 17, 'speed': 4.033325491122708e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 18, 'speed': 8.850841952641393e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 19, 'speed': 0.000444254209763207}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 20, 'speed': 0.02221271048816035}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 21, 'speed': 8.784580052149641e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 22, 'speed': 4.39229002607482e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 23, 'speed': 3.358856607570186e-10}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 24, 'speed': 1.679428303785093e-08}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 25, 'speed': 8.397141518925464e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 26, 'speed': 4.198570759462732e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 27, 'speed': 6.218844457202925e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 28, 'speed': 0.00043109422228601466}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 29, 'speed': 0.021554711114300733}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 30, 'speed': 2.7883836866198888e-05}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 31, 'speed': 0.021394191843309946}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 32, 'speed': 0.06970959216549721}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 33, 'speed': 0.04760109155562297}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 34, 'speed': 0.021633675981461604}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 35, 'speed': 7.72335423946957e-07}, {'RunId': 7, 'iteration': 0, 'Step': 2, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.7777777777777778, 'AgentID': 36, 'speed': 7.821894621491741e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 1, 'speed': 1.5591717491894767e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 2, 'speed': 7.795858745947383e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 3, 'speed': 0.020038979293729737}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 4, 'speed': 0.041948964686486845}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 5, 'speed': 3.2741662634885473e-10}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 6, 'speed': 1.6370831317442737e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 7, 'speed': 8.185415658721369e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 8, 'speed': 1.972338779711726e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 9, 'speed': 9.86169389855863e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 10, 'speed': 3.472747417449932e-09}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 11, 'speed': 1.736373708724966e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 12, 'speed': 8.68186854362483e-06}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 13, 'speed': 0.020434093427181242}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 14, 'speed': 0.04170467135906207}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 15, 'speed': 1.613330196449083e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 16, 'speed': 8.066650982245415e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 17, 'speed': 1.7770168390528282e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 18, 'speed': 8.88508419526414e-06}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 19, 'speed': 0.000444254209763207}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 20, 'speed': 0.042212710488160346}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 21, 'speed': 8.784580052149641e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 22, 'speed': 6.7177132151403725e-12}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 23, 'speed': 3.358856607570186e-10}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 24, 'speed': 1.679428303785093e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 25, 'speed': 3.4487537782881175e-09}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 26, 'speed': 1.7243768891440587e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 27, 'speed': 8.621884445720293e-06}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 28, 'speed': 1.711535347464796e-07}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 29, 'speed': 8.55767673732398e-06}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 30, 'speed': 0.00042788383686619895}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 31, 'speed': 0.041394191843309946}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 32, 'speed': 0.06970959216549721}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 33, 'speed': 0.04760109155562297}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 34, 'speed': 0.0416336759814616}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 35, 'speed': 1.5643789242983484e-08}, {'RunId': 7, 'iteration': 0, 'Step': 3, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.05555555555555555, 'num_standing_still': 0.75, 'AgentID': 36, 'speed': 7.821894621491741e-07}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 1, 'speed': 0.020000015591717494}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 2, 'speed': 0.020000779585874595}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 3, 'speed': 0.04003897929372974}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 4, 'speed': 6.548332526977095e-12}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 5, 'speed': 3.2741662634885473e-10}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 6, 'speed': 1.6370831317442737e-08}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 7, 'speed': 3.944677559423452e-10}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 8, 'speed': 1.3890989669799729e-12}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 9, 'speed': 6.945494834899864e-11}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 10, 'speed': 3.472747417449932e-09}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 11, 'speed': 2.581328314318533e-15}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 12, 'speed': 1.2906641571592666e-13}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 13, 'speed': 6.4533207857963325e-12}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 14, 'speed': 3.226660392898166e-10}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 15, 'speed': 1.613330196449083e-08}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 16, 'speed': 3.5540336781056566e-09}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 17, 'speed': 1.7770168390528282e-07}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 18, 'speed': 8.88508419526414e-06}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 19, 'speed': 0.02044425420976321}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 20, 'speed': 0.06221271048816035}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 21, 'speed': 1.3435426430280744e-13}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 22, 'speed': 6.7177132151403725e-12}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 23, 'speed': 3.358856607570186e-10}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 24, 'speed': 6.897507556576235e-11}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 25, 'speed': 3.4487537782881175e-09}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 26, 'speed': 1.7243768891440587e-07}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 27, 'speed': 0.00040000342307069497}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 28, 'speed': 0.020000171153534748}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 29, 'speed': 0.020008557676737326}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 30, 'speed': 0.0204278838368662}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 31, 'speed': 0.06139419184330995}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 32, 'speed': 0.0009520218311124594}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 33, 'speed': 0.04760109155562297}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 34, 'speed': 0.061633675981461605}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 35, 'speed': 6.236686996757907e-12}, {'RunId': 7, 'iteration': 0, 'Step': 4, 'average_speed': 0.1, 'acceleration': 0.02, 'deceleration': 0.02, 'n_agents': np.int64(36), 'seed': 42, 'num_max_speed': 0.027777777777777776, 'num_standing_still': 0.6944444444444444, 'AgentID': 36, 'speed': 3.1183434983789534e-10}]
# It seems like a complex structure of a list containing dictionaries.
# Luckily, we can turn this into a well-organized pandas DataFrame using a simple command.

# Convert the list of dictionaries (param_run) into a pandas DataFrame.
# This will make it easier to manipulate, analyze, and visualize the batch run results.
batch_1D_results = pd.DataFrame(param_run)
# Visualize the first 5 rows of the DataFrame
batch_1D_results.head()
RunId iteration Step average_speed acceleration deceleration n_agents seed num_max_speed num_standing_still AgentID speed
0 0 0 0 0.1 0.02 0.02 1 42 1.0 0.0 1 9.711819e-02
1 0 0 1 0.1 0.02 0.02 1 42 0.0 0.0 1 1.942364e-03
2 0 0 2 0.1 0.02 0.02 1 42 0.0 1.0 1 3.884728e-05
3 0 0 3 0.1 0.02 0.02 1 42 0.0 1.0 1 7.769455e-07
4 0 0 4 0.1 0.02 0.02 1 42 0.0 1.0 1 1.553891e-08

Visualisation with a FacetGrid#

# Seaborn FacetGrid is a powerful tool for creating multi-plot grids: https://seaborn.pydata.org/generated/seaborn.FacetGrid.html

# Create a FacetGrid to visualize the speed of agents over time, grouped by the number of agents ('n_agents').
# The 'col_wrap' parameter determines how many plots to display per row, while 'col' specifies which variable to facet on.
# 'height' and 'aspect' control the size and shape of each plot.

g = sns.FacetGrid(batch_1D_results, col_wrap=4, col='n_agents', height=5, aspect=2)

# Map a line plot onto each facet, with 'Step' on the x-axis and 'speed' on the y-axis.
g.map(sns.lineplot, 'Step', 'speed')

# Display the plot grid.
plt.show()
../_images/85fcb956ad92e13fe58a90fb8be8f443bc21ded2d32fbacacf831464a7fd7ec6.png
# Create a FacetGrid to visualize the number of cars at maximum speed and the number standing still over time.
# The grid will have a separate plot for each unique value of 'n_agents'.
g = sns.FacetGrid(batch_1D_results, col_wrap=4, col='n_agents', height=5, aspect=1)

# Map a green line plot for 'num_max_speed' over time onto each facet.
g.map(sns.lineplot, 'Step', 'num_max_speed', color='green', label='Max Speed')

# Map a red line plot for 'num_standing_still' over time onto each facet.
g.map(sns.lineplot, 'Step', 'num_standing_still', color='red', label='Standing Still')

# Set axis labels for the plot
g.set_axis_labels("Time Step", "fractions of cars")

# Set titles for each facet based on the number of agents
g.set_titles(col_template="n_agents: {col_name}")

# Add a legend to differentiate between max speed and standing still
g.add_legend()

# Display the grid of plots
plt.show()
../_images/554f278ac078218aca2e7d653b36995b9926568ab31abf82440d8054c026de83.png

Exercise: describe what you see in the plots above#

Please write up to five sentences in your own words:

  • Describe what you see in the plots.

  • What patterns, relationships, or interactions do you observe among the different parameters?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Alternative FacetGrid using melt and colour#

“Melting” a DataFrame is the process of transforming it from a wide format, where data is spread across multiple columns, to a long format, where data is stacked into a single column. This restructuring makes it easier to analyse and visualise data by consolidating multiple metrics into a more compact and flexible format.

molten_model_data = batch_1D_results.melt(id_vars = ["Step",'n_agents',"RunId"], value_vars = ['num_max_speed','num_standing_still'], var_name='Speed')

# Explanation of the command above:

#  1.	Identify Identifier Variables (id_vars):
# The columns "Step", 'n_agents', and "RunId" are specified as identifier variables. These columns remain unchanged in the resulting DataFrame. Each row will retain these columns to identify the context of the measurements.
# 	2.	Specify Value Variables (value_vars):
# The columns 'num_max_speed' and 'num_standing_still' are specified as value variables. These columns contain the data that will be unpivoted or melted into a single column.
# 	3.	Transform the DataFrame:
# The melt function transforms the batch_results DataFrame from a wide format (where multiple columns contain different metrics) to a long format (where one column contains the names of the metrics and another contains their values).
# 	4.	Name the Variable Column (var_name):
# The var_name='Speed' parameter renames the variable column in the melted DataFrame to 'Speed'. This column will contain the names of the melted value variables ('num_max_speed' and 'num_standing_still').
# Want to see how batch_results looked like before melting? then uncomment the following:

# batch_1D_results
# Visualize the molten_model_data dataframe:
molten_model_data

#Note: number_max_speed is a ratio (1 = 100%). see the function definition above
Step n_agents RunId Speed value
0 0 1 0 num_max_speed 1.000000
1 1 1 0 num_max_speed 0.000000
2 2 1 0 num_max_speed 0.000000
3 3 1 0 num_max_speed 0.000000
4 4 1 0 num_max_speed 0.000000
... ... ... ... ... ...
1475 4 36 7 num_standing_still 0.694444
1476 4 36 7 num_standing_still 0.694444
1477 4 36 7 num_standing_still 0.694444
1478 4 36 7 num_standing_still 0.694444
1479 4 36 7 num_standing_still 0.694444

1480 rows × 5 columns

#visualize the first 5 rows of the molten_model_data dataframe:
molten_model_data.head()
Step n_agents RunId Speed value
0 0 1 0 num_max_speed 1.0
1 1 1 0 num_max_speed 0.0
2 2 1 0 num_max_speed 0.0
3 3 1 0 num_max_speed 0.0
4 4 1 0 num_max_speed 0.0
#plotting the molten_model_data using seaborn FacetGrid

g = sns.FacetGrid(molten_model_data, col_wrap = 4, hue='Speed', col='n_agents',height=5, aspect=1)
g.map(sns.lineplot, 'Step', 'value')
<seaborn.axisgrid.FacetGrid at 0x117ff0410>
../_images/f445eb28ecf71325279301f32cc280fbf0f02a664cfe909a8cc82c4128789bba.png

Exercise: describe what you see in the plots above#

Please write up to five sentences in your own words:

  • Describe what you see in the plots.

  • What patterns, relationships, or interactions do you observe among the different parameters?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

State-space view over time and parameter value#

# Let's look at the attractors in the system over the parameter values.
# NOTE: We are using matplotlib again, not Seaborn.
# We (again) tell matplotlib to draw inline in the notebook.
# Uncomment the following line to enable inline plotting in a notebook environment.
# %matplotlib inline

# If you prefer matplotlib to open a separate interactive window for the plot, uncomment the following line.
# %matplotlib qt

# Create a new figure for the 3D plot.
fig = plt.figure()

# Set up a 3D axis using matplotlib's Axes3D functionality.
ax = plt.axes(projection='3d')

# Plot a 3D surface plot of 'num_max_speed' over 'Step' and 'n_agents'.
# 'plot_trisurf' is used to create a triangular surface plot, which can handle irregularly spaced data.
# 'cmap=plt.cm.viridis' applies a colormap to the surface for better visual distinction.
ax.plot_trisurf(batch_1D_results['Step'], batch_1D_results['n_agents'], batch_1D_results['num_max_speed'], cmap=plt.cm.viridis, linewidth=0.2)

# Set the labels for the x, y, and z axes to clarify what each axis represents.
ax.set(xlabel="Steps", ylabel="Number of cars", zlabel="Fraction of cars at maximum speed")

# Display the 3D plot.
plt.show()
../_images/a3552084cb19d84278fd856391118d2aecf0d7de0ab085e5966dfc2c3dd12ba3.png
#let's plot the fraction of cars standing still over time and across different numbers of cars, which is the opposite of the previous plot.

# Create a new figure for the 3D plot.
fig = plt.figure()

# Set up a 3D axis using matplotlib's Axes3D functionality.
ax = plt.axes(projection='3d')

# Plot a 3D surface showing the fraction of cars standing still over time ('Step') and across different numbers of cars ('n_agents').
# 'plot_trisurf' is used to create a triangular surface plot, ideal for visualizing data with irregular spacing.
# 'cmap=plt.cm.viridis' applies a colormap to the surface for better visual distinction.
ax.plot_trisurf(batch_1D_results['Step'], batch_1D_results['n_agents'], batch_1D_results['num_standing_still'], cmap=plt.cm.viridis, linewidth=0.2)

# Set the labels for the x, y, and z axes to clearly indicate what each axis represents.
ax.set(xlabel="Steps", ylabel="Number of cars", zlabel="Fraction of cars standing still")

# Display the 3D plot.
plt.show()
../_images/2e1466f297e6256091f594e71bacb2e29e25db5a877b38ef4146b931e5620597.png

Exercise: describe what you see in the plot above#

Please write up to five sentences in your own words:

  • Describe what you see in the plot.

  • What patterns, relationships, or interactions do you observe among the different parameters?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.
# BONUS: Let's create an animation to visualize the 3D plot rotating
# You do not need to understand this code, but you can run it to see the animation.


# Import necessary libraries for 3D plotting and animation
from matplotlib.animation import FuncAnimation
from IPython.display import HTML
import matplotlib.pyplot as plt

# Create a new figure for the 3D plot
fig = plt.figure()

# Set up a 3D axis using matplotlib's Axes3D functionality
ax = plt.axes(projection='3d')

# Plot a 3D surface for 'num_standing_still' over 'Step' and 'n_agents'
surf = ax.plot_trisurf(batch_1D_results['n_agents'], batch_1D_results['Step'], batch_1D_results['num_standing_still'], cmap=plt.cm.viridis, linewidth=0.2)

# Set the labels for the x, y, and z axes
ax.set(xlabel="Number of cars", ylabel="Steps", zlabel="Fraction of cars standing still")

# Reverse the Steps axis
ax.invert_xaxis()  # This will reverse the x-axis, so steps go from 4 to 0

# Update function for animation to rotate the 3D plot
def update(num):
    ax.view_init(30, 30 + num)  # Rotate the plot by adjusting the azimuthal angle
    return surf,  # Return the surface plot

# Create the animation
anim = FuncAnimation(fig, update, frames=range(0, 360, 2), blit=False)

# Display the animation as an interactive JavaScript player.
# to_jshtml() renders the frames with JavaScript, so it works everywhere, including live code in the browser, with no ffmpeg needed.
plt.rcParams['animation.embed_limit'] = 2**128  # allow the player to embed all frames
HTML(anim.to_jshtml())
# If you are running the notebook locally and have ffmpeg installed, you can instead render a compact HTML5 video:
# HTML(anim.to_html5_video())
../_images/66e27c26adcab18f5f311ccfef222d46353921a65574f2808439857fffd91540.png

4.3.1.2.2: Two-dimensional parameter sweep with repetitions#

# Now let's systematically explore the effects of acceleration and deceleration on the model's behavior.
# This time we will also make sure not to use a single repetition, which we can not trust, but at least 5 to get averages that remove the effect of
# the random seed

# Define the range of acceleration and deceleration values to test.
acceleration_range = [0.01, 0.1, 0.15, 0.25, 0.5, 1]
deceleration_range = [0.01, 0.1, 0.15, 0.25, 0.5, 1]

# Create a dictionary to store the parameters for the batch run.
# The 'average_speed' is constant, the number of agents is set to 30, and we are varying acceleration and deceleration.
params = dict(
    average_speed=0.1,        # Fixed average speed for all simulations.
    n_agents=30,              # Number of agents (cars) is fixed at 30.
    acceleration=acceleration_range,  # Varying acceleration values.
    deceleration=deceleration_range   # Varying deceleration values.
)

# Perform a batch run of the TrafficJamModel using the specified parameters.
param_run_2d = mesa.batch_run(
    TrafficJamModel,          # The model to run.
    parameters=params,        # The parameters to explore.
    rng=[42, 123, 456, 789, 1024],  # Run with 5 different seeds for reliable averages.
    max_steps=200,            # The maximum number of steps (timesteps) to simulate in each run.
    number_processes=1,       # Number of processor cores to use. Increase this if you have more cores available.
    data_collection_period=1, # Data is collected at every timestep.
    display_progress=True     # Show a progress bar during the batch run.
)
# Convert the batch run results to a DataFrame for easier analysis and visualization.

batch_2D_results = pd.DataFrame(param_run_2d)
# Now, `batch_2D_results` is a DataFrame containing the results of the batch run, 
# with each row representing the outcome of one simulation run, 
# and columns representing the various parameters and metrics recorded during the simulations.

#Let's have a look:

batch_2D_results.head()
RunId iteration Step average_speed n_agents acceleration deceleration seed num_max_speed num_standing_still AgentID speed
0 0 0 0 0.1 30 0.01 0.01 42 1.0 0.0 1 0.097118
1 0 0 0 0.1 30 0.01 0.01 42 1.0 0.0 2 0.096542
2 0 0 0 0.1 30 0.01 0.01 42 1.0 0.0 3 0.097774
3 0 0 0 0.1 30 0.01 0.01 42 1.0 0.0 4 0.114040
4 0 0 0 0.1 30 0.01 0.01 42 1.0 0.0 5 0.097448
# note that this is very slow, you can make yourself a cup of tea
%matplotlib inline

# Create a FacetGrid to explore how acceleration and deceleration affect the speed over time.
# 'col' represents the deceleration parameter, so a separate column of plots will be created for each deceleration value.
# 'row' represents the acceleration parameter, so a separate row of plots will be created for each acceleration value.
g = sns.FacetGrid(batch_2D_results, col='deceleration', row='acceleration')

# Map a line plot onto each facet, plotting 'Step' on the x-axis and 'speed' on the y-axis.
# This will generate multiple line plots showing how speed changes over time for each combination of acceleration and deceleration.
g.map(sns.lineplot, "Step", "speed")
<seaborn.axisgrid.FacetGrid at 0x1186a8b90>
../_images/59b4fc5e7036c24537bad129a2d3c141bd6f15aa4939cbbf56e2b2f4a10930ce.png
# Calculate the mean values of metrics grouped by 'Step', 'acceleration', and 'deceleration'.
mean_model_values = batch_2D_results.groupby(by=['Step', 'acceleration', 'deceleration']).mean().reset_index()
# The resulting DataFrame, `mean_model_values`, contains the average metrics for each combination of parameters and time step.

mean_model_values
Step acceleration deceleration RunId iteration average_speed n_agents seed num_max_speed num_standing_still AgentID speed
0 0 0.01 0.01 72.0 2.0 0.1 30.0 486.8 1.000000 0.000000 15.5 0.098606
1 0 0.01 0.10 73.0 2.0 0.1 30.0 486.8 1.000000 0.000000 15.5 0.098606
2 0 0.01 0.15 74.0 2.0 0.1 30.0 486.8 1.000000 0.000000 15.5 0.098606
3 0 0.01 0.25 75.0 2.0 0.1 30.0 486.8 1.000000 0.000000 15.5 0.098606
4 0 0.01 0.50 76.0 2.0 0.1 30.0 486.8 1.000000 0.000000 15.5 0.098606
... ... ... ... ... ... ... ... ... ... ... ... ...
7231 200 1.00 0.10 103.0 2.0 0.1 30.0 486.8 0.613333 0.260000 15.5 0.058587
7232 200 1.00 0.15 104.0 2.0 0.1 30.0 486.8 0.646667 0.160000 15.5 0.062921
7233 200 1.00 0.25 105.0 2.0 0.1 30.0 486.8 0.620000 0.160000 15.5 0.061610
7234 200 1.00 0.50 106.0 2.0 0.1 30.0 486.8 0.573333 0.126667 15.5 0.061202
7235 200 1.00 1.00 107.0 2.0 0.1 30.0 486.8 0.066667 0.000000 15.5 0.060668

7236 rows × 12 columns

import matplotlib.lines as mlines # Import the Line2D module from matplotlib to create custom legend entries.

# Visualize the results by plotting the fraction of cars at maximum speed and those standing still over time.
g = sns.FacetGrid(mean_model_values, col='deceleration', row='acceleration', height=5, aspect=1)

# Plot the fraction of cars at maximum speed over time in green.
g.map(sns.lineplot, "Step", "num_max_speed", color='green')

# Plot the fraction of cars standing still over time in red.
g.map(sns.lineplot, "Step", "num_standing_still", color='red')

# Set axis labels for the plot
g.set_axis_labels("Time Step", "Fraction of Cars")

# Set titles for each facet based on deceleration and acceleration
g.set_titles(col_template="Deceleration: {col_name}", row_template="Acceleration: {row_name}")

# Create custom legend entries for Max Speed and Standing Still
max_speed_line = mlines.Line2D([], [], color='green', label='Max Speed')
standing_still_line = mlines.Line2D([], [], color='red', label='Standing Still')

# Add a custom legend to the grid
g.add_legend(title='Legend', handles=[max_speed_line, standing_still_line])

# Display the grid of plots
plt.show()
../_images/b0d6a8b7e3cefeb7491b58439627b8578bdfab73361aa9b676b224468ca77011.png

Task: three-dimensional parameter sweep#

  1. Perform a 3D Parameter Sweep: Vary the parameters: acceleration, deceleration, and initial speed.

  2. Transform the Output: Convert the output of batch_run into a DataFrame for analysis.

  3. Visualise Using Facet Grid: Create visualisations using a Facet Grid. You can decide what aspects to visualise. Inside each plot, you may use a line plot or a heatmap to represent the data.

  4. Apply Melting: Use the melting technique we learned earlier. Decide which variables to melt based on your analysis goals.

# answer here

Additional exercise: Write a few sentences describing what you observe in this figure.

  • Describe what you see in the plot.

  • What patterns, trends, or interactions do you observe among the cars as the initial speed, acceleration, and deceleration change?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Exercises#

Exercise 1: simulate the impact of carefulness on traffic dynamics#

Overview#

In real life, drivers exhibit varying levels of carefulness. Some drivers are overly cautious, braking too early and too hard, while others are reckless, braking too late and too lightly.

Objective#

In this exercise, you will introduce a new variable for the agents in your traffic model called carefulness. This variable will influence how far ahead each driver looks when deciding whether to brake (lookahead distance) and how strongly they brake (deceleration rate). The goal is to simulate different levels of driver carefulness and observe the impact on traffic dynamics.

Details#

  1. Carefulness Variable:

    • Range: The carefulness variable ranges from -1 to 1.

      • -1: Represents a totally reckless driver.

      • 0: Represents a neutral driver (default behaviour).

      • 1: Represents a totally careful driver.

    • Relationship to Model:

      • The lookahead distance and deceleration are determined by the carefulness value:

        • If carefulness = -1:

          • lookahead = 1 x speed

          • deceleration = 0.03

        • If carefulness = 0:

          • lookahead = 2 x speed (default behaviour)

          • deceleration = 0.02 (default behaviour)

        • If carefulness = 1:

          • lookahead = 3 x speed

          • deceleration = 0.01

Important Note: Carefulness is not discrete, it can take any value between -1 and 1 (e.g., 0.1 or -0.6).

  • Formula to Calculate Lookahead and Deceleration based on carefulness value:

    • lookahead_coeff = carefulness + 2 (where Lookahead = lookahead_coeff x speed)

    • deceleration = -0.01 x carefulness + 0.02

  1. Scenarios to Simulate:

    • Scenario 1: All agents are totally reckless (carefulness = -1).

    • Scenario 2: All agents are totally careful (carefulness = 1).

    • Scenario 3: Carefulness is uniformly distributed among the agents.

    • Scenario 4: Carefulness is distributed according to a custom distribution of your choice (e.g., exponential distribution).

Task 1: implement the changes#

  • Modify the original car class (call it CarAdapted) to incorporate the carefulness variable.

  • Implement the formulas to calculate lookahead and deceleration based on carefulness.

  • Initialise and Run four models for the four scenarios

  • Display the agent-level and model-level DataFrames for each of the four scenarios

# answer here

Task 2: simulation and visualisation#

  • a) Animation: Create animations showing the movement of cars for each scenario.

  • b) Speed Analysis: For each scenario, plot the mean and standard deviation of speeds over time.

  • c) Traffic Flow Analysis: For each scenario, plot the fraction of cars at maximum speed and the fraction of cars standing still at each time step.

# answer here

Exercise 3: discussion#

  • Effect of carefulness: Analyse and discuss how driver carefulness affects traffic dynamics. Consider traffic flow, congestion, and the stability of speeds over time. From your analysis, can you conclude which carefulness coefficient leads to a better traffic situation?

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Task 4 (optional): one-dimensional parameter sweep#

  • If it is not clear which carefulness coefficient is best, perform a one-dimensional parameter sweep varying the carefulness parameter.

  • Convert the output of batch_run into a DataFrame for analysis.

  • Visualise using a Facet Grid: Create visualisations using a Facet Grid. You can decide what aspects to visualise. Inside each plot, you may use a line plot or a heatmap to represent the data.

# answer here

Observations:

  1. Average Speed:

    • Reckless drivers (-1.0 to -0.5) tend to maintain higher speeds but show more fluctuations in their speed over time, indicating more reactive driving behaviour.

    • Moderate carefulness (-0.25 to 0.25) shows more stable speed profiles, with the average speed dropping initially and then stabilizing at a moderate level.

    • Careful drivers (0.5 to 1.0) exhibit a sharp drop in speed early on, with speeds stabilizing at lower values, suggesting a more cautious approach that prioritizes safety over speed.

  2. fractions of cars at Maximum speed vs standing still:

    • Reckless drivers (-1.0 to -0.5) show a higher fraction of cars at maximum speed throughout the simulation, but this comes with very few cars standing still. Over time, there is a gradual decline in cars at max speed, with a slight rise in cars standing still, indicating increasing congestion or reaction delays.

    • Moderate carefulness (-0.25 to 0.25) results in more balanced behaviour. The fraction of cars at max speed decreases steadily, while the fraction of cars standing still slowly rises. This reflects a smoother but slightly more congested traffic flow, as some cars begin to slow down or stop.

    • Careful drivers (0.5 to 1.0) have a steep initial drop in the number of cars at max speed, and a consistent rise in the fraction of cars standing still. This suggests a cautious driving style where many cars choose to stop or slow down rather than maintain higher speeds, potentially leading to more stable but slower traffic flow.

In summary, moderate carefulness seems to offer the most balanced approach, combining a reasonable speed with stability. Extreme recklessness may be faster but less reliable, while extreme carefulness results in much slower, more congested traffic.

Exercise 2: friends on the road#

Overview#

In this exercise, we will explore the impact of behavioural correlation among agents in a traffic simulation. Specifically, we’ll investigate how friendships between drivers influence their driving behaviours, such as speed and deceleration patterns.

Objective#

The goal is to model how friendships among drivers (agents) affect their driving behaviour and to analyse the resulting impact on traffic dynamics. Each agent can have a “friend” among the nearby cars, and their behaviours may become correlated as a result.

Behaviour model#

  1. Defining friendships:

    • Each agent (driver) can only interact with one friend at a time.

    • An agent’s friend must be one of the three cars directly in front of them.

    • The friendship relationship is such that if one agent decelerates, their friend will also decelerate, but at their own deceleration rate (not at the rate of the original agent).

  2. Assigning friendships:

    • For each agent, randomly select one of the three cars directly in front as their friend. For example, agent 1 can have agent 2, agent 3, or agent 4 as their friend.

  3. Scenarios to simulate:

    • Fixed friendships: Friendships are established at the beginning of the simulation and remain constant throughout.

    • Dynamic friendships: Friendships are reassigned at every time step, meaning each agent may have a different friend in each time step.

Task 1: implement the model changes for each scenario#

  • Code implementation: Modify the original car class to include the friendship behaviour. Implement the logic for both fixed and dynamic friendship scenarios.

# answer here

Task 2: simulation and visualisation#

  • a) Animation: Create animations to visualise the movement of cars for each scenario, showing how friendships influence traffic dynamics.

  • b) Speed analysis: For each scenario, plot the mean and standard deviation of speeds at each time step to observe how behavioural correlation affects overall traffic flow.

# answer here

Exercise 3: discussion#

  • Analysis of behavioural correlation: Discuss the effect of friendship-induced behavioural correlations on traffic patterns. Consider traffic smoothness, congestion, and variability in speed.

Saved automatically on this device as you type. Use the Export button in the top bar to keep a copy of your answers.

Completion and reflection#

Before you finish, confirm that you can:

  • Run and visually inspect the base traffic model before changing parameters.

  • Use a one- or two-dimensional sweep with repetitions to support a claim.

  • Distinguish a random fluctuation from a parameter effect in your explanation.

  • State which metric best captures the traffic mechanism you investigated.