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