1 |
|
---|
2 | # Copyright 2010 by Sean Luke and George Mason University
|
---|
3 | # Licensed under the Academic Free License version 3.0
|
---|
4 | # See the file "LICENSE" for more information
|
---|
5 |
|
---|
6 | # We don't include koza.params as a parent here -- doing so creates
|
---|
7 | # lots of parameter file inheritance problems. Instead you should
|
---|
8 | # include this parameter file FIRST, and then include something
|
---|
9 | # which ultimately includes the koza.params parameter file later.
|
---|
10 |
|
---|
11 |
|
---|
12 | # The problem is redefined as a GEProblem. The ACTUAL problem
|
---|
13 | # will be defined in eval.problem.problem
|
---|
14 |
|
---|
15 | eval.problem = ec.gp.ge.GEProblem
|
---|
16 |
|
---|
17 | # We first define the GESpecies and state that it uses a GrammarParser
|
---|
18 | # by default.
|
---|
19 |
|
---|
20 | pop.subpop.0.species = ec.gp.ge.GESpecies
|
---|
21 | pop.subpop.0.species.parser = ec.gp.ge.GrammarParser
|
---|
22 |
|
---|
23 | # The individual is a GEIndividual
|
---|
24 | pop.subpop.0.species = ec.gp.ge.GESpecies
|
---|
25 | pop.subpop.0.species.ind = ec.gp.ge.GEIndividual
|
---|
26 | pop.subpop.0.species.fitness = ec.gp.koza.KozaFitness
|
---|
27 |
|
---|
28 | # We'll allow 256 possibilities per gene (the maximum anyway
|
---|
29 | # since GEIndividual is a ByteVectorIndividual). Crossover-type
|
---|
30 | # is entirely unused.
|
---|
31 | pop.subpop.0.species.min-gene = -128
|
---|
32 | pop.subpop.0.species.max-gene = 127
|
---|
33 | pop.subpop.0.species.mutation-prob = 0.01
|
---|
34 | # This isn't used at all but we include it here to quiet a warning from ECJ
|
---|
35 | pop.subpop.0.species.crossover-type = one
|
---|
36 |
|
---|
37 |
|
---|
38 | # Individuals are built using geometric series. The minimum allowed
|
---|
39 | # size is 5.
|
---|
40 | pop.subpop.0.species.genome-size = geometric
|
---|
41 | pop.subpop.0.species.geometric-prob = 0.85
|
---|
42 | pop.subpop.0.species.min-initial-size = 5
|
---|
43 |
|
---|
44 |
|
---|
45 | # The following pipeline is fairly arbitrary. You may wish to create
|
---|
46 | # your own pipeline instead.
|
---|
47 |
|
---|
48 | pop.subpop.0.species.pipe = ec.breed.MultiBreedingPipeline
|
---|
49 | pop.subpop.0.species.pipe.num-sources = 3
|
---|
50 |
|
---|
51 | pop.subpop.0.species.pipe.source.0 = ec.vector.breed.ListCrossoverPipeline
|
---|
52 | pop.subpop.0.species.pipe.source.0.source.0 = ec.gp.ge.breed.GETruncationPipeline
|
---|
53 | pop.subpop.0.species.pipe.source.0.source.0.source.0 = ec.select.TournamentSelection
|
---|
54 | pop.subpop.0.species.pipe.source.0.source.1 = same
|
---|
55 | pop.subpop.0.species.pipe.source.0.prob = 0.2
|
---|
56 |
|
---|
57 | pop.subpop.0.species.pipe.source.1 = ec.vector.breed.GeneDuplicationPipeline
|
---|
58 | pop.subpop.0.species.pipe.source.1.source.0 = ec.gp.ge.breed.GETruncationPipeline
|
---|
59 | pop.subpop.0.species.pipe.source.1.source.0.source.0 = ec.select.TournamentSelection
|
---|
60 | pop.subpop.0.species.pipe.source.1.prob = 0.55
|
---|
61 |
|
---|
62 | pop.subpop.0.species.pipe.source.2 = ec.vector.breed.VectorMutationPipeline
|
---|
63 | pop.subpop.0.species.pipe.source.2.source.0 = ec.select.TournamentSelection
|
---|
64 | pop.subpop.0.species.pipe.source.2.prob = 0.05
|
---|
65 |
|
---|
66 | # This does a nice job but we're getting rid of it for now
|
---|
67 | #breed.elite.0 = 1
|
---|
68 |
|
---|
69 | select.tournament.size = 7
|
---|
70 |
|
---|
71 |
|
---|
72 |
|
---|
73 |
|
---|
74 |
|
---|
75 | # Build the dummy GP Individual information. This stuff is necessary to convince
|
---|
76 | # GP that all is well and good with the trees that GE is creating and handing to
|
---|
77 | # GP to evaluate.
|
---|
78 |
|
---|
79 | pop.subpop.0.species.gp-species = ec.gp.GPSpecies
|
---|
80 | pop.subpop.0.species.gp-species.fitness = ec.gp.koza.KozaFitness
|
---|
81 | pop.subpop.0.species.gp-species.ind = ec.gp.GPIndividual
|
---|
82 | pop.subpop.0.species.gp-species.ind.numtrees = 1
|
---|
83 | pop.subpop.0.species.gp-species.ind.tree.0 = ec.gp.GPTree
|
---|
84 | pop.subpop.0.species.gp-species.ind.tree.0.tc = tc0
|
---|
85 | # We'll never use this, so let's set it to Reproduction, which is simple
|
---|
86 | pop.subpop.0.species.gp-species.pipe = ec.breed.ReproductionPipeline
|
---|
87 | pop.subpop.0.species.gp-species.pipe.num-sources = 1
|
---|
88 | pop.subpop.0.species.gp-species.pipe.source.0 = ec.select.TournamentSelection
|
---|
89 |
|
---|