Animal-Artificial Intelligence (Animal-AI) supports interdisciplinary research to help better understand human, animal, and artificial cognition. It aims to support AI research towards unlocking cognitive capabilities and better understanding the space of possible minds. It is designed to facilitate testing across animals, humans, and AI. Animal-AI is an active, open-source software engineering and research project.
This repository serves as the primary hub for essential information and activities related to the Animal-AI environment. It contains a collection of in-depth guides to the environment, as well as an extensive library of 900 tasks featured in the inaugural Animal-AI Olympics competition.
If you wish to contribute to the project, please familiarize yourself with the Contributing Guide and the Code of Conduct first. A comprehensive documentation of how Animal-AI works is also available here, where you can understand the inner workings of how the environment is built and how it functions (csharp and Python codebases).
The Animal-AI environment and packages are currently tested on Windows 11, Linux, and MacOS, with Python 3.9.x support, but Python 3.6.x+ has been reported to be working also. Linux distros are also working and stable.
Interdisciplinary Research Platform:
- Facilitates research across human, animal, and artificial cognition
- Supports cross-disciplinary studies and comparative assessments among humans, animals, and AIs
Comprehensive AI Environment:
- Provides a versatile platform for AI experiments, from basic setups to advanced configurations
- Wraps Unity learning environments into both gym(nasium) and PettingZoo formats
Extensive Task Library:
- Includes multiple example tasks to help you get started
- Features 900 tasks from the Animal-AI Olympics competition
- Supports procedural generation of YAML configuration files
Unity Game Engine:
- Utilizes the Unity3D Game Engine for advanced simulation capabilities
- Employs the latest Unity ML-Agents toolkit for AI training
- Leverages Unity's physics engine for realistic Agent and environment interactions
Cross-Platform Compatibility:
- Compatible with Windows 10+, Linux, and macOS
- Supports Python 3.6.x and above
Control Modes:
- Player Mode: Allows for interactive control of the environment, ideal for human testing
- Training Mode: Designed for Reinforcement Learning, with support for TensorFlow analysis
- Facilitates AI model training across various systems
Interactive and Dynamic Environment:
- Provides interactive elements for complex AI training scenarios
- Supports dynamic environment generation
- Includes a variety of objects to create diverse training scenarios for AI
We've prepared a comprehensive set of tutorials to help you get started with the Animal-AI environment. Your first stop should be the Getting Started Guide, which will guide you on where to start and where to go next depending on your interests and experience.
See here for a detailed installation guide.
(latest release) / (all releases)
For legacy builds of Animal-AI, please see (legacy releases)
We've published our latest paper on Animal-AI, which you can find here. If you use Animal-AI in your research, please cite our paper:
Voudouris, K., Alhas, I., Schellaert, W., Crosby, M., Holmes, J., Burden, J., Chaubey, N., Donnelly, N., Patel, Slater, B., Mecattaf, M., M., Halina, M,. Hernández-Orallo, J. & Cheke, L. G. (2024). The Animal-AI Environment: A Virtual Laboratory For Comparative Cognition and Artificial Intelligence Research. arXiv preprint arXiv:2312.11414.
@article{voudouris2023animal,
title={The Animal-AI Environment: A Virtual Laboratory For Comparative Cognition and Artificial Intelligence Research},
author={Voudouris, Konstantinos and Alhas, Ibrahim and Schellaert, Wout and Crosby, Matthew and Holmes, Joel and Burden, John and Chaubey, Niharika and Donnelly, Niall and Slater, Ben and Mecattaf G, Matteo and Patel, Matishalin and Halina, Marta and Hernández-Orallo, José and Cheke, Lucy G.},
journal={arXiv preprint arXiv:2312.11414},
year={2024}
}
For further publications related to Animal-AI, see our website here.
We implement some of Unity's ML-Agent's toolkit in Animal-AI.
Juliani, A., Berges, V., Vckay, E., Gao, Y., Henry, H., Mattar, M., Lange, D. (2018). Unity: A General Platform for Intelligent Agents. arXiv preprint arXiv:1809.02627
Documentation for ML-Agents should be consulted if you want additional resources.
Animal-AI has been an open-source research project from the beginning, and will continue to be so in the future. We welcome contributions from the community from all backgrounds and experiences, and we are always looking for new ways to collaborate. Do check out our Contributing Guide if you are interested in contributing to the project.