GA - 1.2.0
Utilities
Configuration
GA
NNFW
WorldSim
Total 99%
Experiments
Main Page
Related Pages
Modules
Classes
Files
File List
ga
include
gas
stefanosteadystatega.h
1
/********************************************************************************
2
* FARSA Genetic Algorithm Library *
3
* Copyright (C) 2007-2009 Gianluca Massera <emmegian@yahoo.it> *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the Free Software *
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
18
********************************************************************************/
19
20
#ifndef STEFANOSTEADYSTATEGA_H
21
#define STEFANOSTEADYSTATEGA_H
22
23
#include "
gaconfig.h
"
24
#include "core/geneticalgo.h"
25
#include "core/mutation.h"
26
#include <QList>
27
28
namespace
farsa {
29
30
class
Evaluation;
31
class
Reproduction;
32
41
class
FARSA_GA_API
StefanoSteadyStateGA
:
public
GeneticAlgo
{
42
public
:
44
StefanoSteadyStateGA
();
46
virtual
~
StefanoSteadyStateGA
();
47
49
void
setEvaluation(
Evaluation
* fitfunc );
54
virtual
Evaluation
* evaluationPrototype();
56
virtual
QVector<Evaluation*> evaluationPool();
58
void
setMutation(
Mutation
* mutation );
60
Mutation
* mutation();
63
virtual
void
initialize();
65
virtual
void
gaStep();
67
virtual
void
finalize();
68
73
virtual
void
skipEvaluation();
74
82
virtual
void
configure(
ConfigurationParameters
& params, QString prefix );
89
virtual
void
save(
ConfigurationParameters
& params, QString prefix );
91
static
void
describe( QString );
92
93
protected
:
95
Evaluation
*
fitfunc
;
97
Mutation
*
muta
;
99
typedef
enum
{initParent, evalParent, initOffspring, evalOffspring, compareOffspring, nextGeneration, endEvolution} GAPhases;
101
GAPhases
curPhase
;
103
unsigned
int
curGenotype
;
105
bool
isInitialized
;
107
bool
isFinalized
;
109
QVector<unsigned int>
numEvaluations
;
112
QVector<double>
cumulatedFitness
;
114
Genotype
*
offspring
;
115
};
116
117
}
// end namespace farsa
118
119
#endif