Closed schrum2 closed 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
This snakes are going up a little higher
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.
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
Too ambitious
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.