Skip to content
/ jeans Public

An exploration of multi-level selection (group selection) by simulation with a genetic algorithm and deep learning in Python

License

Notifications You must be signed in to change notification settings

mfekadu/jeans

Repository files navigation

jeans

An exploration of multi-level selection (group selection) by simulation with a genetic algorithm and deep learning in Python.

The goal of this repository is to better understand this weird concept known as "group selection" by programming an evolutionary simulation with groups that are in competition with each other and the members of each group can choose to cooperate with their groupmates or not. Hopefully, altruism will emerge, but I am also unsure of the fundamental parts of biology that I misunderstand. So that's another goal: to learn what I don't know about biology by blindly simulating a small piece of it.

Find more technical details in issue #1

Inspirational Readings/Lectures

Tools

  • Pymunk - physics engine
  • Pyglet - game/visualization library
  • Numpy - multi-dimentional math library
  • Keras - deep learning library

Running The Simulation

Make a Python virtual environment

python3 -m venv venv

Run the virtual environment

source venv/bin/activate

Install all of the requirements

pip install -r requirements.txt

Enter the matrix

python3 sim.py

About

An exploration of multi-level selection (group selection) by simulation with a genetic algorithm and deep learning in Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published