augustjune / alleles

Experimental Scala library for genetic algorithms
1 stars 0 forks source link

Evolution engine hierarchy improvement #10

Closed augustjune closed 5 years ago

augustjune commented 5 years ago

Fitness evaluation logic and evolution flow should not only be separated from each other, but also be independent of evolution engine. On the other hand, evolution engine extends both of these behaviors, combining them into the full evolution process. Designing an evolution engine as a subtype of fitness evaluator and evolution flow allows detaching logic from an engine into parent traits, keeping the ability to use provided fitness evaluators and evolution strategies as decorators to produce new evolution engines.