Kinds-of-Intelligence-CFI / animal-ai

Animal-AI supports interdisciplinary research to help better understand human, animal, and artificial cognition.
https://sites.google.com/csah.cam.ac.uk/animalai/
Apache License 2.0
59 stars 9 forks source link
animal animal-behaviour artificial-intelligence deep-reinforcement-learning game-development machine-learning ml-agents unity

steampunkFOURcrop

Animal-AI

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.

agent-cyl-fail agent-cyl-pass
animal-cyl-fail animal-cyl-pass

Table of Contents

Overview

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.

Features

Interdisciplinary Research Platform:

Comprehensive AI Environment:

Extensive Task Library:

Unity Game Engine:

Cross-Platform Compatibility:

Control Modes:

Interactive and Dynamic Environment:

Getting Started

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.

Installation

See here for a detailed installation guide.

(latest release) / (all releases)

For legacy builds of Animal-AI, please see (legacy releases)

Citation

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.

Unity ML-Agents

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.

The Animal-AI Community

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.