diff --git a/src/propeller/gp.cljc b/src/propeller/gp.cljc index 107a0ca..b25a468 100644 --- a/src/propeller/gp.cljc +++ b/src/propeller/gp.cljc @@ -51,16 +51,13 @@ (defn gp "Main GP loop." [{:keys [population-size max-generations error-function instructions - max-initial-plushy-size solution-error-threshold mapper ds-parent-rate ds-parent-gens dont-end ids-type downsample?] + max-initial-plushy-size solution-error-threshold ds-parent-rate ds-parent-gens dont-end ids-type downsample?] :or {solution-error-threshold 0.0 dont-end false ds-parent-rate 0 ds-parent-gens 1 ids-type :solved ; :solved or :elite or :soft - downsample? false - ;; The `mapper` will perform a `map`-like operation to apply a function to every individual - ;; in the population. The default is `map` but other options include `mapv`, or `pmap`. - mapper #?(:clj pmap :cljs map)} + downsample? false} :as argmap}] ;; (prn {:starting-args (update (update argmap :error-function str) :instructions str)}) diff --git a/src/propeller/problems/boolean/mul3.cljc b/src/propeller/problems/boolean/mul3.cljc index 06364e2..6403bed 100644 --- a/src/propeller/problems/boolean/mul3.cljc +++ b/src/propeller/problems/boolean/mul3.cljc @@ -307,6 +307,9 @@ :max-initial-plushy-size 100 :step-limit 1000 :parent-selection :lexicase + :downsample? true + :ds-function :case-rand + :downsample-rate 0.1 ;:parent-selection :tournament ;:parent-selection :motley-batch-lexicase ;:max-batch-size [1 2 4 8 16 32 64 128 256] @@ -314,7 +317,7 @@ ;:umad-rate 0.09 :ah-umad-protect-rate 0.001 ;; ah-umad :ah-umad-vary-rate 0.1 ;; ah-umad - :ah-umad-tournament-size 2 ;; ah-umad + :ah-umad-tournament-size 1 ;; ah-umad ;:umad-rate [1/2 ; 1/4 1/4 ; 1/8 1/8 1/8