1 | # Copyright 2006 by Sean Luke and George Mason University
|
---|
2 | # Licensed under the Academic Free License version 3.0
|
---|
3 | # See the file "LICENSE" for more information
|
---|
4 |
|
---|
5 | parent.0 = ../../steadystate/steadystate.params
|
---|
6 | parent.1 = ./noerc.params
|
---|
7 |
|
---|
8 | breed.reproduce.source.0 = ec.steadystate.MyDoubleTournamentSelection
|
---|
9 | gp.koza.xover.source.0 = ec.steadystate.MyDoubleTournamentSelection
|
---|
10 | select.my-double-tournament.do-length-first = true
|
---|
11 | select.my-double-tournament.size = 1.4
|
---|
12 | select.my-double-tournament.size2 = 7
|
---|
13 |
|
---|
14 | # 0. By default, the "deselector" (the selection operator
|
---|
15 | # responsible for determining who in the population will
|
---|
16 | # die) is tournament selection of size 1 -- that is,
|
---|
17 | # random selection. Let's say you'd like it to be more
|
---|
18 | # aggressive, say, tournament selection of size 2, picking
|
---|
19 | # the worse individual. You can do that like this:
|
---|
20 | #
|
---|
21 | # steady.deselector.0.size = 2
|
---|
22 | #
|
---|
23 | # Or much more aggressive:
|
---|
24 | #
|
---|
25 | # steady.deselector.0.size = 7
|
---|
26 | #
|
---|
27 | # You can change the deselector entirely but it needs
|
---|
28 | # to be of SteadyStateBreedingSourceForm, and the most
|
---|
29 | # obvous choice (the classic for Steady State GA's,
|
---|
30 | # BestSelection set to pick-worst) is actually not of
|
---|
31 | # this form because it's expensive to scan through the
|
---|
32 | # whole population each time.
|
---|
33 |
|
---|
34 | # 1. By default, the steady-state evolution runs for some
|
---|
35 | # number of *generations*, where a generation is defined
|
---|
36 | # as the time in which N individuals are evaluated, where
|
---|
37 | # N is the size of subpopulation 0. The first generation
|
---|
38 | # is of course special as all the individuals are
|
---|
39 | # evaluated together. Subsequent "generations" are just
|
---|
40 | # however long it takes for N more individuals to be
|
---|
41 | # evaluated. You can change the run-length from being
|
---|
42 | # based on generations to being based on number of
|
---|
43 | # evaluations if you want something more precise. To do
|
---|
44 | # that you'd set:
|
---|
45 | #
|
---|
46 | # evaluations = ...
|
---|
47 | #
|
---|
48 | # Which says how many evaluations you want. Obviously
|
---|
49 | # this must be larger than the initial population size...
|
---|
50 |
|
---|
51 | # 2. When you run in its current form, this parameter
|
---|
52 | # file will cause the system to complain that you didn't
|
---|
53 | # provide a SteadyStateStatistics object. This is okay,
|
---|
54 | # but you may not get the statistics you expect. For
|
---|
55 | # more information, see SteadyStateEvolutionState
|
---|
56 |
|
---|
57 | # statistics = ...
|
---|
58 |
|
---|
59 | # 3. You want to specify whether or not to allow any
|
---|
60 | # children to enter the population if they are identical
|
---|
61 | # to some existing member of the population. Disallowing
|
---|
62 | # duplicates in this way is the traditional approach to
|
---|
63 | # steady-state evolution. At present, each time we
|
---|
64 | # need to make an individual, we try up to 100 times to
|
---|
65 | # create one that's not a duplicate. You can change
|
---|
66 | # the number of times to retry (or set to 0 to not
|
---|
67 | # retry) by changing this parameter:
|
---|
68 |
|
---|
69 | # steady.duplicate-retries = ...
|
---|
70 |
|
---|