Leniabreeder
Repository for "Toward Artificial Open-Ended Evolution within Lenia using Quality-Diversity" (ALIFE 2024).
Install / Use
/learn @maxencefaldor/LeniabreederREADME
Leniabreeder
Repository for Toward Artificial Open-Ended Evolution within Lenia using Quality-Diversity (ALIFE 2024).
Installation
git clone https://github.com/maxencefaldor/Leniabreeder.git && cd Leniabreeder
Using virtual environment
At the root of the repository, execute:
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Using container
At the root of the repository, execute:
apptainer build \
--fakeroot \
--force \
--warn-unused-build-args \
apptainer/container.sif apptainer/container.def
Run Experiments
Using virtual environment
At the root of the repository, execute:
source venv/bin/activate
Using container
At the root of the repository, execute:
apptainer shell \
--bind $(pwd):/workspace/src/ \
--cleanenv \
--containall \
--home /tmp/ \
--no-home \
--nv \
--pwd /workspace/src/ \
--workdir apptainer/ \
apptainer/container.sif
Commands
To run an experiment with the default configuration, execute the following command:
python main.py seed=$RANDOM qd=<algo>
with <algo> replaced with either me or aurora.
All hyperparameters are available in the configs/ directory and can be overridden via the command line. For example, to run the MAP-Elites experiments as described in the paper, use:
python main.py seed=$RANDOM qd=me qd.n_generations=4_000 qd.repertoire_size=32_000 qd.fitness=pos_linear_velocity_avg qd.descriptor=[color] qd.descriptor_min=[0.,0.,0.] qd.descriptor_max=[1.,1.,1.]
Analyze Experiments
When you run an experiment, a directory is created in output/. To analyze the results, you can either run a script from the analysis/ directory or use the notebooks from the notebooks/directory. Don't forget to change run_dir to the path of your experiment.
For MAP-Elites, you can use analysis/visualize_me.py or notebooks/visualize_me.ipynb. For AURORA, you can use analysis/visualize_aurora.py or notebooks/visualize_aurora.ipynb.
BibTeX
@proceedings{leniabreeder,
author = {Faldor, Maxence and Cully, Antoine},
title = {Toward Artificial Open-Ended Evolution within Lenia using Quality-Diversity},
volume = {ALIFE 2024: Proceedings of the 2024 Artificial Life Conference},
series = {Artificial Life Conference Proceedings},
pages = {85},
year = {2024},
month = {07},
doi = {10.1162/isal_a_00827},
url = {https://doi.org/10.1162/isal\_a\_00827},
eprint = {https://direct.mit.edu/isal/proceedings-pdf/isal2024/36/85/2461065/isal\_a\_00827.pdf},
}
Related Skills
node-connect
338.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.6kCommit, push, and open a PR
