183 lines
12 KiB
TeX
183 lines
12 KiB
TeX
\hypertarget{classeo_normal_vec_mutation}{}\doxysection{eo\+Normal\+Vec\+Mutation$<$ E\+OT $>$ Class Template Reference}
|
|
\label{classeo_normal_vec_mutation}\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
|
|
|
|
{\ttfamily \#include $<$eo\+Normal\+Mutation.\+h$>$}
|
|
|
|
|
|
|
|
Inheritance diagram for eo\+Normal\+Vec\+Mutation$<$ E\+OT $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{classeo_normal_vec_mutation__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
|
|
|
|
Collaboration diagram for eo\+Normal\+Vec\+Mutation$<$ E\+OT $>$\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[width=350pt]{classeo_normal_vec_mutation__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\doxysubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}{eo\+Normal\+Vec\+Mutation}} (double \+\_\+sigma, const double \&\+\_\+p\+\_\+change=1.\+0)
|
|
\item
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}{eo\+Normal\+Vec\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, double \+\_\+sigma, const double \&\+\_\+p\+\_\+change=1.\+0)
|
|
\item
|
|
virtual std\+::string \mbox{\hyperlink{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}{class\+Name}} () const
|
|
\item
|
|
bool \mbox{\hyperlink{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
|
|
\item
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}{eo\+Normal\+Vec\+Mutation}} (double \+\_\+sigma, const double \&\+\_\+p\+\_\+change=1.\+0)
|
|
\item
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}{eo\+Normal\+Vec\+Mutation}} (\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&\+\_\+bounds, double \+\_\+sigma, const double \&\+\_\+p\+\_\+change=1.\+0)
|
|
\item
|
|
virtual std\+::string \mbox{\hyperlink{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}{class\+Name}} () const
|
|
\item
|
|
bool \mbox{\hyperlink{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}{operator()}} (\mbox{\hyperlink{struct_dummy}{E\+OT}} \&\+\_\+eo)
|
|
\end{DoxyCompactItemize}
|
|
\doxysubsection*{Additional Inherited Members}
|
|
|
|
|
|
\doxysubsection{Detailed Description}
|
|
\subsubsection*{template$<$class E\+OT$>$\newline
|
|
class eo\+Normal\+Vec\+Mutation$<$ E\+O\+T $>$}
|
|
|
|
Simple normal mutation of a std\+::vector of real values. The st\+Dev is fixed -\/ but it is passed ans stored as a reference, to enable dynamic mutations (see eo\+Oen\+Fith\+Mutation below).
|
|
|
|
As for the bounds, the values are here folded back into the bounds. The other possiblity would be to iterate until we fall inside the bounds -\/ but this sometimes takes a long time!!!
|
|
|
|
\doxysubsection{Constructor \& Destructor Documentation}
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}\label{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!eoNormalVecMutation@{eoNormalVecMutation}}
|
|
\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoNormalVecMutation()}{eoNormalVecMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}} (\begin{DoxyParamCaption}\item[{double}]{\+\_\+sigma, }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
(Default) Constructor. The bounds are initialized with the global object that says\+: no bounds.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+sigma} & the range for uniform nutation \\
|
|
\hline
|
|
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}\label{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!eoNormalVecMutation@{eoNormalVecMutation}}
|
|
\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoNormalVecMutation()}{eoNormalVecMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds, }\item[{double}]{\+\_\+sigma, }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Constructor with bounds
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
|
|
\hline
|
|
{\em \+\_\+sigma} & the range for uniform nutation \\
|
|
\hline
|
|
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
for each component, the sigma is scaled to the range of the bound, if bounded \mbox{\Hypertarget{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}\label{classeo_normal_vec_mutation_ac98e60d4c6ae04c698653ddd75bee879}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!eoNormalVecMutation@{eoNormalVecMutation}}
|
|
\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoNormalVecMutation()}{eoNormalVecMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}} (\begin{DoxyParamCaption}\item[{double}]{\+\_\+sigma, }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
(Default) Constructor. The bounds are initialized with the global object that says\+: no bounds.
|
|
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+sigma} & the range for uniform nutation \\
|
|
\hline
|
|
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}\label{classeo_normal_vec_mutation_afddd97194c2fb0c2a3a603cc1587a31d}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!eoNormalVecMutation@{eoNormalVecMutation}}
|
|
\index{eoNormalVecMutation@{eoNormalVecMutation}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{eoNormalVecMutation()}{eoNormalVecMutation()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::\mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}} (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} \&}]{\+\_\+bounds, }\item[{double}]{\+\_\+sigma, }\item[{const double \&}]{\+\_\+p\+\_\+change = {\ttfamily 1.0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
|
|
|
Constructor with bounds
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+bounds} & an \mbox{\hyperlink{classeo_real_vector_bounds}{eo\+Real\+Vector\+Bounds}} that contains the bounds \\
|
|
\hline
|
|
{\em \+\_\+sigma} & the range for uniform nutation \\
|
|
\hline
|
|
{\em \+\_\+p\+\_\+change} & the probability to change a given coordinate\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
for each component, the sigma is scaled to the range of the bound, if bounded
|
|
|
|
\doxysubsection{Member Function Documentation}
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}\label{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!className@{className}}
|
|
\index{className@{className}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
virtual std\+::string \mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
The class name
|
|
|
|
Reimplemented from \mbox{\hyperlink{classeo_functor_base}{eo\+Functor\+Base}}.
|
|
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}\label{classeo_normal_vec_mutation_a11cd91363f404ddd7e3aab6514a22f92}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!className@{className}}
|
|
\index{className@{className}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{className()}{className()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
virtual std\+::string \mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::class\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
The class name
|
|
|
|
Reimplemented from \mbox{\hyperlink{classeo_functor_base}{eo\+Functor\+Base}}.
|
|
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}\label{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
bool \mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+eo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
Do it!
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+eo} & The cromosome undergoing the mutation \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ E\+O\+T \&, bool $>$}}.
|
|
|
|
\mbox{\Hypertarget{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}\label{classeo_normal_vec_mutation_a1686a58aa50f3a80d94797fd093dcafe}}
|
|
\index{eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}!operator()@{operator()}}
|
|
\index{operator()@{operator()}!eoNormalVecMutation$<$ EOT $>$@{eoNormalVecMutation$<$ EOT $>$}}
|
|
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
|
{\footnotesize\ttfamily template$<$class E\+OT $>$ \\
|
|
bool \mbox{\hyperlink{classeo_normal_vec_mutation}{eo\+Normal\+Vec\+Mutation}}$<$ \mbox{\hyperlink{struct_dummy}{E\+OT}} $>$\+::operator() (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{struct_dummy}{E\+OT}} \&}]{\+\_\+eo }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}
|
|
|
|
Do it!
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em \+\_\+eo} & The cromosome undergoing the mutation \\
|
|
\hline
|
|
\end{DoxyParams}
|
|
|
|
|
|
Implements \mbox{\hyperlink{classeo_u_f_a786e028409366dc273e19104f17ba68a}{eo\+U\+F$<$ E\+O\+T \&, bool $>$}}.
|
|
|
|
|
|
|
|
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
|
|
\item
|
|
deprecated/eo/src/es/eo\+Normal\+Mutation.\+h\end{DoxyCompactItemize}
|