Closed SigmaX closed 3 years ago
Ohter examples: see occurrences of genome-size
and num-genes
.
A more complete list of ways this issue shows up, compiled by Sean:
gp.fs.size = 1 gp.fs.0.size = 6 pop.subpops = 1 pop.subpop.0.species.genome-size = 100 pop.subpop.0.size = 1000 stat.num-children = 0 eval.stat.num-children = 0 eval.problem.num-params = 7 gp.tc.size = 3 gp.nc.size = 7 push.in.size = 8 exch.num-islands = 2 eval.problem.num-params = 7 pop.subpop.0.species.ind.numtrees = 1 pop.subpop.0.species.pipe.num-sources = 2 pop.subpop.0.species.constraints-size = 10 pop.subpop.0.species.ind.numtrees = 3
PROBLEMATIC STUFF
Multiple items share the same numerosity: genome-size. For example:
pop.subpop.0.species.min-gene.2 = 0 pop.subpop.0.species.max-gene.2 = 2 pop.subpop.0.species.mutation-type.2 = integer-reset pop.subpop.0.species.random-walk-probability.3 = 0.5
I believe that the following uses pop.subpop.0.species.gp-species.ind.numtrees as its numerosity:
ge.species.file.0 = regression.grammar
The number of seeds is the max of evalthreads and breedthreads.
evalthreads = 1 breedthreads = 1 4357 seed.0 = time
The following is based on pop.subpops I believe.
exch.subpop.0.select = ec.select.TournamentSelection
The following are fixed in length, so they're always 0 or 1 I believe.
gp.breed.internal-xover.ns.0 = ec.gp.koza.KozaNodeSelector gp.breed.internal-xover.ns.1 = same gp.breed.mutate-all-nodes.ns.0 = ec.gp.koza.KozaNodeSelector gp.breed.mutate-one-node.ns.0 = ec.gp.koza.KozaNodeSelector gp.breed.mutate-erc.ns.0 = ec.gp.koza.KozaNodeSelector
The following is based on pop.subpops I believe.
steady.deselector.0 = ec.select.TournamentSelection
Still an issue, but low priority.
As the Manual points out (section 2.1.2), the parameters that specify the size of array-list constructs are wildly inconsistent. We must have a standard array representation, however, in order to make a JSON-to-params conversion utility that uses JSON arrays to implicitly define array size.
Example 1:
Example 2:
Example 3:
Examples 1 and 2 both occur during the specification of GP function sets, for instance.