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

ChangeCenterOfMassFitness needs higher max fitness if change accumulates #804

Closed schrum2 closed 2 years ago

schrum2 commented 2 years ago

In ChangeCenterOfMassFitness, when minecraftAccumulateChangeInCenterOfMass is true, the maxFitness needs to be higher.

minecraftMandatoryWaitTime / shortTimeBetweenMinecraftReads rounded UP (or rounded down then add 1) is either equal to of slightly more than the number of times a number is added to totalChangeDistance. So, multiply the number of times by newly added overestimatedDistanceToEdge() to determine the max fitness, but only when minecraftAccumulateChangeInCenterOfMass is true

richeyme commented 2 years ago

Also tested change in position for the flying machine and that is also awarded the right max fitness too. This seems to work now