All projects

Concurrent Agent-Based Simulation Environment

0 comments

What it does

The project aims to create a simulation environment for agents to test out game theoretic and any user-generated scenarios. The problem is that many game theory simulations are round-based and can lose information because agents have to act around each other and based on their actions. This aims to be a proof of concept to use Mozaik as a tool to make the environment more realistic and see how agents perform acting amongst each other and talking with one another, able to reason better as a result.

How the agents run concurrently

The agents run concurrently at a single table, within a round. There is no Promise.all, no worker threads, no process per agent, but instead one broadcast event that wakes every agent at once, each agent's model call launched without being awaited, and an event-counting barrier that waits for their replies. Within one conversation, agents are simultaneous movers inside a round and sequential across rounds. Conversations are separate processes: agents inside a conversation are concurrent I/O on one event loop, gated by a per-round barrier, and the runtime is concurrent allowing them all to operate in the same space without waiting on one another.

Comments

No comments yet.

Sign in to like and comment

Newsletter

For developers who want to learn how to build self-organizing agents.

Join our online hackathon