schrum2 / MM-NEAT

Modular Multiobjective (Hyper) Neuro-Evolution of Augmenting Topologies + MAP-Elites: Java code for evolving intelligent agents in Ms. Pac-Man, Tetris, and more, as well as code for Procedural Content Generation in Mario, Zelda, Minecraft, and more!
http://people.southwestern.edu/~schrum2/re/mm-neat.php
Other
50 stars 20 forks source link

Save all flying machines, but not based on fitness #895

Closed schrum2 closed 1 year ago

schrum2 commented 1 year ago

The code has a mechanism where flying machines get saved to disk during experiments if their fitness indicates that they are a flying machine. However, we are doing new experiments with different fitness functions, so it would be nice to also save flying machines, or at least potential flying machines, but not based on the fitness value.

schrum2 commented 1 year ago

My last commit tagged above gives a way of saving shapes of interest for any fitness function. Implement the shapeIsWorthSaving method for the change in center of mass fitness function. If this works, then the code in MinecraftShapeTask that saves to the directory flyingMachines should be removed.

Note: I think it is ok to base the decisions in shapeIsWorthSaving on the fitness value, since the logic for that will be inside of that class.

schrum2 commented 1 year ago

The shapeIsWorth saving method provides an alternative method to save interesting shapes, so I think this issue can be closed now.