This is simulation of Great filter in Fermi Paradox.
Artificial creatures are trying to learn how to move from left side of the screen to right. They start with an artifical brain made of simple 3 layer neural network and random weights. The walls represent a filter to screen out creatures which master jumping over walls with increasing height.
Live Demo: https://sarkarsaurabh.github.io/fermi_paradox_sim/
Project Structure
Environments : Various Environment Models Creatures : Various Creature Models NeuroEvolution : Neural Network and Genetic Algorithm library Lib : p5.js, Matter.js and Tensorflow.js
Neural Network
The creatures have a simple neural network of 5-20-5
with 5 inputs:
Horizontal velocity Vertical Velocity Torque Height above the ground level Distance from the nearest obstracle infront of it
5 outputs: muscles length controlling 5 muscle groups
Genetic Algorithm
- Score: Distance from the left of the screen.
- Selection: the likelyhood of seletion of creature to be selected for breeding is based of the score from each run.
- Crossover: generate a new child by combining the genes of two parents. The portion of parent gene / neural weights to be keep is child is porpotional to each parent score.
- Random mutations to create new neural weights.
Large parts of the project are inspired by an interesting project https://github.com/adityathebe/evolutionSimulator