! ---------------------------------------------------------- ! 24 game GP solver ! ---------------------------------------------------------- TUPLE: 24game-player < ga ; : <24game-player> ( -- obj ) 24game-player new 30 >>population-size { + - * / rot swap nop } >>possible-genes 30 >>crossover-rate 30 >>mutation-rate 3 >>genome-length { 17 2 5 1 } >>training-input-stack { 24 } >>training-output-stack init-population evaluate-population ; M: 24game-player compare-output-to-awaited-result training-output-stack>> 2dup [ length ] bi@ = [ [ first ] bi@ - abs ] [ 2drop f ] if ;