Allow collection for :max-batch-size
This commit is contained in:
parent
65c7f2a3fe
commit
7dcf75c433
@ -303,22 +303,28 @@
|
|||||||
:training-data (:train train-and-test-data)
|
:training-data (:train train-and-test-data)
|
||||||
:testing-data (:test train-and-test-data)
|
:testing-data (:test train-and-test-data)
|
||||||
:max-generations 1000
|
:max-generations 1000
|
||||||
:population-size 500
|
:population-size 100
|
||||||
:max-initial-plushy-size 100
|
:max-initial-plushy-size 100
|
||||||
:step-limit 1000
|
:step-limit 1000
|
||||||
;:parent-selection :lexicase
|
:parent-selection :lexicase
|
||||||
;:parent-selection :tournament
|
;:parent-selection :tournament
|
||||||
:parent-selection :motley-batch-lexicase
|
;:parent-selection :motley-batch-lexicase
|
||||||
:max-batch-size 8
|
;:max-batch-size [1 2 4 8 16 32 64 128 256]
|
||||||
;:tournament-size 5
|
;:tournament-size 5
|
||||||
:umad-rate [1/64 1/128 1/256]
|
:umad-rate [1/2
|
||||||
;:alternation-rate [1/64 1/128 1/256]
|
1/4 1/4
|
||||||
;:alignment-deviation [0 4 16 64]
|
1/8 1/8 1/8
|
||||||
|
1/16 1/16 1/16 1/16
|
||||||
|
1/32 1/32 1/32 1/32 1/32
|
||||||
|
1/64 1/64 1/64 1/64 1/64 1/64
|
||||||
|
1/128 1/128 1/128 1/128 1/128 1/128 1/128
|
||||||
|
1/256 1/256 1/256 1/256 1/256 1/256 1/256 1/256]
|
||||||
|
;:alternation-rate [1 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256]
|
||||||
|
;:alignment-deviation [0 1 2 4 8 16 32 64 128]
|
||||||
:variation {:umad 1
|
:variation {:umad 1
|
||||||
:alternation 0
|
:alternation 0
|
||||||
:reproduction 0
|
:reproduction 0
|
||||||
:tail-aligned-crossover 0
|
:tail-aligned-crossover 0}
|
||||||
}
|
|
||||||
;:diploid true
|
;:diploid true
|
||||||
;:variation {:diploid-vumad 0.8
|
;:variation {:diploid-vumad 0.8
|
||||||
; :diploid-uniform-silent-replacement 0.1
|
; :diploid-uniform-silent-replacement 0.1
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
"Propeller includes many kinds of genetic operators to select parents within the population such as tournament selection,
|
"Propeller includes many kinds of genetic operators to select parents within the population such as tournament selection,
|
||||||
lexicase selection, and epsilon lexicase selection."
|
lexicase selection, and epsilon lexicase selection."
|
||||||
{:doc/format :markdown}
|
{:doc/format :markdown}
|
||||||
(:require [propeller.tools.math :as math-tools]))
|
(:require [propeller.tools.math :as math-tools]
|
||||||
|
[propeller.utils :as utils]))
|
||||||
|
|
||||||
(defn tournament-selection
|
(defn tournament-selection
|
||||||
"Selects an individual from the population using tournaments of
|
"Selects an individual from the population using tournaments of
|
||||||
@ -38,7 +39,7 @@
|
|||||||
(if (or (empty? cases)
|
(if (or (empty? cases)
|
||||||
(empty? (rest survivors)))
|
(empty? (rest survivors)))
|
||||||
(rand-nth survivors)
|
(rand-nth survivors)
|
||||||
(let [batch-size (inc (rand-int (:max-batch-size argmap)))
|
(let [batch-size (inc (rand-int (utils/onenum (:max-batch-size argmap))))
|
||||||
batch (take batch-size cases)
|
batch (take batch-size cases)
|
||||||
ind-err-pairs (map (fn [ind]
|
ind-err-pairs (map (fn [ind]
|
||||||
[ind
|
[ind
|
||||||
|
Loading…
x
Reference in New Issue
Block a user