-
Notifications
You must be signed in to change notification settings - Fork 655
Description
Currently, open evolve implements an early stopping mechanism through the use of a patience value in a passed in config. Patience will kill an evolution if there is no score improvement above some threshold for N steps.
Another form of early stopping that is valuable is stopping once a certain score is reached. For example, you could imagine a distance score that you want to eventually converge to 0, and you want to keep running openevolve until the distance hits 0. In such a case, further iterations once the score is 0 is wasteful. This additional early stopping mechanism interacts with patience -- you could imagine wanting to stop early if the patience threshold is hit OR if the ideal score is hit, whichever happens first -- but you cannot directly use patience for this purpose without incurring some wasted computation cycles.
I think implementing early stopping in this way would require modifying parts of the config as well as the process_parallel.py file. I'm happy to take a stab at this, but would love some guidance about where to look / what needs changing