source: java/ecj/framsticks/FramsticksMutationPipeline.java @ 48

Last change on this file since 48 was 44, checked in by mszubert, 14 years ago

cecj, framsticks and games packages imported

File size: 1011 bytes
Line 
1package framsticks;
2
3import ec.BreedingPipeline;
4import ec.EvolutionState;
5import ec.Individual;
6import ec.util.Parameter;
7
8public class FramsticksMutationPipeline extends BreedingPipeline {
9
10        public static final String P_MUTATION = "mutate";
11        public static final int NUM_SOURCES = 1;
12
13        @Override
14        public int numSources() {
15                return NUM_SOURCES;
16        }
17
18        @Override
19        public int produce(int min, int max, int start, int subpopulation, Individual[] inds,
20                        EvolutionState state, int thread) {
21                int n = sources[0].produce(min, max, start, subpopulation, inds, state, thread);
22
23                if (!(sources[0] instanceof BreedingPipeline))
24                        for (int q = start; q < n + start; q++)
25                                inds[q] = (Individual) (inds[q].clone());
26
27                for (int q = start; q < n + start; q++) {
28                        ((FramsticksIndividual) inds[q]).mutate(state);
29                        ((FramsticksIndividual) inds[q]).evaluated = false;
30                }
31
32                return n;
33        }
34
35        public Parameter defaultBase() {
36                return FramsticksDefaults.base().push(P_MUTATION);
37        }
38}
Note: See TracBrowser for help on using the repository browser.