Skip to content

onerachel/Lamarckian_vs_Darwinian

Repository files navigation

Lamarckian VS Darwinian

We compare Lamarckian evolution framework with Darwinian evolution framework in a mujoco based wrapper called Revolve2. The release version of Revolve2 used in this project is v0.3.8-beta1 (https://github.com/ci-group/revolve2/releases/tag/v0.3.8-beta1).

Both frameworks were tested with two tasks (panoramic rotation and point navigation). Parameters used in the experiments are:

pop_size=50,
offspring_size=25,
nr_generations=30,
learner==RevDE,
learning_trials=280,
simulation_time=30 secs for rotation task,
simulation_time=40 secs for point navigation task.

In addition, two control experiments have been conducted. The first one (located under the "fixed_body" branch) involves utilizing the initial 50 robots' bodies from the main experiments, while the second one (located under the "random_body" branch) entails employing random bodies at each generation.

Installation

Steps to install:

1. git clone git@github.com:onerachel/Lamarckian_vs_Darwinian.git
2. cd Lamarckian_vs_Darwinian
3. virtualenv .venv
4. source .venv/bin/activate
5. ./dev_requirements.sh

Run experiments

To run experiments, e.g. darwinian_point_navigation:

python darwinian_evolution/optimize.py

To show the simulation, add --visualize:

python darwinian_evolution/optimize.py --visualize

To restart from the last optimization checkpoint, add --from_checkpoint:

python darwinian_evolution/optimize.py --from_checkpoint

To plot fitness:

python darwinian_evolution/plot_fitness.py

To check the best robot wrt the fitness:

cd darwinian_evoluation
python rerun_best.py

To check the best robot wrt the fitness and save the video:

cd darwinian_evoluation
python rerun_best.py -r <OUTPUT-DIR>

Examples

Documentation

ci-group.github.io/revolve2

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages