# Copyright 2006 by Sean Luke and George Mason University # Licensed under the Academic Free License version 3.0 # See the file "LICENSE" for more information parent.0 = ../../steadystate/steadystate.params parent.1 = ./noerc.params breed.reproduce.source.0 = ec.steadystate.MyDoubleTournamentSelection gp.koza.xover.source.0 = ec.steadystate.MyDoubleTournamentSelection select.my-double-tournament.do-length-first = true select.my-double-tournament.size = 1.4 select.my-double-tournament.size2 = 7 # 0. By default, the "deselector" (the selection operator # responsible for determining who in the population will # die) is tournament selection of size 1 -- that is, # random selection. Let's say you'd like it to be more # aggressive, say, tournament selection of size 2, picking # the worse individual. You can do that like this: # # steady.deselector.0.size = 2 # # Or much more aggressive: # # steady.deselector.0.size = 7 # # You can change the deselector entirely but it needs # to be of SteadyStateBreedingSourceForm, and the most # obvous choice (the classic for Steady State GA's, # BestSelection set to pick-worst) is actually not of # this form because it's expensive to scan through the # whole population each time. # 1. By default, the steady-state evolution runs for some # number of *generations*, where a generation is defined # as the time in which N individuals are evaluated, where # N is the size of subpopulation 0. The first generation # is of course special as all the individuals are # evaluated together. Subsequent "generations" are just # however long it takes for N more individuals to be # evaluated. You can change the run-length from being # based on generations to being based on number of # evaluations if you want something more precise. To do # that you'd set: # # evaluations = ... # # Which says how many evaluations you want. Obviously # this must be larger than the initial population size... # 2. When you run in its current form, this parameter # file will cause the system to complain that you didn't # provide a SteadyStateStatistics object. This is okay, # but you may not get the statistics you expect. For # more information, see SteadyStateEvolutionState # statistics = ... # 3. You want to specify whether or not to allow any # children to enter the population if they are identical # to some existing member of the population. Disallowing # duplicates in this way is the traditional approach to # steady-state evolution. At present, each time we # need to make an individual, we try up to 100 times to # create one that's not a duplicate. You can change # the number of times to retry (or set to 0 to not # retry) by changing this parameter: # steady.duplicate-retries = ...