git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@40 331e1502-861f-0410-8da2-ba01fb791d7f
114 lines
3.2 KiB
Groff
114 lines
3.2 KiB
Groff
.TH "eoOneFifthMutation" 3 "19 Oct 2006" "Version 0.9.4-cvs" "EO" \" -*- nroff -*-
|
|
.ad l
|
|
.nh
|
|
.SH NAME
|
|
eoOneFifthMutation \- the dynamic version: just say it is updatable - and write the \fBupdate()\fP method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !)
|
|
|
|
.PP
|
|
.SH SYNOPSIS
|
|
.br
|
|
.PP
|
|
\fC#include <eoNormalMutation.h>\fP
|
|
.PP
|
|
Inherits \fBeoNormalMutation< EOT >< EOT >\fP, and \fBeoUpdatable\fP.
|
|
.PP
|
|
.SS "Public Types"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "typedef EOT::Fitness \fBFitness\fP"
|
|
.br
|
|
.in -1c
|
|
.SS "Public Member Functions"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBeoOneFifthMutation\fP (\fBeoEvalFunc\fP< \fBEOT\fP > &_eval, double &_sigmaInit, unsigned _windowSize=10, double _updateFactor=0.83, double _threshold=0.2)"
|
|
.br
|
|
.RI "\fI(Default) Constructor. \fP"
|
|
.ti -1c
|
|
.RI "virtual std::string \fBclassName\fP () const "
|
|
.br
|
|
.RI "\fIThe class name. \fP"
|
|
.ti -1c
|
|
.RI "bool \fBoperator()\fP (\fBEOT\fP &_eo)"
|
|
.br
|
|
.RI "\fIDo it! calls the standard mutation, then checks for success and updates stats. \fP"
|
|
.ti -1c
|
|
.RI "void \fBupdate\fP ()"
|
|
.br
|
|
.RI "\fIthe method that will be called every generation if the object is added to the checkpoint \fP"
|
|
.in -1c
|
|
.SS "Private Attributes"
|
|
|
|
.in +1c
|
|
.ti -1c
|
|
.RI "\fBeoEvalFunc\fP< \fBEOT\fP > & \fBeval\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "double \fBthreshold\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "double \fBupdateFactor\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "std::vector< unsigned > \fBnbMut\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "std::vector< unsigned > \fBnbSuccess\fP"
|
|
.br
|
|
.ti -1c
|
|
.RI "unsigned \fBgenIndex\fP"
|
|
.br
|
|
.in -1c
|
|
.SH "Detailed Description"
|
|
.PP
|
|
|
|
.SS "template<class EOT> class eoOneFifthMutation< EOT >"
|
|
the dynamic version: just say it is updatable - and write the \fBupdate()\fP method! here the 1 fifth rule: count the proportion of successful mutations, and increase sigma if more than threshold (1/5 !)
|
|
.PP
|
|
Definition at line 177 of file eoNormalMutation.h.
|
|
.SH "Constructor & Destructor Documentation"
|
|
.PP
|
|
.SS "template<class EOT> \fBeoOneFifthMutation\fP< \fBEOT\fP >::\fBeoOneFifthMutation\fP (\fBeoEvalFunc\fP< \fBEOT\fP > & _eval, double & _sigmaInit, unsigned _windowSize = \fC10\fP, double _updateFactor = \fC0.83\fP, double _threshold = \fC0.2\fP)\fC [inline]\fP"
|
|
.PP
|
|
(Default) Constructor.
|
|
.PP
|
|
\fBParameters:\fP
|
|
.RS 4
|
|
\fIeval\fP the evaluation function, needed to recompute the fitmess
|
|
.br
|
|
\fI_sigmaInit\fP the initial value for uniform mutation
|
|
.br
|
|
\fI_windowSize\fP the size of the window for statistics
|
|
.br
|
|
\fI_threshold\fP the threshold (the 1/5 - 0.2)
|
|
.br
|
|
\fI_updateFactor\fP multiplicative update factor for sigma
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Definition at line 195 of file eoNormalMutation.h.
|
|
.SH "Member Function Documentation"
|
|
.PP
|
|
.SS "template<class EOT> bool \fBeoOneFifthMutation\fP< \fBEOT\fP >::operator() (\fBEOT\fP & _eo)\fC [inline, virtual]\fP"
|
|
.PP
|
|
Do it! calls the standard mutation, then checks for success and updates stats.
|
|
.PP
|
|
\fBParameters:\fP
|
|
.RS 4
|
|
\fI_eo\fP The chromosome undergoing the mutation
|
|
.RE
|
|
.PP
|
|
|
|
.PP
|
|
Reimplemented from \fBeoNormalMutation< EOT >\fP.
|
|
.PP
|
|
Definition at line 216 of file eoNormalMutation.h.
|
|
.PP
|
|
References EO< F >::fitness(), EO< F >::invalid(), EO< F >::invalidate(), and eoNormalMutation< EOT >::operator()().
|
|
|
|
.SH "Author"
|
|
.PP
|
|
Generated automatically by Doxygen for EO from the source code.
|