schrum2 / EvoCraft-SCOPE

0 stars 0 forks source link

Evolve parkour course #42

Closed schrum2 closed 2 years ago

schrum2 commented 2 years ago

At the moment, this issue is pretty vague. It would be cool to do this but we don't even really have a starting point. Still, it's a good idea to think about.

schrum2 commented 2 years ago

Here is a possibility for a rough starting point on this. Evolve snakes with a simple fitness function. The function has two parts (we might eventually explore multiobjective optimization, but for now we'll just add the two components together).

The first component of the fitness function is how high the snake goes. This assume we are not confining the snake, or at least that we do not block the ceiling.

The second component is the amount of horizontal surfaces. Harder to calculate, but possible.

These need to be "scaled" and added together so that each contributes at most 0.5 to reach a total max fitness of 1.0

richeyme commented 2 years ago

This snakes are going up a little higher 2022-05-27_13 07 32

schrum2 commented 2 years ago

We will have to have a fitness function that rewards height before we see the snakes grow. In fact, maybe before doing the complicated combination of height and horizontal surface, we can just make a standalone height fitness function.

richeyme commented 2 years ago

I think that this has everything that is needed to test this out python main.py --FITNESS_FUNCTION=height_count --INTERACTIVE_EVOLUTION=False --KEEP_WORLD_ON_EXIT=True --USE_ELITISM=True --EVOLVE_SNAKE=True --CONFINE_SNAKES=True --POPULATION_SIZE=10 --REDIRECT_CONFINED_SNAKES_UP=True

schrum2 commented 2 years ago

Too ambitious