Skip to content
/ FABMLA Public

The Framework for Agent-Based Modeling with Unity's ML-Agents (FABMLA) is an open-source project that enables ABM simulations with ML.

License

Notifications You must be signed in to change notification settings

ArvickC/FABMLA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FABMLA

A Framework for Agent-Based Modeling with Machine Learning Agents

Publication

Research Paper: FABMLA Paper.pdf Research Poster: FABMLA Poster.pdf Presentation: (Link in progress)

Description

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.

Installation and Getting Started

By Cloning Github

Clone this github repository and open the project in Unity3D

Or By Cloning Core Components

Navigate to the latest release. Download and import them into your Unity3D project.

Logger (Optional)

Additionally, you can import the Logger class into your Unity3D project.

Installing ML-Agents

This framework is dependent on ML-Agents, follow the installation instructions here.

Documentation

Detailed documentation of FABMLA can be found on our Wiki.

License

This project is licensed under MIT License.

About

The Framework for Agent-Based Modeling with Unity's ML-Agents (FABMLA) is an open-source project that enables ABM simulations with ML.

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages