A Framework for Agent-Based Modeling with Machine Learning Agents
Research Paper: FABMLA Paper.pdf Research Poster: FABMLA Poster.pdf Presentation: (Link in progress)
FABMLA is a framework that allows for Agent-Based Modeling powered by Machine Learning in Unity3D. This is a collaborative project with Emma Brown for research internship in UCSB's 2024 Research Mentorship Program.
FABMLA creates a real-time, 3D, ABM training environment and offers three key advantages:
(1), its Unity Machine Learning Agents Toolkit (ML-Agents) implementation provides deep learning capabilities. Additionally, the properties of ML-Agents are exposed within the framework, encouraging the creation of complex, environment-reactive, and interactive agents.
(2), FABMLA supports generalization — its abstract nature obfuscates internal methods, enabling compatibility with any agent behavior or type.
(3), its integration with Unity3D provides unique features, allowing utilization of in-built Unity features such as 3D rendering, AI pathfinding, and physics engines which are the backbones of 3D simulations. Additionally, those familiar with the Unity3D environment and C#
should find FABMLA straightforward.
The inner workings of FABMLA are inspired by the architecture of ABMU; the core concept we introduce is Steps, an approach that enables behavior to be repeated throughout an episode, a single iteration of a simulation. For example, an agent could move in a certain direction each Step based on a custom algorithm.
Clone this github repository and open the project in Unity3D
Navigate to the latest release. Download and import them into your Unity3D project.
Additionally, you can import the Logger class into your Unity3D project.
This framework is dependent on ML-Agents, follow the installation instructions here.
Detailed documentation of FABMLA can be found on our Wiki.
This project is licensed under MIT License.