Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
IMutationStrategy.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2008-2011 LpzRobots development team *
3
* Joerg Weider <joergweide84 at aol dot com> (robot12) *
4
* Georg Martius <georg dot martius at web dot de> *
5
* Frank Guettler <guettler at informatik dot uni-leipzig dot de *
6
* Frank Hesse <frank at nld dot ds dot mpg dot de> *
7
* Ralf Der <ralfder at mis dot mpg dot de> *
8
* Joern Hoffmann <jhoffmann at informatik dot uni-leipzig dot de *
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
* This program is distributed in the hope that it will be useful, *
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
18
* GNU General Public License for more details. *
19
* *
20
* You should have received a copy of the GNU General Public License *
21
* along with this program; if not, write to the *
22
* Free Software Foundation, Inc., *
23
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
24
* *
25
***************************************************************************/
26
27
#ifndef IMUTATIONSTRATEGY_H_
28
#define IMUTATIONSTRATEGY_H_
29
30
//forward declarations
31
class
Gen
;
32
class
GenContext
;
33
class
Individual
;
34
class
SingletonGenFactory
;
35
36
/**
37
* This interface gives the structur for the mutation of a gen.
38
*/
39
class
IMutationStrategy
{
40
public
:
41
/**
42
* default constructor
43
*/
44
IMutationStrategy
();
45
46
/**
47
* default destructor
48
*/
49
virtual
~IMutationStrategy
();
50
51
/**
52
* mutate a gen
53
* @param context (GenContext*) the context in which the new gen comes (needed by the factory
54
* @param individual (Individual*) the individual, which the new gen becomes
55
* @param oldGen (Gen*) the old gen, which mutate
56
* @param oldContext (GenContext*) the Context in which the old gen are.
57
* @param factory (SingletonGenFactory*) the GenFactory which create the new gen.
58
* @return (Gen*) the new mutated gen
59
*/
60
virtual
Gen
*
mutate
(
GenContext
* context,
Individual
* individual,
Gen
* oldGen,
GenContext
* oldContext,
SingletonGenFactory
* factory) = 0;
61
62
/**
63
* gives the Probability of a mutation back.
64
* @return
65
*/
66
virtual
int
getMutationProbability
(
void
) = 0;
67
};
68
69
#endif
/* IMUTATIONSTRATEGY_H_ */
SingletonGenFactory
This is the factory for the class Gen.
Definition:
SingletonGenFactory.h:43
IMutationStrategy
This interface gives the structur for the mutation of a gen.
Definition:
IMutationStrategy.h:39
Gen
The Gen class.
Definition:
Gen.h:51
GenContext
The GenContext class.
Definition:
GenContext.h:51
IMutationStrategy::mutate
virtual Gen * mutate(GenContext *context, Individual *individual, Gen *oldGen, GenContext *oldContext, SingletonGenFactory *factory)=0
mutate a gen
IMutationStrategy::IMutationStrategy
IMutationStrategy()
default constructor
Definition:
IMutationStrategy.cpp:29
IMutationStrategy::~IMutationStrategy
virtual ~IMutationStrategy()
default destructor
Definition:
IMutationStrategy.cpp:33
IMutationStrategy::getMutationProbability
virtual int getMutationProbability(void)=0
gives the Probability of a mutation back.
Individual
This class represent one individual of the complete gen.
Definition:
Individual.h:45
ga_tools
MutationStrategies
IMutationStrategy.h
Generated on Mon Jan 12 2015 09:40:56 for Robot Simulator of the Robotics Group for Self-Organization of Control by
1.8.6